--- - name: basic installation hosts: "{{ install_hostname }}" gather_facts: no roles: - role: cloud/install - name: wait for newly installed machine to start up hosts: "{{ install_hostname }}" gather_facts: no tasks: ## TODO: find a better way to fetch host key of new VMs - name: disable ssh StrictHostKeyChecking for the next step set_fact: ansible_ssh_extra_args: -o StrictHostKeyChecking=no - name: clear all gathered facts meta: clear_facts - name: wait for newly installed machine to start up wait_for_connection: delay: 5 timeout: 120 - name: reenable StrictHostKeyChecking set_fact: ansible_ssh_extra_args: "" - name: run post install roles hosts: "{{ install_hostname }}" pre_tasks: - name: make sure to update cached facts setup: roles: - role: cloud/post-install - name: reboot and wait for machine come back hosts: "{{ install_hostname }}" gather_facts: no roles: - role: reboot-and-wait reboot_delay: 10 reboot_timeout: 120 - name: run host playbook vars: params: files: - "../{{ install_environment }}/{{ install_hostname }}.yml" - "../{{ install_environment }}/{{ install_playbook | default('common') }}.yml" import_playbook: "{{ q('first_found', params) | first }}"