2017-03-14 5 views
0

メモ帳ファイルからIPアドレスを取得するために、ホストサーバーに置かれています。私はメモ帳ファイルに反復し、私にIPアドレスを提供するプレイブックを書く必要があります。さらに私はそれらのサーバーが生きているかどうかを確認するためにpingコマンドを使用します。どのように私はホストに置かれた1つのメモ帳ファイルを繰り返し、ipアドレスをピックアップし、IPが生きているかどうかを確認するためにpingを行うプレイブックを書くことを提案してください。forループを使用して、ホストサーバーに保管されているファイルからIPアドレスを取得し、それらのIPサーバーにpingを実行して、それらが生きているかどうかを確認してください。

これらは、ホストサーバーに配置されたメモ帳ファイルの詳細です。脚本以下

12.82.240.174 wnaca3012is #CLLI 
12.82.240.166 ok3ca3022is #CLLI 
12.82.224.62 dsail301is #CLLI 
12.82.224.70 prail301is #CLLI 

- name: "Fetch the ip of all the servers from hosts.new file" 
    command: for i in `awk '{print $1}' hosts.new` 
      do echo "$i" 
      done 
    args: 
    chdir: "/home/dp794d/" 
    failed_when: "output.rc > 1" 
    register: output 

エラーがある -

fatal: [zlp12036]: FAILED! => {"changed": false, "cmd": "for i in '`awk' '{print $1}' 'hosts.new`' do echo '$i' done", "failed": true, "failed_when_result": true, "msg": "[Errno 2] No such file or directory", "rc": 2} 

致命的な:[zlp12037]:失敗しました! "msg": "[Errno 2]" true "、" failed_when_result ":true"、 "失敗": "失敗"そのようなファイルまたはディレクトリ」、 『RCは:ここでのベストプラクティスの必需品『Blog Post』2}

+1

すでに試したコードのサンプルを共有してください。 –

+0

そして、なぜあなたはそれのためにアナッシブなプレイブックを書く必要がありますか?どのようなユニークな機能はあなたがタスクを容易にすると思いますか? – techraf

+0

プレイブックを参照して、何をする必要があるかを提案してください – nishant

答えて

0

は、私はちょうどansibleから引用残さない』:

ansibleは設計により所望の状態エンジンです。あなたの演技や役割に「コードを書く」ことを試みているなら、あなたは失敗のために自分自身を設定しています。私たちのYAMLベースのプレイブックは、プログラミングのためのものではありませんでした。

このタスクは、テキストファイルを可能なインベントリに変換するシェルスクリプトを使用する方が簡単です。しかし、これはまだまだハックのようです。正確な状況がわからなければ、テキストファイルを解析せずにこれらのipsがどこから来たのか、それを収集する方法を尋ねることをお勧めします。また、(Dynamic Inventories)を見て、実行時にインベントリを作成することもできます。

希望すると便利です。

p.s:これはコメントではありますが、私の評判はすべての質問にコメントするほど高くはありません。

関連する問題