X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Fvm-install.yml;h=c244aa95f4689cd073e1a8d3a647b2b3c1628525;hb=9b15322254a2da865b0881f9d7cbb380fb2a9bf8;hp=e82aa33cb5b64600995264e09f7c3c2216569813;hpb=cada7766cb94b291b214784fa717f874db922d57;p=noc.git diff --git a/ansible/vm-install.yml b/ansible/vm-install.yml index e82aa33..c244aa9 100644 --- a/ansible/vm-install.yml +++ b/ansible/vm-install.yml @@ -1,19 +1,56 @@ --- -- name: Basic Installation - hosts: "{{ vmname }}" +- name: preperations and sanity checks + hosts: "{{ hostname }}" gather_facts: no + tasks: + - name: setup variables + set_fact: + network_cooked: "{{ network }}" + install_cooked: "{{ install }}" + - name: create temporary host group for vm host + add_host: + name: "{{ vm_host }}" + inventory_dir: "{{inventory_dir}}" + group: _vmhost_ + # TODO: add some sanity checks + +- import_playbook: remove_known_hosts.yml + +- name: basic installation + hosts: _vmhost_ + roles: + - role: vm/install + +- name: wait for new vm to start up + hosts: "{{ 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: wait for vm to start up + wait_for_connection: + delay: 5 + timeout: 120 + - name: reenable StrictHostKeyChecking + set_fact: + ansible_ssh_extra_args: "" + +- name: Apply VM configuration roles + hosts: "{{ hostname }}" pre_tasks: - - name: Gather facts of vm host + - name: make sure to update cached facts setup: - delegate_to: "{{ vm_install.host }}" - delegate_facts: yes roles: - - role: vm-install + - role: vm/grub + - role: vm/network + - role: vm/guest -- import_playbook: "host_playbooks/{{ vmname }}.yml" +- import_playbook: "host_playbooks/{{ hostname }}.yml" -- name: Reboot and wait for VM come back - hosts: "{{ vmname }}" +- name: reboot and wait for VM come back + hosts: "{{ hostname }}" gather_facts: no roles: - role: reboot-and-wait