Revert "[FN VMs] remove graphics" 81/51481/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 1 Feb 2018 23:10:03 +0000 (00:10 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 1 Feb 2018 23:10:14 +0000 (00:10 +0100)
RHEL family virtualization tools reserve 02:00 PCI slot for VGA, even
if 'nographics' is specified when creating the VM (in case the user
wants to later hook a video card, which usually *requires* PCI slot2).

Debian systems do not follow this rule (tested with libvirt 1.x, 2.x,
3.x), hence 1st NIC lands on PCI slot 2 (and get eth name 'ens2').

To align the behavior across all possible jumpserver distros, bring
back the virtio video.

This reverts commit 738f6c3b68d1179de1ff790f9e72c25f10874da4.

Change-Id: Ifd855c12e04aec1ff0ab047b13f8081365741889
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
13 files changed:
mcp/reclass/classes/cluster/all-mcp-arch-common/aarch64/init.yml
mcp/reclass/classes/cluster/all-mcp-arch-common/x86_64/init.yml
mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/config.yml
mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_biport.yml
mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_interface_vcp_triport.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/infra/config.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_compute.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_control.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-common-noha/openstack_gateway.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-odl-noha/opendaylight/control.yml
mcp/reclass/classes/cluster/virtual-mcp-pike-ovs-dpdk-noha/infra/config.yml
mcp/scripts/lib.sh

index d8064fa..3b333ed 100644 (file)
@@ -11,7 +11,13 @@ parameters:
     salt_control_xenial_image: salt://salt/files/control/images/base_image_opnfv_fuel_vcp.img
 
     # VMs spawned on Foundation Node / Jump Host net ifaces (max 4)
-    opnfv_vm_primary_interface: enp1s0
-    opnfv_vm_secondary_interface: enp2s0
-    opnfv_vm_tertiary_interface: enp3s0
-    opnfv_vm_quaternary_interface: enp4s0
+    opnfv_fn_vm_primary_interface: enp1s0
+    opnfv_fn_vm_secondary_interface: enp2s0
+    opnfv_fn_vm_tertiary_interface: enp3s0
+    opnfv_fn_vm_quaternary_interface: enp4s0
+
+    # VCP VMs spawned on KVM Hosts net ifaces (max 3)
+    # NOTE(armband): Only x86 VCP VMs spawned via salt.control names differ
+    opnfv_vcp_vm_primary_interface: ${_param:opnfv_fn_vm_primary_interface}
+    opnfv_vcp_vm_secondary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+    opnfv_vcp_vm_tertiary_interface: ${_param:opnfv_fn_vm_tertiary_interface}
index 88b131f..a7e469b 100644 (file)
@@ -11,7 +11,13 @@ parameters:
     salt_control_xenial_image: salt://salt/files/control/images/base_image_opnfv_fuel_vcp.img
 
     # VMs spawned on Foundation Node / Jump Host net ifaces (max 4)
-    opnfv_vm_primary_interface: ens2
-    opnfv_vm_secondary_interface: ens3
-    opnfv_vm_tertiary_interface: ens4
-    opnfv_vm_quaternary_interface: ens5
+    opnfv_fn_vm_primary_interface: ens3
+    opnfv_fn_vm_secondary_interface: ens4
+    opnfv_fn_vm_tertiary_interface: ens5
+    opnfv_fn_vm_quaternary_interface: ens6
+
+    # VCP VMs spawned on KVM Hosts net ifaces (max 3)
+    # NOTE(armband): Only x86 VCP VMs spawned via salt.control names differ
+    opnfv_vcp_vm_primary_interface: ens2
+    opnfv_vcp_vm_secondary_interface: ens3
+    opnfv_vcp_vm_tertiary_interface: ens4
index 27424f6..4d7fa1e 100644 (file)
@@ -38,9 +38,9 @@ parameters:
     salt_master_host: ${_param:infra_config_deploy_address}
     # yamllint disable rule:line-length
     salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
-    dhcp_nic: ${_param:opnfv_vm_primary_interface}
-    single_nic: ${_param:opnfv_vm_secondary_interface}
-    pxe_nic: ${_param:opnfv_vm_tertiary_interface}
+    dhcp_nic: ${_param:opnfv_fn_vm_primary_interface}
+    single_nic: ${_param:opnfv_fn_vm_secondary_interface}
+    pxe_nic: ${_param:opnfv_fn_vm_tertiary_interface}
   linux:
     network:
       interface:
index 3bf87dc..da28abf 100644 (file)
@@ -12,9 +12,9 @@ classes:
   - cluster.baremetal-mcp-pike-common-ha.infra.lab_proxy_pdf
 parameters:
   _param:
-    dhcp_interface: ${_param:opnfv_vm_primary_interface}
-    primary_interface: ${_param:opnfv_vm_secondary_interface}
-    pxe_interface: ${_param:opnfv_vm_tertiary_interface}
+    dhcp_interface: ${_param:opnfv_fn_vm_primary_interface}
+    primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+    pxe_interface: ${_param:opnfv_fn_vm_tertiary_interface}
     interface_mtu: 1500
     # MaaS has issues using MTU > 1500 for PXE interface
     pxe_interface_mtu: 1500
index 9c04ca1..f0fabba 100644 (file)
@@ -10,8 +10,8 @@ classes:
   - cluster.baremetal-mcp-pike-common-ha.include.proxy
 parameters:
   _param:
-    dhcp_nic: ${_param:opnfv_vm_primary_interface}
-    single_nic: ${_param:opnfv_vm_secondary_interface}
+    dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface}
+    single_nic: ${_param:opnfv_vcp_vm_secondary_interface}
   linux:
     network:
       interface:
