diff options
Diffstat (limited to 'common/vm-install.yml')
-rw-r--r-- | common/vm-install.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/common/vm-install.yml b/common/vm-install.yml new file mode 100644 index 00000000..a6faf827 --- /dev/null +++ b/common/vm-install.yml @@ -0,0 +1,47 @@ +--- +- name: preperations and sanity checks + hosts: "{{ vmname }}" + gather_facts: no + tasks: + - name: setup variables + set_fact: + vm_network_cooked: "{{ vm_network }}" + vm_install_cooked: "{{ vm_install }}" + - name: create temporary host group for vm host + add_host: + name: "{{ vm_install.host }}" + inventory_dir: "{{inventory_dir}}" + group: _vmhost_ + # TODO: add some sanity checks + +- name: basic installation + hosts: _vmhost_ + roles: + - role: vm/install + +- name: wait for new vm to start up + hosts: "{{ vmname }}" + 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: wait for vm to start up + wait_for_connection: + delay: 5 + timeout: 120 + - name: reenable StrictHostKeyChecking + set_fact: + ansible_ssh_extra_args: "" + +### TODO: fix path to host_playbook +##- import_playbook: "host_playbooks/{{ vmname }}.yml" + +- name: reboot and wait for VM come back + hosts: "{{ vmname }}" + gather_facts: no + roles: + - role: reboot-and-wait + reboot_delay: 10 + reboot_timeout: 120 |