2017-03-31 5 views
3

在庫をループするための解決策を見つけるのに問題があります。 私はintentoryファイルのリンクと私の脚本を起動します。ルータを経由してホストをループする

ansible-脚本-i在庫/ dev.yml playbook.yml

私の脚本は、次のようになります。

--- 
- hosts: localhost 
    tasks: 
    - name: Create VM if enviro == true 
     include_role: 
     name: local_vm_creator 
     when: enviro == 'dev' 

ので、プレイブックをロードするときに、変数enviroがhost_varsから読み込まれ、when条件がdevに設定されます。インベントリファイルのdev.ymlは次のようになります。

[local_vm] 
192.168.99.100 
192.168.99.101 
192.168.99.102 

[local_vm_manager_1] 
192.168.99.103 

[local_vm_manager_2] 
192.168.99.104 

[local-all:children] 
local_vm 
local_vm_manager_1 
local_vm_manager_2 
私の役割のlocal_vm_creatorマイmain.ymlはこのようになります

--- 
- name: Create test host 
    local_action: shell docker-machine create -d virtualbox {{ item }} 
    with_items: 
    - node-1 
    - node-2 
    - node-3 
    - node-4 
    - node-5 

- debug: msg="host is {{item}}" 
    with_items: groups['local_vm'] 

そして問題は、私はからリストされたサーバーを得ることができないということですdev.ymlインベントリファイル。

それだけ返し:

OK:[ローカルホスト] =>(項目=基[ 'local_vm'])=> { "項目": "グループ[ 'local_vm']"、 」をMSG ": ":

with_items: "{{ groups['local_vm'] }}" 

、あなたが行ってもいいです唯一の問題はwith_itemsループである、とそれを交換した場合、ホストがグループ[ 'local_vm']"}

答えて

8

です。ベア変数はwith_ではサポートされていません。

+0

ありがとうございました。誰もこの引用をどれだけ知っているべきですか?jesus; -P – Jurudocs

関連する問題