index 8c07e91..47f2f76 100644 (file)
@@ -10,9 +10,9 @@ classes:
   - cluster.baremetal-mcp-pike-common-ha.include.proxy
 parameters:
   _param:
-    dhcp_nic: ${_param:opnfv_vm_primary_interface}
-    single_nic: ${_param:opnfv_vm_secondary_interface}
-    control_nic: ${_param:opnfv_vm_tertiary_interface}
+    dhcp_nic: ${_param:opnfv_vcp_vm_primary_interface}
+    single_nic: ${_param:opnfv_vcp_vm_secondary_interface}
+    control_nic: ${_param:opnfv_vcp_vm_tertiary_interface}
   linux:
     network:
       interface:
index 576925e..7e3a494 100644 (file)
@@ -35,7 +35,7 @@ parameters:
       interface:
         single_int:
           enabled: true
-          name: ${_param:opnfv_vm_secondary_interface}
+          name: ${_param:opnfv_fn_vm_secondary_interface}
           type: eth
           proto: static
           address: ${_param:single_address}
index 6a1db57..da933dc 100644 (file)
@@ -17,9 +17,9 @@ classes:
   - system.ceilometer.client.cinder_volume
 parameters:
   _param:
-    primary_interface: ${_param:opnfv_vm_secondary_interface}
-    tenant_interface: ${_param:opnfv_vm_tertiary_interface}
-    external_interface: ${_param:opnfv_vm_quaternary_interface}
+    primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+    tenant_interface: ${_param:opnfv_fn_vm_tertiary_interface}
+    external_interface: ${_param:opnfv_fn_vm_quaternary_interface}
     interface_mtu: 9000
     linux_system_codename: xenial
     loopback_device_size: 20
@@ -70,7 +70,7 @@ parameters:
       interface:
         dhcp_int:
           enabled: true
-          name: ${_param:opnfv_vm_primary_interface}
+          name: ${_param:opnfv_fn_vm_primary_interface}
           proto: dhcp
           type: eth
           mtu: ${_param:interface_mtu}
index cb06e34..9825674 100644 (file)
@@ -56,14 +56,14 @@ parameters:
       interface:
         single_int:
           enabled: true
-          name: ${_param:opnfv_vm_secondary_interface}
+          name: ${_param:opnfv_fn_vm_secondary_interface}
           type: eth
           proto: static
           address: ${_param:single_address}
           netmask: 255.255.255.0
         public_int:
           enabled: true
-          name: ${_param:opnfv_vm_quaternary_interface}
+          name: ${_param:opnfv_fn_vm_quaternary_interface}
           type: eth
           proto: static
           address: ${_param:cluster_public_host}
index 6d38aa8..9822de7 100644 (file)
@@ -8,9 +8,9 @@
 ---
 parameters:
   _param:
-    primary_interface: ${_param:opnfv_vm_secondary_interface}
-    tenant_interface: ${_param:opnfv_vm_tertiary_interface}
-    external_interface: ${_param:opnfv_vm_quaternary_interface}
+    primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
+    tenant_interface: ${_param:opnfv_fn_vm_tertiary_interface}
+    external_interface: ${_param:opnfv_fn_vm_quaternary_interface}
     interface_mtu: 9000
     linux_system_codename: xenial
   neutron:
@@ -24,7 +24,7 @@ parameters:
       interface:
         dhcp_int:
           enabled: true
-          name: ${_param:opnfv_vm_primary_interface}
+          name: ${_param:opnfv_fn_vm_primary_interface}
           proto: dhcp
           type: eth
           mtu: ${_param:interface_mtu}
index 307577d..f4404a6 100644 (file)
@@ -19,7 +19,7 @@ parameters:
       interface:
         single_int:
           enabled: true
-          name: ${_param:opnfv_vm_secondary_interface}
+          name: ${_param:opnfv_fn_vm_secondary_interface}
           type: eth
           proto: static
           address: ${_param:single_address}
index abe13ef..e80c442 100644 (file)
@@ -16,11 +16,11 @@ parameters:
       node:
         openstack_compute_node01:
           params:
-            dpdk0_name: ${_param:opnfv_vm_tertiary_interface}
+            dpdk0_name: ${_param:opnfv_fn_vm_tertiary_interface}
             dpdk0_pci: '"0000:00:05.0"'
         openstack_compute_node02:
           params:
-            dpdk0_name: ${_param:opnfv_vm_tertiary_interface}
+            dpdk0_name: ${_param:opnfv_fn_vm_tertiary_interface}
             dpdk0_pci: '"0000:00:05.0"'
         openstack_gateway_node01:
           params:
index 2038bad..d2ffaa6 100644 (file)
@@ -336,6 +336,13 @@ function create_vms {
   IFS='|' read -r -a vnodes <<< "$1"; shift
   local vnode_networks=("$@")
 
+  # AArch64: prepare arch specific arguments
+  local virt_extra_args=""
+  if [ "$(uname -i)" = "aarch64" ]; then
+    # No Cirrus VGA on AArch64, use virtio instead
+    virt_extra_args="$virt_extra_args --video=virtio"
+  fi
+
   # create vms with specified options
   for serialized_vnode_data in "${vnodes[@]}"; do
     IFS=',' read -r -a vnode_data <<< "${serialized_vnode_data}"
@@ -356,9 +363,10 @@ function create_vms {
     --cpu host-passthrough --accelerate ${net_args} \
     --disk path="${image_dir}/mcp_${vnode_data[0]}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \
     --os-type linux --os-variant none \
-    --boot hd --nographics --console pty --autostart --noreboot \
+    --boot hd --vnc --console pty --autostart --noreboot \
     --disk path="${image_dir}/mcp_${vnode_data[0]}.iso",device=cdrom \
-    --noautoconsole
+    --noautoconsole \
+    ${virt_extra_args}
   done
 }