summaryrefslogtreecommitdiff
path: root/common/vm-install.yml
diff options
context:
space:
mode:
Diffstat (limited to 'common/vm-install.yml')
-rw-r--r--common/vm-install.yml47
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