2017-03-29 5 views
-3

私はできるだけ早くPOSTリクエストを行う必要があります。可能:プレイズブックでhosts.iniのホストアドレスを使用してください

マイhosts.iniファイルは次のとおりです。

[workers] 
worker1 ansible_host=111.111.111.111 
worker2 ansible_host=222.222.222.222 

私はニーズにworker1のIPアドレスを接続する必要があり、私のように私の脚本を書いたURL:私が得る、

- hosts: worker1 

    tasks: 
    - name: inizialize worker           
    uri: 
     url: "http://{{ worker1 }}:8080/xxx/yyy" 
     method: POST 
     user: admin 
     password: password 
     force_basic_auth: yes 
     return_content: yes 
     body: "field=myfield" 

しかし、それを実行しています:

フィールド 'args'には無効な値があり、未定義の変数が含まれているようです。エラーは 'worker1'は定義されていません

問題はどこですか?

答えて

0

worker1という名前の変数が定義されていません。

あなたは111.111.111.111で値を交換したい場合、あなたはmagic variablesを使用する必要があります。

url: "http://{{ hostvars['worker1']['ansible_host'] }}:8080/xxx/yyy" 

が、あなたの全体のプレイを考慮し、あなたにも望んでいたかもしれません:

url: "http://{{ ansible_host }}:8080/xxx/yyy" 

マインドことあなたのインベントリファイルはworkersという名前のホストグループを定義し、あなたのプレイはworker1という名前のホストグループを参照します。これは意味をなさないものです。

関連する問題