diff options
author | Markos Chandras <mchandras@suse.de> | 2018-08-31 09:26:04 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-08-31 09:26:04 +0000 |
commit | e517f2332b0041b03bc936fc82743641357c0898 (patch) | |
tree | 15de61f68836950ebfb5a77d8d36912c478e83d3 /xci/playbooks | |
parent | ba0f4d74ff7505055a1fd911fd40a760a3370baf (diff) | |
parent | d52d5b21a8309537fc30767f4a209f067fc509bb (diff) |
Merge "xci: roles: create-vm-nodes: Always provision VM nodes"
Diffstat (limited to 'xci/playbooks')
-rw-r--r-- | xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml | 29 | ||||
-rw-r--r-- | xci/playbooks/roles/create-vm-nodes/tasks/main.yml | 2 | ||||
-rw-r--r-- | xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 | 10 |
3 files changed, 18 insertions, 23 deletions
diff --git a/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml b/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml index 008e5531..700c6c72 100644 --- a/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml +++ b/xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml @@ -1,13 +1,8 @@ --- -# Create a VM and volume for it, save its MAC address -- shell: "sudo virsh list --all | grep 'shut off' | wc -l" - register: num_vms - - name: "Creating VM" block: - # NOTE(pas-ha) item here refers to name of the vm - set_fact: - vm_name: "{{ node_names[num_vms.stdout | int] }}" + vm_name: "{{ node_names[item.0 | int] }}" - set_fact: vm_log_file: "{{ node_logdir }}/{{ vm_name }}_console.log" @@ -41,7 +36,7 @@ register: _vm_volume_prepared - name: Resize opnfv VM image to {{ item.disks[0].disk_capacity }} - command: "qemu-img resize {{ opnfv_image_path }}/opnfv.qcow2 {{ item.disks[0].disk_capacity }}" + command: "qemu-img resize {{ opnfv_image_path }}/opnfv.qcow2 {{ item.1.disks[0].disk_capacity }}" when: - vm_name == 'opnfv' - _vm_volume_prepared.stat.exists @@ -52,7 +47,7 @@ command: > virsh --connect {{ vm_libvirt_uri }} vol-create-as {{ node_storage_pool }} {{ vm_name }}.qcow2 - {{ item.disks[0].disk_capacity }} + {{ item.1.disks[0].disk_capacity }} --format qcow2 {{ prealloc|default("") }} when: - not _vm_volume_prepared.stat.exists @@ -115,7 +110,7 @@ when: vbmc_list.stdout.find(vm_name) != -1 - set_fact: - virtual_ipmi_port: "{{ (vm_ipmi_port_start|default(623) | int ) + (num_vms.stdout | int ) }}" + virtual_ipmi_port: "{{ (vm_ipmi_port_start|default(623) | int ) + (item.0 | int) }}" - name: plug vm into vbmc command: vbmc add {{ vm_name }} --libvirt-uri {{ vm_libvirt_uri }} --port {{ virtual_ipmi_port }} @@ -135,7 +130,7 @@ - name: Fetch the ip set_fact: - vm_ip: "{%- for interface in item.interfaces %}{%- if 'native' in (interface.vlan | string) %}{{ interface.address }}{%- endif %}{%- endfor %}" + vm_ip: "{%- for interface in item.1.interfaces %}{%- if 'native' in (interface.vlan | string) %}{{ interface.address }}{%- endif %}{%- endfor %}" # Assumes there is only a single NIC per VM - name: get MAC from vm XML @@ -155,17 +150,17 @@ power: ipmi_address: "192.168.122.1" ipmi_port: "{{ virtual_ipmi_port }}" - ipmi_username: "{{ item.remote_management.user }}" - ipmi_password: "{{ item.remote_management.pass }}" + ipmi_username: "{{ item.1.remote_management.user }}" + ipmi_password: "{{ item.1.remote_management.pass }}" nics: - mac: "{{ vm_mac }}" ansible_ssh_host: "{{ vm_ip }}" ipv4_address: "{{ vm_ip }}" properties: - cpu_arch: "{{ item.node.arch }}" - ram: "{{ item.node.memory.rstrip('G') }}" - cpus: "{{ item.node.cpus }}" - disk_size: "{{ item.disks[0].disk_capacity.rstrip('G') }}" + cpu_arch: "{{ item.1.node.arch }}" + ram: "{{ item.1.node.memory.rstrip('G') }}" + cpus: "{{ item.1.node.cpus }}" + disk_size: "{{ item.1.disks[0].disk_capacity.rstrip('G') }}" - name: add created vm info set_fact: @@ -177,4 +172,4 @@ opnfv_vm_ip: "{{ vm_ip }}" when: vm_name == 'opnfv' - when: (num_nodes | int) > (num_vms.stdout | int) + when: (num_nodes | int) > (item.0 | int) diff --git a/xci/playbooks/roles/create-vm-nodes/tasks/main.yml b/xci/playbooks/roles/create-vm-nodes/tasks/main.yml index 7e0090e4..c1cee6dc 100644 --- a/xci/playbooks/roles/create-vm-nodes/tasks/main.yml +++ b/xci/playbooks/roles/create-vm-nodes/tasks/main.yml @@ -18,7 +18,7 @@ # First we create the opnfv_vm - include_tasks: create_vm.yml - with_items: "{{ [opnfv_vm] + nodes }}" + with_indexed_items: "{{ [opnfv_vm] + nodes }}" - name: Start the opnfv vm virt: diff --git a/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 b/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 index c44fa6aa..5c235f55 100644 --- a/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 +++ b/xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j2 @@ -1,9 +1,9 @@ <domain type='{{ vm_domain_type }}'> <name>{{ vm_name }}</name> - <memory unit='GiB'>{{ item.node.memory.rstrip('G') }}</memory> - <vcpu>{{ item.node.cpus }}</vcpu> + <memory unit='GiB'>{{ item.1.node.memory.rstrip('G') }}</memory> + <vcpu>{{ item.1.node.cpus }}</vcpu> <os> - <type arch='{{ item.node.arch }}' machine='{{ item.node.model }}'>hvm</type> + <type arch='{{ item.1.node.arch }}' machine='{{ item.1.node.model }}'>hvm</type> {%- if 'opnfv' in vm_name -%} <boot dev='hd'/> {%- else -%} @@ -17,7 +17,7 @@ <apic/> <pae/> </features> - <cpu mode='{{ item.node.cpu_cflags }}'> + <cpu mode='{{ item.1.node.cpu_cflags }}'> <model fallback='allow'/> </cpu> <clock offset='utc'/> @@ -36,7 +36,7 @@ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> {% set native_interfaces = [] %} - {%- for interface in item.interfaces %} + {%- for interface in item.1.interfaces %} {%- if 'native' in (interface.vlan | string) %} {%- set _ = native_interfaces.append(interface) %} {%- endif %} |