2017-05-04 14 views
1

私は、ホスト情報を素早く取得するために、「不可能な」アドホックコマンドを利用するpythonスクリプトを持っています。私は別のVPCにあるホストに関する情報を収集しようとしてるの警告を抑制するように、しかし、すべてのインスタンスを見つけるために使用される次のコマンドに示したい:以下 可能性のある特別な警告を抑制する

aws ec2 describe-instances 

はPythonのスニペットがありますI ansibleアドホックコマンドを作成し、生成するために使用しています:私はシェルモジュールの設定プレイブックであることを理解

command_string = "ansible -i /repo/ansible/inventory/"+env+"/hosts " + name + " -m shell -a 'df -h'" 
result = subprocess.Popen(command_string, shell=True, stdout=subprocess.PIPE).stdout.read() 

warn=no 

警告を無効にしますが、私はテスト下記参照、アドホック経由でそうする方法を見つけ出すように見えることはできません。

[[email protected] 10.0.5.xxx:~] ansible -i /repo/ansible/inventory/nqa/hosts 10.19.1.17 -m shell -a 'warn=no' 
[WARNING]: No hosts matched, nothing to do 

[[email protected] 10.0.5.xxx:~] ansible -i /repo/ansible/inventory/nqa/hosts 10.19.1.17 -m shell -a 'warn=false' 
[WARNING]: No hosts matched, nothing to do 

私の完全なスクリプトの出力は次のようになります。

i-xxxxxx 
    my-super-cool-box 
    t2.small True 
    10.0.0.10 
    vol-xxxxxxx 
    100 
    i-xxxxxxx 
    /dev/xvdf 


[WARNING]: No hosts matched, nothing to do 
[WARNING]: No hosts matched, nothing to do 
[WARNING]: No hosts matched, nothing to do 

についての印刷された情報特定のインスタンスが正しいと私が探しているのは、グローバルな設定を変更することなくその警告を抑制する方法です。

+0

のhttp:/ /docs.ansible.com/ansible/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script – BMW

答えて

1

この警告は、command/shellモジュールの警告とは何も共通していません。これはwarn: noで制御できます。

この警告は、在庫のホストと一致しないホストパターンを指定すると、adhoc CLIによって表示されます。

ホストで10.19.1.17/repo/ansible/inventory/nqa/hostsの在庫に定義されていないため、何もする必要がないことを警告します。

どちらかあなたの静的な在庫ファイル内に存在する、またはセットアップec2 dynamic inventoryやタグ、security_groupはすべてのEC2インスタンスまたはフィルタに対してAnsibleを実行しないホストとAnsibleを実行していることを確認し、などを使用することを考える

関連する問題