2016-04-11 5 views
0

私は、私の会社が使用するいくつかの監視システムのエージェントをインストールして設定するAniableプレイブックを書いています。エージェントの構成に成功するために必要な手順の1つは、nagios.cfgファイルに特定の指令を構成することです。不可能なプレイブック内で2つ以上の可能なパスからファイルパスを検出する正しい方法は何ですか?

nagios.cfgは、インストールされた方法(パッケージマネージャ/ソースから)に基づいて、2つの異なるパスに置くことができます。

2つの関連パスは、次のとおりです。私はAnsibleが何をしたいのか

/usr/local/nagios/etc/nagios.cfg 
/etc/nagios3/nagios.cfg 

は正しいパスを検索し、私は次の設定手順で使用することができます変数に挿入することです。

私はこれを始めました

:私は、変数に、それはそこではない場合は、それを挿入し、それが存在する場合に理解、最初の場所にファイルを記述について考えそうであれば

- stat: path=/usr/local/nagios/etc/nagios.cfg 
    register: nag_conf_usrlocal 
    when: nag_conf_usrlocal.stat.exists 

次のパスはstat'edでなければならず、ファイルが存在する場合、変数はファイルが存在する正しいパスを含むべきです。

どうすればできますか?あなたがやっていること

答えて

0

はそれだけでいくつかの固定を必要とし、間違っていない。

- stat: path=/usr/local/nagios/etc/nagios.cfg 
    register: nag_conf_usrlocal 

- stat: path=/etc/nagios3/nagios.cfg 
    register: nag_conf_etc 
    when: nag_conf_usrlocal.stat.exists 

- set_fact: 
    nagios_path: "/usr/local/nagios/etc/nagios.cfg" 
    when: nag_conf_usrlocal.stat.exists 

- set_fact: 
    nagios_path: "/etc/nagios3/nagios.cfg" 
    when: nag_conf_etc.stat.exists 

これはおそらく最良の解決策ではありませんが、それはあなたにこれを達成することができる方法のoverwiewを与えることです。

関連する問題