- name: spin UP VM using os_server delegate_to: undercloud01.cloud.fedoraproject.org os_server: state: present security_groups: default nics: - net-id: d18c60b1-bba2-416f-87c3-a4416191bd7c name: "{{ name }}" auth: auth_url: http://172.23.1.52:5000/v2.0 username: "admin" password: "{{newcloud_os_admin_pw}}" project_name: relrod-super-cool-test-project image: fedora-28-cloud-test flavor: test.flavor.blah key_name: fedora-admin-20130801 auto_floating_ip: true userdata: "#cloud-config\ndisable_root: 0" register: instance - name: add it to the special group local_action: add_host hostname="{{ instance.server.accessIPv4 }}" groupname=tmp_just_created - name: mail off about where it is local_action: mail to=codeblock@fedoraproject.org from=ansible-create@fedoraproject.org subject="{{ instance.server.accessIPv4 }}" body="transient cloud instance created on {{ instance.server.accessIPv4 }} name = {{ name }} root_auth_users = {{ root_auth_users }} image = {{ image }}" - name: wait for he host to be hot local_action: wait_for host={{ instance.server.accessIPv4 }} port=22 delay=1 timeout=600 - name: gather ssh host key from new instance local_action: command ssh-keyscan -t rsa {{ instance.server.accessIPv4 }} ignore_errors: True register: hostkey - name: add new ssh host key (you still need to add it to official ssh_host_keys later) local_action: known_hosts path={{item}} key="{{ hostkey.stdout }}" host={{ instance.server.accessIPv4 }} state=present ignore_errors: True with_items: - /root/.ssh/known_hosts - /etc/ssh/ssh_known_hosts # SSH is up and running, however cloud-init still did not deployed ssh keypair # we have to wait some time. 10 sec is usually enough, but not always. - name: waiting for cloud-init pause: seconds=30