summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-08-31 09:26:04 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-08-31 09:26:04 +0000
commite517f2332b0041b03bc936fc82743641357c0898 (patch)
tree15de61f68836950ebfb5a77d8d36912c478e83d3
parentba0f4d74ff7505055a1fd911fd40a760a3370baf (diff)
parentd52d5b21a8309537fc30767f4a209f067fc509bb (diff)
Merge "xci: roles: create-vm-nodes: Always provision VM nodes"
-rw-r--r--xci/playbooks/roles/create-vm-nodes/tasks/create_vm.yml29
-rw-r--r--xci/playbooks/roles/create-vm-nodes/tasks/main.yml2
-rw-r--r--xci/playbooks/roles/create-vm-nodes/templates/vm.xml.j210
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 %}