2014-05-04 60 views
2

我想創建一個gce instance,然後針對它運行一組任務。ansible創建gce實例,然後對其執行操作

我有以下劇本:

- name: Create instances 
    hosts: localhost 
    tasks: 
    - name: Launch instances 
     local_action: gce instance_names=queue 
        machine_type=f1-micro 
        image=debian-7 
        zone=europe-west1-a 
        tags=queue 
     register: gce 
    - name: Wait for SSH to come up 
     local_action: wait_for host="{{ item.public_ip }}" 
        port=22 
        delay=10 
        timeout=60 
        state=started 
     with_items: "{{ gce.instance_data }}" 
- name: Configure instances 
    hosts: launched 
    sudo: True 
    roles: 
    - my_role_1 
    - my_role_1 

第一個任務(創建實例)工作正常,但是當它到達Configure instances我得到 "skipping: no hosts matched"

我立足從例如這個劇本提供在docs,我假設launched是一個變量,但它看起來不是。

有誰知道如何做到這一點?

回答

2

你從例子劇本缺少「add_hosts」模塊調用:

- name: add_host hostname={{ item.public_ip }} groupname=new_instances 

這將在新推出的主機添加到一個名爲「new_instances」組。將其更改爲「啓動」爲例。

http://docs.ansible.com/guide_gce.html

希望這有助於!

-Tim

+0

等一下,即使它是' - name:'block? – Mxx

+0

讓它工作把上面的「with_items」放在上面:add_host:hostname = {{item.public_ip}} groupname = new_instances – rikAtee

相關問題