42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
# New tasks to spin up instance in https://fed-cloud09.cloud.fedoraproject.org
|
|
|
|
- name: check it out
|
|
local_action: shell nc -d -z -w 5 {{ public_ip }} 22 >>/dev/null
|
|
register: host_is_up
|
|
ignore_errors: true
|
|
|
|
- name: spin UP VM using nova_compute
|
|
sudo: False
|
|
local_action:
|
|
name: "{{ name }}"
|
|
module: nova_compute
|
|
auth_url: "{{os_auth_url}}"
|
|
login_username: "admin"
|
|
login_password: "{{ADMIN_PASS}}"
|
|
login_tenant_name: transitory
|
|
image_id: "{{ image|image_name_to_id('admin', ADMIN_PASS, 'transient', os_auth_url) }}"
|
|
wait_for: 300
|
|
flavor_id: "{{ instance_type|flavor_name_to_id('admin', ADMIN_PASS, 'transient', os_auth_url) }}"
|
|
security_groups: "{{security_group}}"
|
|
key_name: "{{ keypair }}"
|
|
floating_ips:
|
|
- "{{public_ip}}"
|
|
register: nova_result
|
|
when: host_is_up|failed
|
|
|
|
- name: add it to the special group
|
|
local_action: add_host hostname=public_ip groupname=tmp_just_created
|
|
|
|
#- name: mail off about where it is
|
|
# local_action: mail to=sysadmin-main-members@fedoraproject.org from=ansible-create@fedoraproject.org subject={{ public_ip }} msg="cloud instance created on {{ public_ip }}\n {{ hostbase }} {{ root_auth_users }} "
|
|
#
|
|
|
|
- name: wait for he host to be hot
|
|
local_action: wait_for host={{ public_ip }} port=22 delay=1 timeout=600
|
|
when: host_is_up|failed
|
|
|
|
# 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
|
|
when: host_is_up|failed
|