X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=playbooks%2Froles%2Fjump-vm%2Ftasks%2Fmain.yaml;h=c5738c3236ac1d844406c0b3a9590d69c72e04f9;hb=5d28b70edce08ee912c433386599424f8202f303;hp=2c0cc373468bcfba882a5ee606d8998b3aee1b4d;hpb=e34b4d93d5e288bdbb5ec798602ea5e8f1bc3985;p=kuberef.git diff --git a/playbooks/roles/jump-vm/tasks/main.yaml b/playbooks/roles/jump-vm/tasks/main.yaml index 2c0cc37..c5738c3 100644 --- a/playbooks/roles/jump-vm/tasks/main.yaml +++ b/playbooks/roles/jump-vm/tasks/main.yaml @@ -33,6 +33,16 @@ when: jumphost.name in shutdown_vms.list_vms +- name: remove dhcp leases + shell: | + jq 'del( .[] | select(.domain == "{{ jumphost.name }}" or .hostname == "{{ jumphost.name }}"))' /var/lib/libvirt/dnsmasq/virbr0.{{ item }} > /tmp/{{ item }}.tmp + mv /tmp/{{ item }}.tmp /var/lib/libvirt/dnsmasq/virbr0.{{ item }} + with_items: + - status + - macs + become: true + when: deployment_type == 'k8s' + - name: clean workspace file: path: "{{ workspace }}" @@ -71,8 +81,9 @@ - meta-data - name: create config drive - command: "genisoimage -output {{ workspace }}/{{ jumphost.name }}-cidata.iso -volid cidata -joliet -rock \ - {{ workspace }}/user-data {{ workspace }}/meta-data {{ workspace }}/network-config" + command: "genisoimage -output {{ workspace }}/{{ jumphost.name }}-cidata.iso -volid cidata -joliet -rock \ + {{ workspace }}/user-data {{ workspace }}/meta-data \ + {{ workspace + '/network-config' if deployment_type == 'full' else '' }}" # currently commented out because of portability issues between Centos and Ubuntu # - name: setting root password for debugging @@ -85,7 +96,7 @@ --disk path={{ workspace }}/kuberef-jump.qcow2,format=qcow2 \ --disk {{ workspace }}/kuberef-jump-cidata.iso,device=cdrom \ --network network=default,model=virtio,mac='{{ jumphost.interfaces[engine.net_config[engine.public_network].interface].mac_address }}' \ - --network bridge=pxebr,model=rtl8139,mac='{{ jumphost.interfaces[engine.net_config[engine.pxe_network].interface].mac_address }}' \ + {{ '--network bridge=pxebr,model=rtl8139,mac=' + jumphost.interfaces[engine.net_config[engine.pxe_network].interface].mac_address if deployment_type == 'full' else '' }} \ --import --noautoconsole" - name: start jump VM @@ -93,7 +104,20 @@ name: "{{ jumphost.name }}" state: running +- name: wait for ip to be visible + shell: virsh domifaddr "{{ jumphost.name }}" --full | grep "{{ jumphost.interfaces[engine.net_config[engine.public_network].interface].mac_address }}" | awk '{print $4}' | tail -n 1 + register: ipblock + retries: 30 + delay: 1 + until: ipblock.stdout != "" + when: deployment_type == 'k8s' + +- name: store ip + set_fact: + vm_ip: "{{ ipblock.stdout.split('/') }}" + when: deployment_type == 'k8s' + - name: wait for VM to be reachable wait_for: - host: "{{ jumphost.interfaces[idf.net_config[engine.pxe_network].interface].address }}" + host: "{{ ( vm_ip is defined and vm_ip.0 or '' ) if 'k8s' in deployment_type else jumphost.interfaces[idf.net_config[engine.pxe_network].interface].address | default('') }}" port: 22