2017-11-13 10 views
0

私たちのベンダーは、配備のために不可解なプレイブックとスクリプトを送ってくれました。可能な在庫グループについては、 ansible mgm -i inventories/vrxinventory -m shell -a 'ping http://10.33.63.66/vrx/' -u user -k -vなど、一部のIPの可用性を確認する必要があります。 環境によって、宛先が変更されています。 pingするこれらの宛先IPは、グループ変数.ymlファイルにあります。不可能:コマンドラインからgroup vars .ymlファイルを取り入れる

このgroup_var.ymlファイルの変数は、コマンドラインで次のように使用できますか: ansible mgm -i inventories/vrxinventory -m shell -a "ping {{ vrm_repo_url }}" -u user -k -v

私は実際に、CIの中でsed/awkを使ってプレイブックの変更を混乱させたくありません。

+1

'ping http:// 10.33.63.66/vrx /'コマンドは見たことがありません - どのように動作しますか? – techraf

答えて

1

のようなコマンドラインから、このgroup_var.ymlファイルから変数を使用することが可能です:ansible mgm -i inventories/vrxinventory -m shell -a "ping {{ vrm_repo_url }}" -u user -k -v

  1. はい、グループ変数は、アドホックコマンドのためansibleコマンドによって読み込まれます。

  2. いいえ、それはAnsibleでping {{ vrm_repo_url }}shellスルーモジュール実行する意味がない(これはパラメータで緩和することができる)ため、デフォルトping実行によって無限に、まず

    • と、
    • pingコマンドの出力が表示されないためです。あなたが最も可能性の高い使用することです欲しい

  • wait_for moduleconnect_timeoutパラメータをターゲットといくつかの他のマシン間の接続性を確認すること。

  • またはget_url module(ウェブサービスの可用性を確認しているようですが)

+0

アドホックコマンド中にymlファイルの変数を使用する方法についてもっと詳しく教えてください。 – DimonVersace

+0

'ping {{vrm_repo_url}}'を 'echo {{vrm_repo_url}}>/tmp/result.txt'に置き換え、ファイルの内容を確認してください。あなたがプレイブックでそれらを使用していた場合と同じように、グループ変数に定義された値を取得する必要があります。 – techraf

+0

アドホックコマンドの実行中にこの 'group_var' ymlファイルを使用する方法は?あなたの例では、すでに変数を使用していますが、この変数ファイルを添付するために使用する必要がある 'ansible'コマンドのフラグはどれですか? – DimonVersace

関連する問題