diff options
Diffstat (limited to 'xci/playbooks/roles/create-nodes/tasks')
-rw-r--r-- | xci/playbooks/roles/create-nodes/tasks/create_vm.yml | 2 | ||||
-rw-r--r-- | xci/playbooks/roles/create-nodes/tasks/main.yml | 2 | ||||
-rw-r--r-- | xci/playbooks/roles/create-nodes/tasks/prepare_libvirt.yml | 26 |
3 files changed, 20 insertions, 10 deletions
diff --git a/xci/playbooks/roles/create-nodes/tasks/create_vm.yml b/xci/playbooks/roles/create-nodes/tasks/create_vm.yml index 4afb71cf..bca5b483 100644 --- a/xci/playbooks/roles/create-nodes/tasks/create_vm.yml +++ b/xci/playbooks/roles/create-nodes/tasks/create_vm.yml @@ -35,7 +35,7 @@ path: "{{ opnfv_image_path }}/{{ vm_name }}.qcow2" register: _vm_volume_prepared - - name: Resize opnfv VM image to {{ item.disks[0].disk_capacity }} + - name: Resize opnfv VM image to {{ item.1.disks[0].disk_capacity }} command: "qemu-img resize {{ opnfv_image_path }}/opnfv.qcow2 {{ item.1.disks[0].disk_capacity }}" when: - vm_name == 'opnfv' diff --git a/xci/playbooks/roles/create-nodes/tasks/main.yml b/xci/playbooks/roles/create-nodes/tasks/main.yml index 64857d80..18bc9871 100644 --- a/xci/playbooks/roles/create-nodes/tasks/main.yml +++ b/xci/playbooks/roles/create-nodes/tasks/main.yml @@ -10,6 +10,8 @@ name: "{{ required_packages }}" - include_tasks: prepare_libvirt.yml + with_items: "{{ libvirt_networks }}" + - include_tasks: download_opnfvimage.yml - name: create placeholder var for vm entries in JSON format diff --git a/xci/playbooks/roles/create-nodes/tasks/prepare_libvirt.yml b/xci/playbooks/roles/create-nodes/tasks/prepare_libvirt.yml index 3f49e756..faf19a6f 100644 --- a/xci/playbooks/roles/create-nodes/tasks/prepare_libvirt.yml +++ b/xci/playbooks/roles/create-nodes/tasks/prepare_libvirt.yml @@ -46,15 +46,24 @@ # with the default 192.168.122/0/24 network - name: destroy libvirt network virt_net: - name: "{{ vm_network }}" + name: "{{ item }}" + state: absent + uri: "{{ vm_libvirt_uri }}" + +# Ubuntu creates a default network when installing libvirt. +# This network uses the 192.168.122.0/24 range and thus +# conflicts with our admin network +- name: destroy libvirt network + virt_net: + name: "default" state: absent uri: "{{ vm_libvirt_uri }}" - name: ensure libvirt network is present virt_net: - name: "{{ vm_network }}" + name: "{{ item }}" state: present - xml: "{{ lookup('template', 'net.xml.j2') }}" + xml: "{{ lookup('template', 'net-'+item+'.xml.j2') }}" uri: "{{ vm_libvirt_uri }}" - name: find facts on libvirt networks @@ -62,29 +71,28 @@ command: facts uri: "{{ vm_libvirt_uri }}" -# NOTE(pas-ha) yet another place where non-local libvirt will not work - name: "Delete network interface if virtual network is not active" - command: ip link del {{ ansible_libvirt_networks[vm_network].bridge }} + command: ip link del {{ ansible_libvirt_networks[item].bridge }} when: - - ansible_libvirt_networks[vm_network].state != 'active' + - ansible_libvirt_networks[item].state != 'active' - vm_libvirt_uri == 'qemu:///system' ignore_errors: yes - name: set libvirt network to autostart virt_net: - name: "{{ vm_network }}" + name: "{{ item }}" autostart: yes uri: "{{ vm_libvirt_uri }}" - name: ensure libvirt network is running virt_net: - name: "{{ vm_network }}" + name: "{{ item }}" state: active uri: "{{ vm_libvirt_uri }}" - name: get libvirt network status virt_net: - name: "{{ vm_network }}" + name: "{{ item }}" command: status uri: "{{ vm_libvirt_uri }}" register: test_vm_net_status |