ansible创建gce实例然后对它执行操作

时间:2014-05-04 01:07:45

标签: ansible ansible-playbook

我想创建一个gce instance,然后针对它运行一组任务。

我有以下剧本:

- 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是一个变量,但看起来并非如此。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:2)

你错过了" add_hosts"来自示例剧本的模块调用:

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

这会将新启动的主机添加到名为" new_instances"的组中。将其更改为"已启动"为你的例子。

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

希望这有帮助!

-Tim