2016-01-22 76 views
1

這是我試圖運行的劇本。add_host的範圍

--- 
# ansible/site.yml 

- hosts: localhost 
    gather_facts: yes 
    connection: local 
    sudo: no 
    roles: 
    - ec2 

- hosts: ec2hosts 
    gather_facts: yes 
    user: ubuntu 
    roles: 
    - supervisor 

這裏是ec2角色的一部分。

--- 
# ansible/roles/ec2/main.yml 

# Provision EC2 instances 
# ... 
    register: ec2 

- name: Add EC2 instances to host groups 
    add_host: hostname={{ item.public_ip }} groups=ec2hosts 
    with_items: ec2.instances 

第一部分工作正常,主機上看起來正確添加,但一旦進入到下一個遊戲,(安裝在新創建的ec2hosts導師),它給了我一個skipping: no hosts matched

那麼爲什麼我的主要手冊不能識別在第一次播放時創建的主機組?

編輯:

Hosts文件。我是否需要在此聲明主機組以使其可以全局訪問?我嘗試刪除[ec2hosts]行以及運行時未將其指定爲庫存文件。

# inventory/hosts 
[local] 
localhost 

[ec2hosts] 

運行它:

ansible-playbook -i ansible/inventory/hosts ansible/site.yml -vvv  

相關的輸出:

... 

TASK [ec2 : Add EC2 instances to host groups] *************************** 

PLAY ******************************************************************* 
skipping: no hosts matched 

PLAY RECAP ************************************************************** 
localhost     : ok=3 changed=0 unreachable=0 failed=0 
+0

您正在運行的是什麼版本的軟件? – Petro026

+0

開發分支,所以> 2 –

+0

你在做什麼應該工作。你能發佈你如何從命令行運行嗎?您的廣告資源是否有現有的ec2hosts羣組?你可以發佈使用-vvvv運行的輸出嗎? – Petro026

回答

1

看起來像你的循環的add_host模塊沒有運行。檢查並確保您的ec2.instances變量已正確填充