From 3b19e08d3e10519efee7f3c9d40a740318f762dc Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Tue, 26 Sep 2017 18:22:06 +0200 Subject: u/fuel: Bump & rebase for full PDF support Change-Id: I7ae833b429c018345d0ab061877d27e3183b3dc7 Signed-off-by: Alexandru Avadanii (cherry picked from commit 62d2ed716e79f9ee75d63543249bb21b9115b032) --- ...s-baremetal-AArch64-virtio-NIC-names-sync.patch | 97 +++----- ...aas-boot-resources-Add-arm64-architecture.patch | 39 +++ ...twork-public-mgmt-Use-arm-pod3-POD-config.patch | 144 ----------- ...lasses-baremetal-arm-pod3-config-hardcode.patch | 103 -------- .../0007-libvirt-Use-libvirt-unix_sock_group.patch | 58 +++++ ...aas-boot-resources-Add-arm64-architecture.patch | 39 --- ...lt-formulas-armband-Extend-libvirt_domain.patch | 105 ++++++++ .../0009-libvirt-Use-libvirt-unix_sock_group.patch | 58 ----- ...-virtng.py-virt.sls-Extend-libvirt_domain.patch | 265 +++++++++++++++++++++ ...p-salt-formulas-armband-AArch64-bootstrap.patch | 90 +++++++ ...lt-formulas-armband-Extend-libvirt_domain.patch | 105 -------- .../0011-seedng-module-Add-AArch64-repo.patch | 59 +++++ ...-virtng.py-virt.sls-Extend-libvirt_domain.patch | 265 --------------------- ...ib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch | 60 +++++ ...p-salt-formulas-armband-AArch64-bootstrap.patch | 90 ------- ...3-aarch64-skip-configuration-of-hugepages.patch | 96 ++++++++ .../0013-seedng-module-Add-AArch64-repo.patch | 59 ----- ...tal-virtual-Extend-arch-list-for-UCA-repo.patch | 88 +++++++ ...ib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch | 60 ----- .../0015-Add-opnfv-user-to-the-deployment.patch | 67 ++++++ ...5-aarch64-skip-configuration-of-hugepages.patch | 96 -------- ...remetal-odl-Extend-arch-list-for-UCA-repo.patch | 32 --- ...d_config.yml-Use-arm-pod5-specific-config.patch | 178 ++++++++++++++ .../0017-Add-opnfv-user-to-the-deployment.patch | 67 ------ ...d_config.yml-Use-arm-pod5-specific-config.patch | 177 -------------- upstream/fuel | 2 +- 26 files changed, 1145 insertions(+), 1354 deletions(-) create mode 100644 patches/opnfv-fuel/0006-maas-boot-resources-Add-arm64-architecture.patch delete mode 100644 patches/opnfv-fuel/0006-network-public-mgmt-Use-arm-pod3-POD-config.patch delete mode 100644 patches/opnfv-fuel/0007-classes-baremetal-arm-pod3-config-hardcode.patch create mode 100644 patches/opnfv-fuel/0007-libvirt-Use-libvirt-unix_sock_group.patch delete mode 100644 patches/opnfv-fuel/0008-maas-boot-resources-Add-arm64-architecture.patch create mode 100644 patches/opnfv-fuel/0008-mcp-salt-formulas-armband-Extend-libvirt_domain.patch delete mode 100644 patches/opnfv-fuel/0009-libvirt-Use-libvirt-unix_sock_group.patch create mode 100644 patches/opnfv-fuel/0009-virtng.py-virt.sls-Extend-libvirt_domain.patch create mode 100644 patches/opnfv-fuel/0010-mcp-salt-formulas-armband-AArch64-bootstrap.patch delete mode 100644 patches/opnfv-fuel/0010-mcp-salt-formulas-armband-Extend-libvirt_domain.patch create mode 100644 patches/opnfv-fuel/0011-seedng-module-Add-AArch64-repo.patch delete mode 100644 patches/opnfv-fuel/0011-virtng.py-virt.sls-Extend-libvirt_domain.patch create mode 100644 patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch delete mode 100644 patches/opnfv-fuel/0012-mcp-salt-formulas-armband-AArch64-bootstrap.patch create mode 100644 patches/opnfv-fuel/0013-aarch64-skip-configuration-of-hugepages.patch delete mode 100644 patches/opnfv-fuel/0013-seedng-module-Add-AArch64-repo.patch create mode 100644 patches/opnfv-fuel/0014-baremetal-virtual-Extend-arch-list-for-UCA-repo.patch delete mode 100644 patches/opnfv-fuel/0014-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch create mode 100644 patches/opnfv-fuel/0015-Add-opnfv-user-to-the-deployment.patch delete mode 100644 patches/opnfv-fuel/0015-aarch64-skip-configuration-of-hugepages.patch delete mode 100644 patches/opnfv-fuel/0016-baremetal-odl-Extend-arch-list-for-UCA-repo.patch create mode 100644 patches/opnfv-fuel/0016-pod_config.yml-Use-arm-pod5-specific-config.patch delete mode 100644 patches/opnfv-fuel/0017-Add-opnfv-user-to-the-deployment.patch delete mode 100644 patches/opnfv-fuel/0018-pod_config.yml-Use-arm-pod5-specific-config.patch diff --git a/patches/opnfv-fuel/0004-classes-baremetal-AArch64-virtio-NIC-names-sync.patch b/patches/opnfv-fuel/0004-classes-baremetal-AArch64-virtio-NIC-names-sync.patch index 6ac51438..8fc33614 100644 --- a/patches/opnfv-fuel/0004-classes-baremetal-AArch64-virtio-NIC-names-sync.patch +++ b/patches/opnfv-fuel/0004-classes-baremetal-AArch64-virtio-NIC-names-sync.patch @@ -28,34 +28,34 @@ is used). Signed-off-by: Alexandru Avadanii --- - .../baremetal-mcp-ocata-odl-ha/infra/config.yml | 4 ++-- - .../baremetal-mcp-ocata-odl-ha/infra/kvm.yml | 18 ++++++++++----- - .../baremetal-mcp-ocata-odl-ha/infra/maas.yml | 6 ++--- - .../opendaylight/control.yml | 2 +- - .../openstack/compute.yml | 27 ++++++++-------------- - .../openstack/control.yml | 6 ++--- - .../openstack/dashboard.yml | 4 ++-- - .../openstack/database.yml | 6 ++--- - .../openstack/message_queue.yml | 6 ++--- - .../baremetal-mcp-ocata-odl-ha/openstack/proxy.yml | 6 ++--- - .../openstack/telemetry.yml | 6 ++--- - .../baremetal-mcp-ocata-ovs-ha/infra/config.yml | 4 ++-- - .../baremetal-mcp-ocata-ovs-ha/infra/kvm.yml | 16 +++++++++---- - .../baremetal-mcp-ocata-ovs-ha/infra/maas.yml | 6 ++--- - .../openstack/compute.yml | 19 +++++---------- - .../openstack/control.yml | 6 ++--- - .../openstack/dashboard.yml | 4 ++-- - .../openstack/database.yml | 6 ++--- - .../openstack/message_queue.yml | 6 ++--- - .../baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml | 6 ++--- - .../openstack/telemetry.yml | 6 ++--- - 21 files changed, 84 insertions(+), 86 deletions(-) + .../baremetal-mcp-ocata-odl-ha/infra/config.yml | 4 ++-- + .../cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml | 16 +++++++++++----- + .../cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml | 6 +++--- + .../opendaylight/control.yml | 2 +- + .../baremetal-mcp-ocata-odl-ha/openstack/compute.yml | 19 ++++++------------- + .../baremetal-mcp-ocata-odl-ha/openstack/control.yml | 6 +++--- + .../openstack/dashboard.yml | 4 ++-- + .../baremetal-mcp-ocata-odl-ha/openstack/database.yml | 6 +++--- + .../openstack/message_queue.yml | 6 +++--- + .../baremetal-mcp-ocata-odl-ha/openstack/proxy.yml | 6 +++--- + .../openstack/telemetry.yml | 6 +++--- + .../baremetal-mcp-ocata-ovs-ha/infra/config.yml | 4 ++-- + .../cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml | 16 +++++++++++----- + .../cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml | 6 +++--- + .../baremetal-mcp-ocata-ovs-ha/openstack/compute.yml | 19 ++++++------------- + .../baremetal-mcp-ocata-ovs-ha/openstack/control.yml | 6 +++--- + .../openstack/dashboard.yml | 4 ++-- + .../baremetal-mcp-ocata-ovs-ha/openstack/database.yml | 6 +++--- + .../openstack/message_queue.yml | 6 +++--- + .../baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml | 6 +++--- + .../openstack/telemetry.yml | 6 +++--- + 21 files changed, 79 insertions(+), 81 deletions(-) diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml -index 4cf2a60..697e697 100644 +index 15202f1..6ddb8a2 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/config.yml -@@ -35,8 +35,8 @@ parameters: +@@ -34,8 +34,8 @@ parameters: linux: network: interface: @@ -67,7 +67,7 @@ index 4cf2a60..697e697 100644 master: accept_policy: open_mode diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml -index 99ac02e..f9427be 100644 +index da26254..5e4ea66 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml @@ -26,7 +26,8 @@ parameters: @@ -101,31 +101,26 @@ index 99ac02e..f9427be 100644 br-mgmt: enabled: true proto: dhcp -@@ -159,13 +165,13 @@ parameters: - use_interfaces: - - ${_param:deploy_nic} - noifupdown: true -- vlan300: -+ vlan2183: +@@ -161,9 +167,9 @@ parameters: enabled: true proto: manual type: vlan -- name: ${_param:deploy_nic}.300 -+ name: ${_param:trunk_nic}.2183 +- name: ${_param:deploy_nic}.${_param:opnfv_net_mgmt_vlan} ++ name: ${_param:trunk_nic}.${_param:opnfv_net_mgmt_vlan} use_interfaces: - - ${_param:deploy_nic} + - ${_param:trunk_nic} br-ctl: enabled: true type: bridge -@@ -173,4 +179,4 @@ parameters: +@@ -171,4 +177,4 @@ parameters: address: ${_param:single_address} netmask: 255.255.255.0 use_interfaces: -- - ${_param:deploy_nic}.300 -+ - ${_param:trunk_nic}.2183 +- - ${_param:deploy_nic}.${_param:opnfv_net_mgmt_vlan} ++ - ${_param:trunk_nic}.${_param:opnfv_net_mgmt_vlan} diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml -index 2a2fedb..cb98e0e 100644 +index cbb1caf..e54621c 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml @@ -5,9 +5,9 @@ classes: @@ -155,7 +150,7 @@ index d473a07..d77d204 100644 type: eth proto: static diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml -index 82b1a6e..605bfe1 100644 +index ba0f385..a41df69 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml @@ -25,10 +25,9 @@ parameters: @@ -184,38 +179,24 @@ index 82b1a6e..605bfe1 100644 br-mesh: enabled: true type: bridge -@@ -91,19 +84,19 @@ parameters: - netmask: 255.255.255.0 - mtu: 1500 - use_interfaces: -- - ${_param:tenant_nic}.302 -- vlan300: -+ - ${_param:tenant_nic}.2185 -+ vlan2183: +@@ -96,9 +89,9 @@ parameters: enabled: true proto: manual type: vlan -- name: ${_param:mgmt_nic}.300 -+ name: ${_param:tenant_nic}.2183 +- name: ${_param:mgmt_nic}.${_param:opnfv_net_mgmt_vlan} ++ name: ${_param:tenant_nic}.${_param:opnfv_net_mgmt_vlan} use_interfaces: - - ${_param:mgmt_nic} -- vlan302: + - ${_param:tenant_nic} -+ vlan2185: + tenant-vlan: enabled: true proto: manual - type: vlan -- name: ${_param:tenant_nic}.302 -+ name: ${_param:tenant_nic}.2185 - use_interfaces: - - ${_param:tenant_nic} - br-ctl: @@ -113,7 +106,7 @@ parameters: address: ${_param:single_address} netmask: 255.255.255.0 use_interfaces: -- - ${_param:mgmt_nic}.300 -+ - ${_param:tenant_nic}.2183 +- - ${_param:mgmt_nic}.${_param:opnfv_net_mgmt_vlan} ++ - ${_param:tenant_nic}.${_param:opnfv_net_mgmt_vlan} br-floating: enabled: true type: ovs_bridge diff --git a/patches/opnfv-fuel/0006-maas-boot-resources-Add-arm64-architecture.patch b/patches/opnfv-fuel/0006-maas-boot-resources-Add-arm64-architecture.patch new file mode 100644 index 00000000..1b0f1137 --- /dev/null +++ b/patches/opnfv-fuel/0006-maas-boot-resources-Add-arm64-architecture.patch @@ -0,0 +1,39 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Fri, 11 Aug 2017 00:07:29 +0200 +Subject: [PATCH] maas: boot-resources: Add arm64 architecture + +Signed-off-by: Alexandru Avadanii +--- + mcp/patches/0003-maas-region-force-artifact-download.patch | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/mcp/patches/0003-maas-region-force-artifact-download.patch b/mcp/patches/0003-maas-region-force-artifact-download.patch +index f0ce50f..9997552 100644 +--- a/mcp/patches/0003-maas-region-force-artifact-download.patch ++++ b/mcp/patches/0003-maas-region-force-artifact-download.patch +@@ -42,7 +42,7 @@ diff --git a/maas/files/maas-artifact-sync.sh b/maas/files/maas-artifact-sync.sh + new file mode 100644 + --- /dev/null + +++ b/maas/files/maas-artifact-sync.sh +-@@ -0,0 +1,21 @@ ++@@ -0,0 +1,26 @@ + +{%- from "maas/map.jinja" import region with context %} + +#!/bin/bash + +function wait_for { +@@ -64,3 +64,8 @@ new file mode 100644 + +wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'" + +maas opnfv rack-controllers import-boot-images || exit 3 + +wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/amd64" +++maas opnfv boot-source-selection update 1 1 arches='amd64' arches='arm64' || exit 4 +++maas opnfv boot-resources import || exit 2 +++wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'" +++maas opnfv rack-controllers import-boot-images || exit 3 +++wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/arm64" diff --git a/patches/opnfv-fuel/0006-network-public-mgmt-Use-arm-pod3-POD-config.patch b/patches/opnfv-fuel/0006-network-public-mgmt-Use-arm-pod3-POD-config.patch deleted file mode 100644 index e235d866..00000000 --- a/patches/opnfv-fuel/0006-network-public-mgmt-Use-arm-pod3-POD-config.patch +++ /dev/null @@ -1,144 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Tue, 8 Aug 2017 03:49:53 +0200 -Subject: [PATCH] network: public, mgmt: Use arm-pod3 POD config - -Signed-off-by: Alexandru Avadanii ---- - .../baremetal-mcp-ocata-odl-ha/infra/init.yml | 18 +++---- - .../baremetal-mcp-ocata-odl-ha/openstack/init.yml | 62 +++++++++++----------- - 2 files changed, 40 insertions(+), 40 deletions(-) - -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml -index b1cd5d2..50c590d 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml -@@ -18,18 +18,18 @@ parameters: - infra_maas_database_password: opnfv_secret - - # infra service addresses -- infra_config_address: 10.167.4.100 -+ infra_config_address: 172.16.10.100 - infra_config_deploy_address: 10.20.0.2 -- infra_maas_node01_address: 10.167.4.3 -+ infra_maas_node01_address: 172.16.10.3 - infra_maas_node01_deploy_address: ${_param:opnfv_maas_pxe_address} -- infra_compute_node01_address: 10.167.4.141 -- infra_compute_node02_address: 10.167.4.142 -- infra_compute_node03_address: 10.167.4.143 -+ infra_compute_node01_address: 172.16.10.141 -+ infra_compute_node02_address: 172.16.10.142 -+ infra_compute_node03_address: 172.16.10.143 - -- infra_kvm_address: 10.167.4.140 -- infra_kvm_node01_address: 10.167.4.141 -- infra_kvm_node02_address: 10.167.4.142 -- infra_kvm_node03_address: 10.167.4.143 -+ infra_kvm_address: 172.16.10.140 -+ infra_kvm_node01_address: 172.16.10.141 -+ infra_kvm_node02_address: 172.16.10.142 -+ infra_kvm_node03_address: 172.16.10.143 - - infra_maas_node01_hostname: mas01 - infra_kvm_node01_hostname: kvm01 -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -index 16bdc06..e288322 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -@@ -4,9 +4,9 @@ parameters: - - openstack_version: ocata - -- openstack_gateway_node01_address: 10.167.4.124 -- openstack_gateway_node02_address: 10.167.4.125 -- openstack_gateway_node03_address: 10.167.4.126 -+ openstack_gateway_node01_address: 172.16.10.124 -+ openstack_gateway_node02_address: 172.16.10.125 -+ openstack_gateway_node03_address: 172.16.10.126 - openstack_gateway_node01_tenant_address: 10.1.0.6 - openstack_gateway_node02_tenant_address: 10.1.0.7 - openstack_gateway_node03_tenant_address: 10.1.0.9 -@@ -15,21 +15,21 @@ parameters: - openstack_gateway_node03_hostname: gtw03 - - # openstack service addresses -- openstack_proxy_address: 10.167.4.80 -- openstack_proxy_node01_address: 10.167.4.81 -- openstack_proxy_node02_address: 10.167.4.82 -- openstack_control_address: 10.167.4.10 -- openstack_control_node01_address: 10.167.4.11 -- openstack_control_node02_address: 10.167.4.12 -- openstack_control_node03_address: 10.167.4.13 -- openstack_database_address: 10.167.4.50 -- openstack_database_node01_address: 10.167.4.51 -- openstack_database_node02_address: 10.167.4.52 -- openstack_database_node03_address: 10.167.4.53 -- openstack_message_queue_address: 10.167.4.40 -- openstack_message_queue_node01_address: 10.167.4.41 -- openstack_message_queue_node02_address: 10.167.4.42 -- openstack_message_queue_node03_address: 10.167.4.43 -+ openstack_proxy_address: 172.16.10.80 -+ openstack_proxy_node01_address: 172.16.10.81 -+ openstack_proxy_node02_address: 172.16.10.82 -+ openstack_control_address: 172.16.10.10 -+ openstack_control_node01_address: 172.16.10.11 -+ openstack_control_node02_address: 172.16.10.12 -+ openstack_control_node03_address: 172.16.10.13 -+ openstack_database_address: 172.16.10.50 -+ openstack_database_node01_address: 172.16.10.51 -+ openstack_database_node02_address: 172.16.10.52 -+ openstack_database_node03_address: 172.16.10.53 -+ openstack_message_queue_address: 172.16.10.40 -+ openstack_message_queue_node01_address: 172.16.10.41 -+ openstack_message_queue_node02_address: 172.16.10.42 -+ openstack_message_queue_node03_address: 172.16.10.43 - - - openstack_telemetry_hostname: mdb -@@ -37,26 +37,26 @@ parameters: - openstack_telemetry_node02_hostname: mdb02 - openstack_telemetry_node03_hostname: mdb03 - -- openstack_telemetry_address: 10.167.4.75 -- openstack_telemetry_node01_address: 10.167.4.76 -- openstack_telemetry_node02_address: 10.167.4.77 -- openstack_telemetry_node03_address: 10.167.4.78 -+ openstack_telemetry_address: 172.16.10.75 -+ openstack_telemetry_node01_address: 172.16.10.76 -+ openstack_telemetry_node02_address: 172.16.10.77 -+ openstack_telemetry_node03_address: 172.16.10.78 - - # OpenStack Compute -- openstack_compute_node01_single_address: 10.167.4.101 -- openstack_compute_node02_single_address: 10.167.4.102 -- openstack_compute_node03_single_address: 10.167.4.103 -- openstack_compute_node01_control_address: 10.167.4.101 -- openstack_compute_node02_control_address: 10.167.4.102 -- openstack_compute_node03_control_address: 10.167.4.103 -+ openstack_compute_node01_single_address: 172.16.10.101 -+ openstack_compute_node02_single_address: 172.16.10.102 -+ openstack_compute_node03_single_address: 172.16.10.103 -+ openstack_compute_node01_control_address: 172.16.10.101 -+ openstack_compute_node02_control_address: 172.16.10.102 -+ openstack_compute_node03_control_address: 172.16.10.103 - openstack_compute_node01_tenant_address: 10.1.0.101 - openstack_compute_node02_tenant_address: 10.1.0.102 - openstack_compute_node03_tenant_address: 10.1.0.103 -- openstack_compute_node01_external_address: 172.30.10.2 -- openstack_compute_node02_external_address: 172.30.10.3 -+ openstack_compute_node01_external_address: 10.0.8.101 -+ openstack_compute_node02_external_address: 10.0.8.102 - - # opendaylight options -- opendaylight_server_node01_single_address: 10.167.4.111 -+ opendaylight_server_node01_single_address: 172.16.10.111 - # yamllint disable rule:line-length - opendaylight_service_host: ${_param:opendaylight_server_node01_single_address} - opendaylight_server_node01_hostname: odl01 diff --git a/patches/opnfv-fuel/0007-classes-baremetal-arm-pod3-config-hardcode.patch b/patches/opnfv-fuel/0007-classes-baremetal-arm-pod3-config-hardcode.patch deleted file mode 100644 index f4db612f..00000000 --- a/patches/opnfv-fuel/0007-classes-baremetal-arm-pod3-config-hardcode.patch +++ /dev/null @@ -1,103 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Thu, 10 Aug 2017 18:32:37 +0200 -Subject: [PATCH] classes: baremetal: arm-pod3 config hardcode - -Populate MaaS configuration with node information for arm-pod3. - -FIXME: Read all this info from PDF (Pod Descriptor File) later. - -Signed-off-by: Alexandru Avadanii ---- - .../baremetal-mcp-ocata-odl-ha/infra/maas.yml | 40 +++++++++++----------- - 1 file changed, 20 insertions(+), 20 deletions(-) - -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml -index cb98e0e..ebee892 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml -@@ -48,57 +48,57 @@ parameters: - machines: - kvm01: - interface: -- mac: "00:25:b5:a0:00:2a" -+ mac: "e0:ff:f7:00:08:ae" - power_parameters: -- power_address: "172.30.8.75" -- power_password: "octopus" -+ power_address: "10.0.8.3" -+ power_password: "admin" - power_type: ipmi - power_user: "admin" -- architecture: 'amd64/generic' -+ architecture: 'arm64/generic' - distro_series: xenial - hwe_kernel: hwe-16.04 - kvm02: - interface: -- mac: "00:25:b5:a0:00:3a" -+ mac: "e0:ff:f7:00:08:b1" - power_parameters: -- power_address: "172.30.8.65" -- power_password: "octopus" -+ power_address: "10.0.8.4" -+ power_password: "admin" - power_type: ipmi - power_user: "admin" -- architecture: 'amd64/generic' -+ architecture: 'arm64/generic' - distro_series: xenial - hwe_kernel: hwe-16.04 - kvm03: - interface: -- mac: "00:25:b5:a0:00:4a" -+ mac: "e0:ff:f7:00:08:bd" - power_parameters: -- power_address: "172.30.8.74" -- power_password: "octopus" -+ power_address: "10.0.8.5" -+ power_password: "admin" - power_type: ipmi - power_user: "admin" -- architecture: 'amd64/generic' -+ architecture: 'arm64/generic' - distro_series: xenial - hwe_kernel: hwe-16.04 - cmp001: - interface: -- mac: "00:25:b5:a0:00:5a" -+ mac: "e0:ff:f7:00:08:c6" - power_parameters: -- power_address: "172.30.8.73" -- power_password: "octopus" -+ power_address: "10.0.8.6" -+ power_password: "admin" - power_type: ipmi - power_user: "admin" -- architecture: 'amd64/generic' -+ architecture: 'arm64/generic' - distro_series: xenial - hwe_kernel: hwe-16.04 - cmp002: - interface: -- mac: "00:25:b5:a0:00:6a" -+ mac: "e0:ff:f7:00:08:cf" - power_parameters: -- power_address: "172.30.8.72" -- power_password: "octopus" -+ power_address: "10.0.8.7" -+ power_password: "admin" - power_type: ipmi - power_user: "admin" -- architecture: 'amd64/generic' -+ architecture: 'arm64/generic' - distro_series: xenial - hwe_kernel: hwe-16.04 - linux: diff --git a/patches/opnfv-fuel/0007-libvirt-Use-libvirt-unix_sock_group.patch b/patches/opnfv-fuel/0007-libvirt-Use-libvirt-unix_sock_group.patch new file mode 100644 index 00000000..1a6b2f98 --- /dev/null +++ b/patches/opnfv-fuel/0007-libvirt-Use-libvirt-unix_sock_group.patch @@ -0,0 +1,58 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Sun, 20 Aug 2017 18:18:53 +0200 +Subject: [PATCH] libvirt: Use "libvirt" unix_sock_group + +On AArch64, libvirt 3.x is used, which uses "libvirt" by default, +so change old "libvirtd" in . + +Signed-off-by: Alexandru Avadanii +--- + ...libvirt-unix_sock_group-s-libvirtd-libvirt.patch | 21 +++++++++++++++++++++ + mcp/patches/patches.list | 1 + + 2 files changed, 22 insertions(+) + create mode 100644 mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch + +diff --git a/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch b/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch +new file mode 100644 +index 0000000..003b249 +--- /dev/null ++++ b/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch +@@ -0,0 +1,21 @@ ++From: Alexandru Avadanii ++Date: Sun, 20 Aug 2017 02:03:01 +0200 ++Subject: [PATCH] libvirt: unix_sock_group: s/libvirtd/libvirt/ ++ ++On AArch64, libvirt 3.x is used, which uses "libvirt" by default. ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a/libvirt/files/libvirtd.conf.Debian b/libvirt/files/libvirtd.conf.Debian ++--- a/libvirt/files/libvirtd.conf.Debian +++++ b/libvirt/files/libvirtd.conf.Debian ++@@ -81,7 +81,7 @@ ++ # without becoming root. ++ # ++ # This is restricted to 'root' by default. ++-unix_sock_group = "libvirtd" +++unix_sock_group = "libvirt" ++ ++ # Set the UNIX socket permissions for the R/O socket. This is used ++ # for monitoring VM status only +diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list +index 0607ef9..4d75677 100644 +--- a/mcp/patches/patches.list ++++ b/mcp/patches/patches.list +@@ -9,3 +9,4 @@ + /usr/share/salt-formulas/env: 0009-seedng-module-Sync-salt-version.patch + /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch + /usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch ++/usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch diff --git a/patches/opnfv-fuel/0008-maas-boot-resources-Add-arm64-architecture.patch b/patches/opnfv-fuel/0008-maas-boot-resources-Add-arm64-architecture.patch deleted file mode 100644 index 1b0f1137..00000000 --- a/patches/opnfv-fuel/0008-maas-boot-resources-Add-arm64-architecture.patch +++ /dev/null @@ -1,39 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Fri, 11 Aug 2017 00:07:29 +0200 -Subject: [PATCH] maas: boot-resources: Add arm64 architecture - -Signed-off-by: Alexandru Avadanii ---- - mcp/patches/0003-maas-region-force-artifact-download.patch | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/mcp/patches/0003-maas-region-force-artifact-download.patch b/mcp/patches/0003-maas-region-force-artifact-download.patch -index f0ce50f..9997552 100644 ---- a/mcp/patches/0003-maas-region-force-artifact-download.patch -+++ b/mcp/patches/0003-maas-region-force-artifact-download.patch -@@ -42,7 +42,7 @@ diff --git a/maas/files/maas-artifact-sync.sh b/maas/files/maas-artifact-sync.sh - new file mode 100644 - --- /dev/null - +++ b/maas/files/maas-artifact-sync.sh --@@ -0,0 +1,21 @@ -+@@ -0,0 +1,26 @@ - +{%- from "maas/map.jinja" import region with context %} - +#!/bin/bash - +function wait_for { -@@ -64,3 +64,8 @@ new file mode 100644 - +wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'" - +maas opnfv rack-controllers import-boot-images || exit 3 - +wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/amd64" -++maas opnfv boot-source-selection update 1 1 arches='amd64' arches='arm64' || exit 4 -++maas opnfv boot-resources import || exit 2 -++wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'" -++maas opnfv rack-controllers import-boot-images || exit 3 -++wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/arm64" diff --git a/patches/opnfv-fuel/0008-mcp-salt-formulas-armband-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0008-mcp-salt-formulas-armband-Extend-libvirt_domain.patch new file mode 100644 index 00000000..a30322b3 --- /dev/null +++ b/patches/opnfv-fuel/0008-mcp-salt-formulas-armband-Extend-libvirt_domain.patch @@ -0,0 +1,105 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Sun, 20 Aug 2017 22:41:26 +0200 +Subject: [PATCH] mcp: salt-formulas: armband: Extend libvirt_domain + +Add new state in armband salt formula that extends salt's virt +libvirt_domain.jinja template with support for: +- hw_firmware_type; +- virt_machine_model; +- cpu_model; + +These will later be leveraged via salt virt formula with AArch64 +specific values. + +Signed-off-by: Alexandru Avadanii +--- + mcp/config/states/maas | 2 +- + .../armband/files/libvirt_domain.jinja.diff | 46 ++++++++++++++++++++++ + .../armband/libvirt_domain_template.sls | 4 ++ + 3 files changed, 51 insertions(+), 1 deletion(-) + create mode 100644 mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff + create mode 100644 mcp/salt-formulas/armband/libvirt_domain_template.sls + +diff --git a/mcp/config/states/maas b/mcp/config/states/maas +index df1f7ed..42738e3 100755 +--- a/mcp/config/states/maas ++++ b/mcp/config/states/maas +@@ -90,7 +90,7 @@ wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected + + salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp + +-salt -C 'kvm*' state.sls armband ++salt -C 'kvm*' state.sls armband,armband.libvirt_domain_template + salt -C 'kvm*' state.sls libvirt + + salt -C '* and not cfg01* and not mas01*' state.apply salt +diff --git a/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff b/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff +new file mode 100644 +index 0000000..4e7fad5 +--- /dev/null ++++ b/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff +@@ -0,0 +1,46 @@ ++From: Alexandru Avadanii ++Date: Sun Aug 20 18:18:53 2017 +0200 ++Subject: [PATCH] libvirt_domain.jinja: Add AArch64 support ++ ++Salt virt state relies on a Jinja template to create a libvirt ++XML definition for each new VM. ++This template needs to be extended with a few specific options ++for AArch64: ++- UEFI loader support (pflash); ++- custom machine model (e.g. 'virt-2.9'), since AArch64 defaults to ++ 'integratorcp'; ++- custom cpu model; ++ ++Allow all these to be parametrized from the salt virt formula, ++which we will also adapt to allow the params to be passed via our ++reclass model. ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja b/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja ++--- a/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja +++++ b/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja ++@@ -3,11 +3,22 @@ ++ {{ cpu }} ++ {{ mem }} ++ +++ {% if custom_virt_machine %} +++ hvm +++ {% else %} ++ hvm +++ {% endif %} +++ {% if os_loader_type == 'pflash' %} +++ {{ os_loader }} +++ {{ os_loader_nvram }} +++ {% endif %} ++ {% for dev in boot_dev %} ++ ++ {% endfor %} ++ +++ {% if cpu_mode == 'custom' %} +++ +++ {% endif %} ++ ++ {% for diskname, disk in disks.items() %} ++ +diff --git a/mcp/salt-formulas/armband/libvirt_domain_template.sls b/mcp/salt-formulas/armband/libvirt_domain_template.sls +new file mode 100644 +index 0000000..7cc8e22 +--- /dev/null ++++ b/mcp/salt-formulas/armband/libvirt_domain_template.sls +@@ -0,0 +1,4 @@ ++/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja: ++ file.patch: ++ - source: salt://armband/files/libvirt_domain.jinja.diff ++ - hash: "9d02cd8aa04497c2d75c72840a5c6c41" diff --git a/patches/opnfv-fuel/0009-libvirt-Use-libvirt-unix_sock_group.patch b/patches/opnfv-fuel/0009-libvirt-Use-libvirt-unix_sock_group.patch deleted file mode 100644 index 1a6b2f98..00000000 --- a/patches/opnfv-fuel/0009-libvirt-Use-libvirt-unix_sock_group.patch +++ /dev/null @@ -1,58 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Sun, 20 Aug 2017 18:18:53 +0200 -Subject: [PATCH] libvirt: Use "libvirt" unix_sock_group - -On AArch64, libvirt 3.x is used, which uses "libvirt" by default, -so change old "libvirtd" in . - -Signed-off-by: Alexandru Avadanii ---- - ...libvirt-unix_sock_group-s-libvirtd-libvirt.patch | 21 +++++++++++++++++++++ - mcp/patches/patches.list | 1 + - 2 files changed, 22 insertions(+) - create mode 100644 mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch - -diff --git a/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch b/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch -new file mode 100644 -index 0000000..003b249 ---- /dev/null -+++ b/mcp/patches/0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch -@@ -0,0 +1,21 @@ -+From: Alexandru Avadanii -+Date: Sun, 20 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] libvirt: unix_sock_group: s/libvirtd/libvirt/ -+ -+On AArch64, libvirt 3.x is used, which uses "libvirt" by default. -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a/libvirt/files/libvirtd.conf.Debian b/libvirt/files/libvirtd.conf.Debian -+--- a/libvirt/files/libvirtd.conf.Debian -++++ b/libvirt/files/libvirtd.conf.Debian -+@@ -81,7 +81,7 @@ -+ # without becoming root. -+ # -+ # This is restricted to 'root' by default. -+-unix_sock_group = "libvirtd" -++unix_sock_group = "libvirt" -+ -+ # Set the UNIX socket permissions for the R/O socket. This is used -+ # for monitoring VM status only -diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list -index 0607ef9..4d75677 100644 ---- a/mcp/patches/patches.list -+++ b/mcp/patches/patches.list -@@ -9,3 +9,4 @@ - /usr/share/salt-formulas/env: 0009-seedng-module-Sync-salt-version.patch - /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch - /usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch -+/usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch diff --git a/patches/opnfv-fuel/0009-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0009-virtng.py-virt.sls-Extend-libvirt_domain.patch new file mode 100644 index 00000000..844c0110 --- /dev/null +++ b/patches/opnfv-fuel/0009-virtng.py-virt.sls-Extend-libvirt_domain.patch @@ -0,0 +1,265 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Mon, 21 Aug 2017 01:10:16 +0200 +Subject: [PATCH] virtng.py, virt.sls: Extend libvirt_domain + +Extend _modules/virtng.py, salt/control/virt.sls with support for: +- hw_firmware_type; +- virt_machine_model; +- cpu_model; + +This functionality relies on the corresponding changes to be +implemented in libvirt_domain.jinja template. + +These will later be leveraged via our reclass model with AArch64 +specific values. + +Signed-off-by: Alexandru Avadanii +--- + .../0103-virtng-module-Extend-libvirt_domain.patch | 54 ++++++++++++++++++++++ + ...4-salt-control-virt-Extend-libvirt_domain.patch | 51 ++++++++++++++++++++ + mcp/patches/patches.list | 2 + + .../baremetal-mcp-ocata-odl-ha/infra/kvm.yml | 18 ++++++++ + .../baremetal-mcp-ocata-ovs-ha/infra/kvm.yml | 15 ++++++ + 5 files changed, 140 insertions(+) + create mode 100644 mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch + create mode 100644 mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch + +diff --git a/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch +new file mode 100644 +index 0000000..706b67d +--- /dev/null ++++ b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch +@@ -0,0 +1,54 @@ ++From: Alexandru Avadanii ++Date: Mon, 21 Aug 2017 02:03:01 +0200 ++Subject: [PATCH] virtng: module: Extend libvirt_domain ++ ++Extend virtng.py with support for passing down new params: ++- hw_firmware_type; ++- virt_machine_model; ++- cpu_model; ++ ++This functionality relies on the corresponding changes to be ++implemented in libvirt_domain.jinja template. ++ ++These will later be leveraged via salt virt formula with AArch64 ++specific values. ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a/_modules/virtng.py b/_modules/virtng.py ++--- a/_modules/virtng.py +++++ b/_modules/virtng.py ++@@ -56,6 +56,10 @@ ++ ++ VIRT_DEFAULT_HYPER = 'kvm' ++ +++DEFAULT_UEFI_LOADER_PATH = { +++ "x86_64": "/usr/share/OVMF/OVMF_CODE.fd", +++ "aarch64": "/usr/share/AAVMF/AAVMF_CODE.fd" +++} ++ ++ def __virtual__(): ++ if not HAS_ALL_IMPORTS: ++@@ -227,6 +231,21 @@ ++ # TODO: make bus and model parameterized, this works for 64-bit Linux ++ context['controller_model'] = 'lsilogic' ++ +++ # TODO: limit cpu_model, hw_firmware_type, virt_machine_type to qemu/kvm +++ # FIXME: parametrize hardcoded path for NVRAM storage +++ if 'hw_firmware_type' in kwargs and kwargs['hw_firmware_type'] == 'uefi': +++ context['os_loader_type'] = 'pflash' +++ context['os_loader'] = DEFAULT_UEFI_LOADER_PATH[os.uname()[-1]] +++ context['os_loader_nvram'] = '/var/lib/libvirt/qemu/nvram/{0}_VARS.fd'.format(name) +++ +++ if 'virt_machine_model' in kwargs: +++ context['custom_virt_machine'] = True +++ context['virt_machine_model'] = kwargs['virt_machine_model'] +++ +++ if 'cpu_model' in kwargs: +++ context['cpu_mode'] = 'custom' +++ context['cpu_model'] = kwargs['cpu_model'] +++ ++ if 'boot_dev' in kwargs: ++ context['boot_dev'] = [] ++ for dev in kwargs['boot_dev'].split(): +diff --git a/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch +new file mode 100644 +index 0000000..a9fe11b +--- /dev/null ++++ b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch +@@ -0,0 +1,51 @@ ++From: Alexandru Avadanii ++Date: Mon, 21 Aug 2017 02:03:01 +0200 ++Subject: [PATCH] salt: control: virt: Extend libvirt_domain ++ ++Extend salt/control/virt.sls with support for new params: ++- hw_firmware_type; ++- virt_machine_model; ++- cpu_model; ++ ++This functionality relies on the corresponding changes to be ++implemented in libvirt_domain.jinja template, as well as in ++salt custom py module virtng.py. ++ ++These will later be leveraged via reclass model with AArch64 ++specific values. ++ ++FIXME: Move all new params to different section, as "size" is ++definitely not the best choice. ++ ++Example reclass model usage: ++salt: ++ control: ++ size: ++ openstack.example_vm_type: ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a/salt/control/virt.sls b/salt/control/virt.sls ++--- a/salt/control/virt.sls +++++ b/salt/control/virt.sls ++@@ -44,6 +44,16 @@ ++ seed: True ++ serial_type: pty ++ console: True +++ # FIXME(armband): Move these 3 params to different section +++ {%- if size.hw_firmware_type is defined %} +++ hw_firmware_type: {{ size.hw_firmware_type }} +++ {%- endif %} +++ {%- if size.virt_machine_model is defined %} +++ virt_machine_model: {{ size.virt_machine_model }} +++ {%- endif %} +++ {%- if size.cpu_model is defined %} +++ cpu_model: {{ size.cpu_model }} +++ {%- endif %} ++ - unless: virsh list --all --name| grep -E "^{{ node_name }}.{{ cluster.domain }}$" ++ ++ #salt_control_seed_{{ cluster_name }}_{{ node_name }}: +diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list +index 4d75677..2211c14 100644 +--- a/mcp/patches/patches.list ++++ b/mcp/patches/patches.list +@@ -10,3 +10,5 @@ + /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch + /usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch + /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch ++/usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch ++/usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml +index 5e4ea66..3b717d8 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml +@@ -35,26 +35,41 @@ parameters: + openstack.control: + cpu: 4 + ram: 12288 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + openstack.database: + cpu: 4 + ram: 6144 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: large + net_profile: default + openstack.message_queue: + cpu: 4 + ram: 2048 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + openstack.telemetry: + cpu: 2 + ram: 3072 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: xxlarge + net_profile: default + openstack.proxy: + cpu: 2 + ram: 2048 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + # stacklight.log: +@@ -75,6 +90,9 @@ parameters: + opendaylight.server: + cpu: 4 + ram: 6144 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + cluster: +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml +index 95bacb2..0fa27e3 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml +@@ -35,21 +35,33 @@ parameters: + openstack.control: + cpu: 4 + ram: 12288 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + openstack.database: + cpu: 4 + ram: 6144 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: large + net_profile: default + openstack.message_queue: + cpu: 4 + ram: 2048 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + openstack.telemetry: + cpu: 2 + ram: 3072 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: xxlarge + net_profile: default + # stacklight.log: +@@ -70,6 +82,9 @@ parameters: + openstack.proxy: + cpu: 2 + ram: 2048 ++ hw_firmware_type: uefi ++ virt_machine_model: virt ++ cpu_model: host-passthrough + disk_profile: small + net_profile: default + cluster: diff --git a/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-AArch64-bootstrap.patch b/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-AArch64-bootstrap.patch new file mode 100644 index 00000000..b232b3da --- /dev/null +++ b/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-AArch64-bootstrap.patch @@ -0,0 +1,90 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Mon, 21 Aug 2017 20:53:03 +0200 +Subject: [PATCH] mcp: salt-formulas: armband: AArch64 bootstrap + +Recent changes in salt bootstrap script from [1] whitelist a +fixed pool of known architectures. Add "arm64" to that list on the +fly, as part of `config.gather_bootstrap_script`. + +NOTE: This change will be leveraged by passing a custom DEB repo to +the bootstrap script with `-R linux.enea.com/saltstack`. + +NOTE: After running this new state, salt-minion should be restarted +to pick up the changes, so we'll run it before rebooting kvm nodes. + +[1] http://bootstrap.saltstack.com + +Signed-off-by: Alexandru Avadanii +--- + mcp/config/states/maas | 1 + + .../armband/bootstrap_script_arm64.sls | 4 +++ + mcp/salt-formulas/armband/files/cloud.py.diff | 29 ++++++++++++++++++++++ + 3 files changed, 34 insertions(+) + create mode 100644 mcp/salt-formulas/armband/bootstrap_script_arm64.sls + create mode 100644 mcp/salt-formulas/armband/files/cloud.py.diff + +diff --git a/mcp/config/states/maas b/mcp/config/states/maas +index 42738e3..1adccbf 100755 +--- a/mcp/config/states/maas ++++ b/mcp/config/states/maas +@@ -85,6 +85,7 @@ salt -C '* and not cfg01* and not mas01*' saltutil.sync_all + + salt -C 'kvm*' pkg.install bridge-utils + salt -C 'kvm*' state.apply linux.network ++salt -C 'kvm*' state.apply armband.bootstrap_script_arm64 + salt -C 'kvm*' system.reboot + wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'" + +diff --git a/mcp/salt-formulas/armband/bootstrap_script_arm64.sls b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls +new file mode 100644 +index 0000000..845dedd +--- /dev/null ++++ b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls +@@ -0,0 +1,4 @@ ++/usr/lib/python2.7/dist-packages/salt/utils/cloud.py: ++ file.patch: ++ - source: salt://armband/files/cloud.py.diff ++ - hash: "ecd450b187156c1f6a91ea272fd668b0" +diff --git a/mcp/salt-formulas/armband/files/cloud.py.diff b/mcp/salt-formulas/armband/files/cloud.py.diff +new file mode 100644 +index 0000000..75c3281 +--- /dev/null ++++ b/mcp/salt-formulas/armband/files/cloud.py.diff +@@ -0,0 +1,29 @@ ++From: Alexandru Avadanii ++Date: Sun Aug 20 18:18:53 2017 +0200 ++Subject: [PATCH] cloud.py: Allow AArch64 arch in salt bootstrap ++ ++Recent changes in salt bootstrap script from [1] whitelist a ++fixed pool of known architectures. Add "arm64" to that list on the ++fly, as part of `config.gather_bootstrap_script`. ++ ++NOTE: This change will be leveraged by passing a custom DEB repo to ++the bootstrap script with `-R linux.enea.com/saltstack`. ++ ++[1] http://bootstrap.saltstack.com ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py ++--- a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py +++++ b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py ++@@ -2772,6 +2772,9 @@ ++ if not script_content: ++ raise ValueError('No content in bootstrap script !') ++ +++ # NOTE(armband): edit bootstrap script on the fly to allow AArch64 +++ script_content = script_content.replace('"amd64")', '"amd64"|"arm64")') +++ ++ # Get the path to the built-in deploy scripts directory ++ builtin_deploy_dir = os.path.join( ++ os.path.dirname(__file__), diff --git a/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-Extend-libvirt_domain.patch deleted file mode 100644 index a30322b3..00000000 --- a/patches/opnfv-fuel/0010-mcp-salt-formulas-armband-Extend-libvirt_domain.patch +++ /dev/null @@ -1,105 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Sun, 20 Aug 2017 22:41:26 +0200 -Subject: [PATCH] mcp: salt-formulas: armband: Extend libvirt_domain - -Add new state in armband salt formula that extends salt's virt -libvirt_domain.jinja template with support for: -- hw_firmware_type; -- virt_machine_model; -- cpu_model; - -These will later be leveraged via salt virt formula with AArch64 -specific values. - -Signed-off-by: Alexandru Avadanii ---- - mcp/config/states/maas | 2 +- - .../armband/files/libvirt_domain.jinja.diff | 46 ++++++++++++++++++++++ - .../armband/libvirt_domain_template.sls | 4 ++ - 3 files changed, 51 insertions(+), 1 deletion(-) - create mode 100644 mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff - create mode 100644 mcp/salt-formulas/armband/libvirt_domain_template.sls - -diff --git a/mcp/config/states/maas b/mcp/config/states/maas -index df1f7ed..42738e3 100755 ---- a/mcp/config/states/maas -+++ b/mcp/config/states/maas -@@ -90,7 +90,7 @@ wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected - - salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp - --salt -C 'kvm*' state.sls armband -+salt -C 'kvm*' state.sls armband,armband.libvirt_domain_template - salt -C 'kvm*' state.sls libvirt - - salt -C '* and not cfg01* and not mas01*' state.apply salt -diff --git a/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff b/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff -new file mode 100644 -index 0000000..4e7fad5 ---- /dev/null -+++ b/mcp/salt-formulas/armband/files/libvirt_domain.jinja.diff -@@ -0,0 +1,46 @@ -+From: Alexandru Avadanii -+Date: Sun Aug 20 18:18:53 2017 +0200 -+Subject: [PATCH] libvirt_domain.jinja: Add AArch64 support -+ -+Salt virt state relies on a Jinja template to create a libvirt -+XML definition for each new VM. -+This template needs to be extended with a few specific options -+for AArch64: -+- UEFI loader support (pflash); -+- custom machine model (e.g. 'virt-2.9'), since AArch64 defaults to -+ 'integratorcp'; -+- custom cpu model; -+ -+Allow all these to be parametrized from the salt virt formula, -+which we will also adapt to allow the params to be passed via our -+reclass model. -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja b/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja -+--- a/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja -++++ b/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja -+@@ -3,11 +3,22 @@ -+ {{ cpu }} -+ {{ mem }} -+ -++ {% if custom_virt_machine %} -++ hvm -++ {% else %} -+ hvm -++ {% endif %} -++ {% if os_loader_type == 'pflash' %} -++ {{ os_loader }} -++ {{ os_loader_nvram }} -++ {% endif %} -+ {% for dev in boot_dev %} -+ -+ {% endfor %} -+ -++ {% if cpu_mode == 'custom' %} -++ -++ {% endif %} -+ -+ {% for diskname, disk in disks.items() %} -+ -diff --git a/mcp/salt-formulas/armband/libvirt_domain_template.sls b/mcp/salt-formulas/armband/libvirt_domain_template.sls -new file mode 100644 -index 0000000..7cc8e22 ---- /dev/null -+++ b/mcp/salt-formulas/armband/libvirt_domain_template.sls -@@ -0,0 +1,4 @@ -+/usr/lib/python2.7/dist-packages/salt/templates/virt/libvirt_domain.jinja: -+ file.patch: -+ - source: salt://armband/files/libvirt_domain.jinja.diff -+ - hash: "9d02cd8aa04497c2d75c72840a5c6c41" diff --git a/patches/opnfv-fuel/0011-seedng-module-Add-AArch64-repo.patch b/patches/opnfv-fuel/0011-seedng-module-Add-AArch64-repo.patch new file mode 100644 index 00000000..4f6474a1 --- /dev/null +++ b/patches/opnfv-fuel/0011-seedng-module-Add-AArch64-repo.patch @@ -0,0 +1,59 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Mon, 21 Aug 2017 20:42:00 +0200 +Subject: [PATCH] seedng: module: Add AArch64 repo + +salt custom py module seedng.py should use custom repo arg +"-R linux.enea.com/saltstack" on AArch64 nodes. + +Signed-off-by: Alexandru Avadanii +--- + .../0105-seedng-module-Add-AArch64-repo.patch | 22 ++++++++++++++++++++++ + mcp/patches/patches.list | 1 + + 2 files changed, 23 insertions(+) + create mode 100644 mcp/patches/0105-seedng-module-Add-AArch64-repo.patch + +diff --git a/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch +new file mode 100644 +index 0000000..d40e63b +--- /dev/null ++++ b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch +@@ -0,0 +1,22 @@ ++From: Alexandru Avadanii ++Date: Mon, 21 Aug 2017 02:03:01 +0200 ++Subject: [PATCH] seedng: module: Add AArch64 repo ++ ++salt custom py module seedng.py should use custom repo arg ++"-R linux.enea.com/saltstack" on AArch64 nodes. ++ ++Signed-off-by: Alexandru Avadanii ++--- ++ ++diff --git a/_modules/seedng.py b/_modules/seedng.py ++--- a/_modules/seedng.py +++++ b/_modules/seedng.py ++@@ -257,6 +257,7 @@ ++ or salt.syspaths.BOOTSTRAP) ++ # Exec the chroot command ++- arg = 'stable {0}'.format('.'.join(salt.version.__version__.split('.')[:2])) +++ arg = '-R linux.enea.com/saltstack ' if os.uname()[-1] == 'aarch64' else '' +++ arg += 'stable {0}'.format('.'.join(salt.version.__version__.split('.')[:2])) ++ cmd = 'if type salt-minion; then exit 0; ' ++ cmd += 'else sh {0} -c /tmp {1}; fi'.format( ++ os.path.join(tmppath, 'bootstrap-salt.sh'), arg) +diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list +index 2211c14..a6dfb6b 100644 +--- a/mcp/patches/patches.list ++++ b/mcp/patches/patches.list +@@ -12,3 +12,4 @@ + /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch + /usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch + /usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch ++/usr/share/salt-formulas/env: 0105-seedng-module-Add-AArch64-repo.patch diff --git a/patches/opnfv-fuel/0011-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0011-virtng.py-virt.sls-Extend-libvirt_domain.patch deleted file mode 100644 index d61b8100..00000000 --- a/patches/opnfv-fuel/0011-virtng.py-virt.sls-Extend-libvirt_domain.patch +++ /dev/null @@ -1,265 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Mon, 21 Aug 2017 01:10:16 +0200 -Subject: [PATCH] virtng.py, virt.sls: Extend libvirt_domain - -Extend _modules/virtng.py, salt/control/virt.sls with support for: -- hw_firmware_type; -- virt_machine_model; -- cpu_model; - -This functionality relies on the corresponding changes to be -implemented in libvirt_domain.jinja template. - -These will later be leveraged via our reclass model with AArch64 -specific values. - -Signed-off-by: Alexandru Avadanii ---- - .../0103-virtng-module-Extend-libvirt_domain.patch | 54 ++++++++++++++++++++++ - ...4-salt-control-virt-Extend-libvirt_domain.patch | 51 ++++++++++++++++++++ - mcp/patches/patches.list | 2 + - .../baremetal-mcp-ocata-odl-ha/infra/kvm.yml | 18 ++++++++ - .../baremetal-mcp-ocata-ovs-ha/infra/kvm.yml | 15 ++++++ - 5 files changed, 140 insertions(+) - create mode 100644 mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch - create mode 100644 mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch - -diff --git a/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch -new file mode 100644 -index 0000000..706b67d ---- /dev/null -+++ b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch -@@ -0,0 +1,54 @@ -+From: Alexandru Avadanii -+Date: Mon, 21 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] virtng: module: Extend libvirt_domain -+ -+Extend virtng.py with support for passing down new params: -+- hw_firmware_type; -+- virt_machine_model; -+- cpu_model; -+ -+This functionality relies on the corresponding changes to be -+implemented in libvirt_domain.jinja template. -+ -+These will later be leveraged via salt virt formula with AArch64 -+specific values. -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a/_modules/virtng.py b/_modules/virtng.py -+--- a/_modules/virtng.py -++++ b/_modules/virtng.py -+@@ -56,6 +56,10 @@ -+ -+ VIRT_DEFAULT_HYPER = 'kvm' -+ -++DEFAULT_UEFI_LOADER_PATH = { -++ "x86_64": "/usr/share/OVMF/OVMF_CODE.fd", -++ "aarch64": "/usr/share/AAVMF/AAVMF_CODE.fd" -++} -+ -+ def __virtual__(): -+ if not HAS_ALL_IMPORTS: -+@@ -227,6 +231,21 @@ -+ # TODO: make bus and model parameterized, this works for 64-bit Linux -+ context['controller_model'] = 'lsilogic' -+ -++ # TODO: limit cpu_model, hw_firmware_type, virt_machine_type to qemu/kvm -++ # FIXME: parametrize hardcoded path for NVRAM storage -++ if 'hw_firmware_type' in kwargs and kwargs['hw_firmware_type'] == 'uefi': -++ context['os_loader_type'] = 'pflash' -++ context['os_loader'] = DEFAULT_UEFI_LOADER_PATH[os.uname()[-1]] -++ context['os_loader_nvram'] = '/var/lib/libvirt/qemu/nvram/{0}_VARS.fd'.format(name) -++ -++ if 'virt_machine_model' in kwargs: -++ context['custom_virt_machine'] = True -++ context['virt_machine_model'] = kwargs['virt_machine_model'] -++ -++ if 'cpu_model' in kwargs: -++ context['cpu_mode'] = 'custom' -++ context['cpu_model'] = kwargs['cpu_model'] -++ -+ if 'boot_dev' in kwargs: -+ context['boot_dev'] = [] -+ for dev in kwargs['boot_dev'].split(): -diff --git a/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch -new file mode 100644 -index 0000000..a9fe11b ---- /dev/null -+++ b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch -@@ -0,0 +1,51 @@ -+From: Alexandru Avadanii -+Date: Mon, 21 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] salt: control: virt: Extend libvirt_domain -+ -+Extend salt/control/virt.sls with support for new params: -+- hw_firmware_type; -+- virt_machine_model; -+- cpu_model; -+ -+This functionality relies on the corresponding changes to be -+implemented in libvirt_domain.jinja template, as well as in -+salt custom py module virtng.py. -+ -+These will later be leveraged via reclass model with AArch64 -+specific values. -+ -+FIXME: Move all new params to different section, as "size" is -+definitely not the best choice. -+ -+Example reclass model usage: -+salt: -+ control: -+ size: -+ openstack.example_vm_type: -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a/salt/control/virt.sls b/salt/control/virt.sls -+--- a/salt/control/virt.sls -++++ b/salt/control/virt.sls -+@@ -44,6 +44,16 @@ -+ seed: True -+ serial_type: pty -+ console: True -++ # FIXME(armband): Move these 3 params to different section -++ {%- if size.hw_firmware_type is defined %} -++ hw_firmware_type: {{ size.hw_firmware_type }} -++ {%- endif %} -++ {%- if size.virt_machine_model is defined %} -++ virt_machine_model: {{ size.virt_machine_model }} -++ {%- endif %} -++ {%- if size.cpu_model is defined %} -++ cpu_model: {{ size.cpu_model }} -++ {%- endif %} -+ - unless: virsh list --all --name| grep -E "^{{ node_name }}.{{ cluster.domain }}$" -+ -+ #salt_control_seed_{{ cluster_name }}_{{ node_name }}: -diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list -index 4d75677..2211c14 100644 ---- a/mcp/patches/patches.list -+++ b/mcp/patches/patches.list -@@ -10,3 +10,5 @@ - /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch - /usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch - /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch -+/usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch -+/usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml -index f9427be..a5cc5b0 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml -@@ -35,26 +35,41 @@ parameters: - openstack.control: - cpu: 4 - ram: 12288 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.database: - cpu: 4 - ram: 6144 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: large - net_profile: default - openstack.message_queue: - cpu: 4 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.telemetry: - cpu: 2 - ram: 3072 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: xxlarge - net_profile: default - openstack.proxy: - cpu: 2 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - # stacklight.log: -@@ -75,6 +90,9 @@ parameters: - opendaylight.server: - cpu: 4 - ram: 6144 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - cluster: -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml -index 95bacb2..0fa27e3 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml -@@ -35,21 +35,33 @@ parameters: - openstack.control: - cpu: 4 - ram: 12288 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.database: - cpu: 4 - ram: 6144 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: large - net_profile: default - openstack.message_queue: - cpu: 4 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.telemetry: - cpu: 2 - ram: 3072 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: xxlarge - net_profile: default - # stacklight.log: -@@ -70,6 +82,9 @@ parameters: - openstack.proxy: - cpu: 2 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - cluster: diff --git a/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch b/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch new file mode 100644 index 00000000..d6c0b9d1 --- /dev/null +++ b/patches/opnfv-fuel/0012-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch @@ -0,0 +1,60 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Thu, 24 Aug 2017 04:09:59 +0200 +Subject: [PATCH] lib.sh: rm Ubuntu boot entry on EFI systems + +On EFI-enabled systems, grub-install from grub-efi-* package +installs a boot entry named "ubuntu". + +MaaS relies on IPMI to set boot order to PXE first; however +on systems with buggy firmware or without full IPMI support, +that fails, leading to booting Ubuntu from hard disk instead. + +Work around this by clearing any previous Ubuntu boot entry +from board flash, before starting a new baremetal deploy. + +NOTE: This only runs against nodes that are online from a +previous deploy. + +Closes: ARMBAND-47 + +Signed-off-by: Alexandru Avadanii +--- + mcp/scripts/lib.sh | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh +index 4b88ab7..90ab8c5 100644 +--- a/mcp/scripts/lib.sh ++++ b/mcp/scripts/lib.sh +@@ -28,6 +28,15 @@ get_base_image() { + wget -P "${image_dir}" -N "${base_image}" + } + ++cleanup_uefi() { ++ # Clean up Ubuntu boot entry if cfg01, kvm nodes online from previous deploy ++ # shellcheck disable=SC2086 ++ ssh ${SSH_OPTS} "ubuntu@${SALT_MASTER}" "sudo salt -C 'kvm* or cmp*' cmd.run \ ++ \"which efibootmgr > /dev/null 2>&1 && \ ++ efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \ ++ xargs -I{} efibootmgr --delete-bootnum --bootnum {}\"" || true ++} ++ + cleanup_vms() { + # clean up existing nodes + for node in $(virsh list --name | grep -P '\w{3}\d{2}'); do +@@ -45,6 +54,7 @@ prepare_vms() { + local base_image=$2 + local image_dir=$3 + ++ cleanup_uefi + cleanup_vms + get_base_image "${base_image}" "${image_dir}" + # shellcheck disable=SC2016 diff --git a/patches/opnfv-fuel/0012-mcp-salt-formulas-armband-AArch64-bootstrap.patch b/patches/opnfv-fuel/0012-mcp-salt-formulas-armband-AArch64-bootstrap.patch deleted file mode 100644 index b232b3da..00000000 --- a/patches/opnfv-fuel/0012-mcp-salt-formulas-armband-AArch64-bootstrap.patch +++ /dev/null @@ -1,90 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Mon, 21 Aug 2017 20:53:03 +0200 -Subject: [PATCH] mcp: salt-formulas: armband: AArch64 bootstrap - -Recent changes in salt bootstrap script from [1] whitelist a -fixed pool of known architectures. Add "arm64" to that list on the -fly, as part of `config.gather_bootstrap_script`. - -NOTE: This change will be leveraged by passing a custom DEB repo to -the bootstrap script with `-R linux.enea.com/saltstack`. - -NOTE: After running this new state, salt-minion should be restarted -to pick up the changes, so we'll run it before rebooting kvm nodes. - -[1] http://bootstrap.saltstack.com - -Signed-off-by: Alexandru Avadanii ---- - mcp/config/states/maas | 1 + - .../armband/bootstrap_script_arm64.sls | 4 +++ - mcp/salt-formulas/armband/files/cloud.py.diff | 29 ++++++++++++++++++++++ - 3 files changed, 34 insertions(+) - create mode 100644 mcp/salt-formulas/armband/bootstrap_script_arm64.sls - create mode 100644 mcp/salt-formulas/armband/files/cloud.py.diff - -diff --git a/mcp/config/states/maas b/mcp/config/states/maas -index 42738e3..1adccbf 100755 ---- a/mcp/config/states/maas -+++ b/mcp/config/states/maas -@@ -85,6 +85,7 @@ salt -C '* and not cfg01* and not mas01*' saltutil.sync_all - - salt -C 'kvm*' pkg.install bridge-utils - salt -C 'kvm*' state.apply linux.network -+salt -C 'kvm*' state.apply armband.bootstrap_script_arm64 - salt -C 'kvm*' system.reboot - wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'" - -diff --git a/mcp/salt-formulas/armband/bootstrap_script_arm64.sls b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls -new file mode 100644 -index 0000000..845dedd ---- /dev/null -+++ b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls -@@ -0,0 +1,4 @@ -+/usr/lib/python2.7/dist-packages/salt/utils/cloud.py: -+ file.patch: -+ - source: salt://armband/files/cloud.py.diff -+ - hash: "ecd450b187156c1f6a91ea272fd668b0" -diff --git a/mcp/salt-formulas/armband/files/cloud.py.diff b/mcp/salt-formulas/armband/files/cloud.py.diff -new file mode 100644 -index 0000000..75c3281 ---- /dev/null -+++ b/mcp/salt-formulas/armband/files/cloud.py.diff -@@ -0,0 +1,29 @@ -+From: Alexandru Avadanii -+Date: Sun Aug 20 18:18:53 2017 +0200 -+Subject: [PATCH] cloud.py: Allow AArch64 arch in salt bootstrap -+ -+Recent changes in salt bootstrap script from [1] whitelist a -+fixed pool of known architectures. Add "arm64" to that list on the -+fly, as part of `config.gather_bootstrap_script`. -+ -+NOTE: This change will be leveraged by passing a custom DEB repo to -+the bootstrap script with `-R linux.enea.com/saltstack`. -+ -+[1] http://bootstrap.saltstack.com -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py -+--- a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py -++++ b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py -+@@ -2772,6 +2772,9 @@ -+ if not script_content: -+ raise ValueError('No content in bootstrap script !') -+ -++ # NOTE(armband): edit bootstrap script on the fly to allow AArch64 -++ script_content = script_content.replace('"amd64")', '"amd64"|"arm64")') -++ -+ # Get the path to the built-in deploy scripts directory -+ builtin_deploy_dir = os.path.join( -+ os.path.dirname(__file__), diff --git a/patches/opnfv-fuel/0013-aarch64-skip-configuration-of-hugepages.patch b/patches/opnfv-fuel/0013-aarch64-skip-configuration-of-hugepages.patch new file mode 100644 index 00000000..ed9f1fce --- /dev/null +++ b/patches/opnfv-fuel/0013-aarch64-skip-configuration-of-hugepages.patch @@ -0,0 +1,96 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Charalampos Kominos +Date: Thu, 24 Aug 2017 19:28:14 +0200 +Subject: [PATCH] aarch64: skip configuration of hugepages + +The reclass model contains instructions on how to setup nova.conf. +Those instructions need to be overwritten for ARM. + +Signed-off-by: Guillermo Herrero +Signed-off-by: Charalampos Kominos +--- + .../cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml | 4 ++-- + .../cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml | 10 +++++----- + .../cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml | 4 ++-- + .../cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml | 10 +++++----- + 4 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml +index a41df69..10a5a88 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml +@@ -6,8 +6,8 @@ classes: + - system.linux.storage.loopback + - system.glusterfs.client.cluster + - system.nova.compute.cluster +- - system.nova.compute.nfv.hugepages +- - system.nova.compute.nfv.cpu_pinning ++ # - system.nova.compute.nfv.hugepages ++ # - system.nova.compute.nfv.cpu_pinning + - system.neutron.gateway.opendaylight.single + - system.neutron.gateway.cluster + - system.cinder.volume.single +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml +index c7df472..4db9ee0 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml +@@ -102,11 +102,11 @@ parameters: + rabbitmq_secret_key: opnfv_secret + rabbitmq_admin_password: opnfv_secret + rabbitmq_openstack_password: opnfv_secret +- nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" +- compute_hugepages_size: 1G +- compute_hugepages_count: 16 +- compute_hugepages_mount: /mnt/hugepages_1G +- compute_kernel_isolcpu: ${_param:nova_cpu_pinning} ++ # nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" ++ # compute_hugepages_size: 1G ++ # compute_hugepages_count: 16 ++ # compute_hugepages_mount: /mnt/hugepages_1G ++ # compute_kernel_isolcpu: ${_param:nova_cpu_pinning} + glance_version: ${_param:openstack_version} + glance_service_host: ${_param:openstack_control_address} + keystone_version: ${_param:openstack_version} +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml +index e3f0cff..6ed1622 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml +@@ -6,8 +6,8 @@ classes: + - system.linux.storage.loopback + - system.glusterfs.client.cluster + - system.nova.compute.cluster +- - system.nova.compute.nfv.hugepages +- - system.nova.compute.nfv.cpu_pinning ++ # - system.nova.compute.nfv.hugepages ++ # - system.nova.compute.nfv.cpu_pinning + - system.neutron.gateway.cluster + - system.cinder.volume.single + - system.cinder.volume.backend.lvm +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml +index 7ce282b..9401f60 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml +@@ -96,11 +96,11 @@ parameters: + rabbitmq_secret_key: opnfv_secret + rabbitmq_admin_password: opnfv_secret + rabbitmq_openstack_password: opnfv_secret +- nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" +- compute_hugepages_size: 1G +- compute_hugepages_count: 16 +- compute_hugepages_mount: /mnt/hugepages_1G +- compute_kernel_isolcpu: ${_param:nova_cpu_pinning} ++ # nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" ++ # compute_hugepages_size: 1G ++ # compute_hugepages_count: 16 ++ # compute_hugepages_mount: /mnt/hugepages_1G ++ # compute_kernel_isolcpu: ${_param:nova_cpu_pinning} + glance_version: ${_param:openstack_version} + glance_service_host: ${_param:openstack_control_address} + keystone_version: ${_param:openstack_version} diff --git a/patches/opnfv-fuel/0013-seedng-module-Add-AArch64-repo.patch b/patches/opnfv-fuel/0013-seedng-module-Add-AArch64-repo.patch deleted file mode 100644 index 4f6474a1..00000000 --- a/patches/opnfv-fuel/0013-seedng-module-Add-AArch64-repo.patch +++ /dev/null @@ -1,59 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Mon, 21 Aug 2017 20:42:00 +0200 -Subject: [PATCH] seedng: module: Add AArch64 repo - -salt custom py module seedng.py should use custom repo arg -"-R linux.enea.com/saltstack" on AArch64 nodes. - -Signed-off-by: Alexandru Avadanii ---- - .../0105-seedng-module-Add-AArch64-repo.patch | 22 ++++++++++++++++++++++ - mcp/patches/patches.list | 1 + - 2 files changed, 23 insertions(+) - create mode 100644 mcp/patches/0105-seedng-module-Add-AArch64-repo.patch - -diff --git a/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch -new file mode 100644 -index 0000000..d40e63b ---- /dev/null -+++ b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch -@@ -0,0 +1,22 @@ -+From: Alexandru Avadanii -+Date: Mon, 21 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] seedng: module: Add AArch64 repo -+ -+salt custom py module seedng.py should use custom repo arg -+"-R linux.enea.com/saltstack" on AArch64 nodes. -+ -+Signed-off-by: Alexandru Avadanii -+--- -+ -+diff --git a/_modules/seedng.py b/_modules/seedng.py -+--- a/_modules/seedng.py -++++ b/_modules/seedng.py -+@@ -257,6 +257,7 @@ -+ or salt.syspaths.BOOTSTRAP) -+ # Exec the chroot command -+- arg = 'stable {0}'.format('.'.join(salt.version.__version__.split('.')[:2])) -++ arg = '-R linux.enea.com/saltstack ' if os.uname()[-1] == 'aarch64' else '' -++ arg += 'stable {0}'.format('.'.join(salt.version.__version__.split('.')[:2])) -+ cmd = 'if type salt-minion; then exit 0; ' -+ cmd += 'else sh {0} -c /tmp {1}; fi'.format( -+ os.path.join(tmppath, 'bootstrap-salt.sh'), arg) -diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list -index 2211c14..a6dfb6b 100644 ---- a/mcp/patches/patches.list -+++ b/mcp/patches/patches.list -@@ -12,3 +12,4 @@ - /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch - /usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch - /usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch -+/usr/share/salt-formulas/env: 0105-seedng-module-Add-AArch64-repo.patch diff --git a/patches/opnfv-fuel/0014-baremetal-virtual-Extend-arch-list-for-UCA-repo.patch b/patches/opnfv-fuel/0014-baremetal-virtual-Extend-arch-list-for-UCA-repo.patch new file mode 100644 index 00000000..de1e49cb --- /dev/null +++ b/patches/opnfv-fuel/0014-baremetal-virtual-Extend-arch-list-for-UCA-repo.patch @@ -0,0 +1,88 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Wed, 30 Aug 2017 22:15:07 +0200 +Subject: [PATCH] baremetal, virtual: Extend arch list for UCA repo + +JIRA: https://jira.opnfv.org/browse/ARMBAND-304 + +Signed-off-by: Alexandru Avadanii +--- + .../classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml | 2 +- + .../cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml | 2 +- + .../classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/init.yml | 2 +- + .../classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml | 2 +- + .../classes/cluster/virtual-mcp-ocata-odl-router/openstack/init.yml | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml +index 4db9ee0..9e37954 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml +@@ -203,7 +203,7 @@ parameters: + repo: + uca: + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" +- architectures: amd64 ++ architectures: amd64,arm64 + key_id: EC4926EA + key_server: keyserver.ubuntu.com + kernel: +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml +index 696c5a5..b90b20b 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/compute.yml +@@ -61,7 +61,7 @@ parameters: + uca: + # yamllint disable-line rule:line-length + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" +- architectures: amd64 ++ architectures: amd64,arm64 + key_id: EC4926EA + key_server: keyserver.ubuntu.com + network: +diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/init.yml +index 9fa69ba..3f3cdb4 100644 +--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/init.yml ++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/openstack/init.yml +@@ -204,7 +204,7 @@ parameters: + repo: + uca: + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" +- architectures: amd64 ++ architectures: amd64,arm64 + key_id: EC4926EA + key_server: keyserver.ubuntu.com + kernel: +diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml +index d072956..e96e091 100644 +--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml ++++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/openstack_compute.yml +@@ -59,7 +59,7 @@ parameters: + uca: + # yamllint disable-line rule:line-length + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" +- architectures: amd64 ++ architectures: amd64,arm64 + key_id: EC4926EA + key_server: keyserver.ubuntu.com + kernel: +diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/openstack/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/openstack/init.yml +index ed03eb4..40fb60d 100644 +--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/openstack/init.yml ++++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/openstack/init.yml +@@ -11,7 +11,7 @@ parameters: + uca: + # yamllint disable-line rule:line-length + source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" +- architectures: amd64 ++ architectures: amd64,arm64 + key_id: EC4926EA + key_server: keyserver.ubuntu.com + network: diff --git a/patches/opnfv-fuel/0014-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch b/patches/opnfv-fuel/0014-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch deleted file mode 100644 index d6c0b9d1..00000000 --- a/patches/opnfv-fuel/0014-lib.sh-rm-Ubuntu-boot-entry-on-EFI-systems.patch +++ /dev/null @@ -1,60 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Thu, 24 Aug 2017 04:09:59 +0200 -Subject: [PATCH] lib.sh: rm Ubuntu boot entry on EFI systems - -On EFI-enabled systems, grub-install from grub-efi-* package -installs a boot entry named "ubuntu". - -MaaS relies on IPMI to set boot order to PXE first; however -on systems with buggy firmware or without full IPMI support, -that fails, leading to booting Ubuntu from hard disk instead. - -Work around this by clearing any previous Ubuntu boot entry -from board flash, before starting a new baremetal deploy. - -NOTE: This only runs against nodes that are online from a -previous deploy. - -Closes: ARMBAND-47 - -Signed-off-by: Alexandru Avadanii ---- - mcp/scripts/lib.sh | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh -index 4b88ab7..90ab8c5 100644 ---- a/mcp/scripts/lib.sh -+++ b/mcp/scripts/lib.sh -@@ -28,6 +28,15 @@ get_base_image() { - wget -P "${image_dir}" -N "${base_image}" - } - -+cleanup_uefi() { -+ # Clean up Ubuntu boot entry if cfg01, kvm nodes online from previous deploy -+ # shellcheck disable=SC2086 -+ ssh ${SSH_OPTS} "ubuntu@${SALT_MASTER}" "sudo salt -C 'kvm* or cmp*' cmd.run \ -+ \"which efibootmgr > /dev/null 2>&1 && \ -+ efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \ -+ xargs -I{} efibootmgr --delete-bootnum --bootnum {}\"" || true -+} -+ - cleanup_vms() { - # clean up existing nodes - for node in $(virsh list --name | grep -P '\w{3}\d{2}'); do -@@ -45,6 +54,7 @@ prepare_vms() { - local base_image=$2 - local image_dir=$3 - -+ cleanup_uefi - cleanup_vms - get_base_image "${base_image}" "${image_dir}" - # shellcheck disable=SC2016 diff --git a/patches/opnfv-fuel/0015-Add-opnfv-user-to-the-deployment.patch b/patches/opnfv-fuel/0015-Add-opnfv-user-to-the-deployment.patch new file mode 100644 index 00000000..1f937ca0 --- /dev/null +++ b/patches/opnfv-fuel/0015-Add-opnfv-user-to-the-deployment.patch @@ -0,0 +1,67 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Charalampos Kominos +Date: Fri, 1 Sep 2017 12:24:35 +0200 +Subject: [PATCH] Add opnfv user to the deployment + +Signed-off-by: Alexandru Avadanii +Signed-off-by: Charalampos Kominos +Signed-off-by: Guillermo Herrero +--- + mcp/config/states/maas | 2 ++ + mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml | 4 ++++ + mcp/salt-formulas/opnfv/adduser.sls | 7 +++++++ + 3 files changed, 13 insertions(+) + create mode 100644 mcp/salt-formulas/opnfv/adduser.sls + +diff --git a/mcp/config/states/maas b/mcp/config/states/maas +index 1adccbf..85d1a9e 100755 +--- a/mcp/config/states/maas ++++ b/mcp/config/states/maas +@@ -84,6 +84,7 @@ salt -C 'mas01*' pillar.item\ + salt -C '* and not cfg01* and not mas01*' saltutil.sync_all + + salt -C 'kvm*' pkg.install bridge-utils ++salt -C '*' state.apply opnfv.adduser + salt -C 'kvm*' state.apply linux.network + salt -C 'kvm*' state.apply armband.bootstrap_script_arm64 + salt -C 'kvm*' system.reboot +@@ -108,6 +109,7 @@ while [ $rc -ne 0 ]; do + rc=0 + for node in $vcp_nodes; do + salt "$node" test.ping 2>/dev/null || { rc=$?; break; }; ++ salt -C "$node" state.apply opnfv.adduser + done + sleep 5 + done +diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml +index c9be2c2..5c84ec6 100644 +--- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml ++++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml +@@ -2,3 +2,7 @@ + classes: + - cluster.all-mcp-ocata-common.opnfv.runtime + - cluster.all-mcp-ocata-common.opnfv.pod_config ++parameters: ++ _param: ++ opnfv_user_username: opnfv ++ opnfv_user_password: $1$5/pIEHT1$XFBhNWW4Q8gYd19hczgPF1 +diff --git a/mcp/salt-formulas/opnfv/adduser.sls b/mcp/salt-formulas/opnfv/adduser.sls +new file mode 100644 +index 0000000..78ef993 +--- /dev/null ++++ b/mcp/salt-formulas/opnfv/adduser.sls +@@ -0,0 +1,7 @@ ++add_opnfv_user: ++ user.present: ++ - name: {{ salt['pillar.get']('_param:opnfv_user_username') }} ++ - password: {{ salt['pillar.get']('_param:opnfv_user_password') }} ++ - createhome: True ++ - groups: ++ - sudo diff --git a/patches/opnfv-fuel/0015-aarch64-skip-configuration-of-hugepages.patch b/patches/opnfv-fuel/0015-aarch64-skip-configuration-of-hugepages.patch deleted file mode 100644 index 53abfc4c..00000000 --- a/patches/opnfv-fuel/0015-aarch64-skip-configuration-of-hugepages.patch +++ /dev/null @@ -1,96 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Charalampos Kominos -Date: Thu, 24 Aug 2017 19:28:14 +0200 -Subject: [PATCH] aarch64: skip configuration of hugepages - -The reclass model contains instructions on how to setup nova.conf. -Those instructions need to be overwritten for ARM. - -Signed-off-by: Guillermo Herrero -Signed-off-by: Charalampos Kominos ---- - .../cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml | 4 ++-- - .../cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml | 10 +++++----- - .../cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml | 4 ++-- - .../cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml | 10 +++++----- - 4 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml -index 605bfe1..51f5635 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/compute.yml -@@ -6,8 +6,8 @@ classes: - - system.linux.storage.loopback - - system.glusterfs.client.cluster - - system.nova.compute.cluster -- - system.nova.compute.nfv.hugepages -- - system.nova.compute.nfv.cpu_pinning -+ # - system.nova.compute.nfv.hugepages -+ # - system.nova.compute.nfv.cpu_pinning - - system.neutron.gateway.opendaylight.single - - system.neutron.gateway.cluster - - system.cinder.volume.single -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -index e288322..a40d23e 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -@@ -102,11 +102,11 @@ parameters: - rabbitmq_secret_key: opnfv_secret - rabbitmq_admin_password: opnfv_secret - rabbitmq_openstack_password: opnfv_secret -- nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" -- compute_hugepages_size: 1G -- compute_hugepages_count: 16 -- compute_hugepages_mount: /mnt/hugepages_1G -- compute_kernel_isolcpu: ${_param:nova_cpu_pinning} -+ # nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" -+ # compute_hugepages_size: 1G -+ # compute_hugepages_count: 16 -+ # compute_hugepages_mount: /mnt/hugepages_1G -+ # compute_kernel_isolcpu: ${_param:nova_cpu_pinning} - glance_version: ${_param:openstack_version} - glance_service_host: ${_param:openstack_control_address} - keystone_version: ${_param:openstack_version} -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml -index e3f0cff..6ed1622 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/compute.yml -@@ -6,8 +6,8 @@ classes: - - system.linux.storage.loopback - - system.glusterfs.client.cluster - - system.nova.compute.cluster -- - system.nova.compute.nfv.hugepages -- - system.nova.compute.nfv.cpu_pinning -+ # - system.nova.compute.nfv.hugepages -+ # - system.nova.compute.nfv.cpu_pinning - - system.neutron.gateway.cluster - - system.cinder.volume.single - - system.cinder.volume.backend.lvm -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml -index 7ce282b..9401f60 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml -@@ -96,11 +96,11 @@ parameters: - rabbitmq_secret_key: opnfv_secret - rabbitmq_admin_password: opnfv_secret - rabbitmq_openstack_password: opnfv_secret -- nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" -- compute_hugepages_size: 1G -- compute_hugepages_count: 16 -- compute_hugepages_mount: /mnt/hugepages_1G -- compute_kernel_isolcpu: ${_param:nova_cpu_pinning} -+ # nova_cpu_pinning: "1,2,3,4,5,7,8,9,10,11" -+ # compute_hugepages_size: 1G -+ # compute_hugepages_count: 16 -+ # compute_hugepages_mount: /mnt/hugepages_1G -+ # compute_kernel_isolcpu: ${_param:nova_cpu_pinning} - glance_version: ${_param:openstack_version} - glance_service_host: ${_param:openstack_control_address} - keystone_version: ${_param:openstack_version} diff --git a/patches/opnfv-fuel/0016-baremetal-odl-Extend-arch-list-for-UCA-repo.patch b/patches/opnfv-fuel/0016-baremetal-odl-Extend-arch-list-for-UCA-repo.patch deleted file mode 100644 index 2a852d8b..00000000 --- a/patches/opnfv-fuel/0016-baremetal-odl-Extend-arch-list-for-UCA-repo.patch +++ /dev/null @@ -1,32 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Wed, 30 Aug 2017 22:15:07 +0200 -Subject: [PATCH] baremetal: odl: Extend arch list for UCA repo - -JIRA: https://jira.opnfv.org/browse/ARMBAND-304 - -Signed-off-by: Alexandru Avadanii ---- - .../classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -index a40d23e..8590fb8 100644 ---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/init.yml -@@ -203,7 +203,7 @@ parameters: - repo: - uca: - source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main" -- architectures: amd64 -+ architectures: amd64,arm64 - key_id: EC4926EA - key_server: keyserver.ubuntu.com - kernel: diff --git a/patches/opnfv-fuel/0016-pod_config.yml-Use-arm-pod5-specific-config.patch b/patches/opnfv-fuel/0016-pod_config.yml-Use-arm-pod5-specific-config.patch new file mode 100644 index 00000000..cecabe84 --- /dev/null +++ b/patches/opnfv-fuel/0016-pod_config.yml-Use-arm-pod5-specific-config.patch @@ -0,0 +1,178 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 Enea AB and others. +: +: All rights reserved. This program and the accompanying materials +: are made available under the terms of the Apache License, Version 2.0 +: which accompanies this distribution, and is available at +: http://www.apache.org/licenses/LICENSE-2.0 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii +Date: Tue, 19 Sep 2017 16:51:21 +0200 +Subject: [PATCH] pod_config.yml: Use arm-pod5 specific config + +Signed-off-by: Alexandru Avadanii +--- + .../all-mcp-ocata-common/opnfv/pod_config.yml | 126 ++++++++++----------- + 1 file changed, 63 insertions(+), 63 deletions(-) + +diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml +index ecc8dad..1775ea4 100644 +--- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml ++++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml +@@ -2,93 +2,93 @@ + parameters: + _param: + # infra service addresses +- opnfv_infra_config_address: 10.167.4.100 +- opnfv_infra_config_deploy_address: 10.20.0.2 +- opnfv_infra_maas_node01_address: 10.167.4.3 ++ opnfv_infra_config_address: 172.16.10.100 ++ opnfv_infra_maas_node01_address: 172.16.10.3 + opnfv_infra_maas_node01_deploy_address: 192.168.11.3 +- opnfv_infra_compute_node01_address: 10.167.4.141 +- opnfv_infra_compute_node02_address: 10.167.4.142 +- opnfv_infra_compute_node03_address: 10.167.4.143 +- opnfv_infra_kvm_address: 10.167.4.140 +- opnfv_infra_kvm_node01_address: 10.167.4.141 +- opnfv_infra_kvm_node02_address: 10.167.4.142 +- opnfv_infra_kvm_node03_address: 10.167.4.143 ++ opnfv_infra_compute_node01_address: 172.16.10.141 ++ opnfv_infra_compute_node02_address: 172.16.10.142 ++ opnfv_infra_compute_node03_address: 172.16.10.143 ++ opnfv_infra_kvm_address: 172.16.10.140 ++ opnfv_infra_kvm_node01_address: 172.16.10.141 ++ opnfv_infra_kvm_node02_address: 172.16.10.142 ++ opnfv_infra_kvm_node03_address: 172.16.10.143 + +- opnfv_openstack_gateway_node01_address: 10.167.4.124 +- opnfv_openstack_gateway_node02_address: 10.167.4.125 +- opnfv_openstack_gateway_node03_address: 10.167.4.126 ++ opnfv_openstack_gateway_node01_address: 172.16.10.124 ++ opnfv_openstack_gateway_node02_address: 172.16.10.125 ++ opnfv_openstack_gateway_node03_address: 172.16.10.126 + opnfv_openstack_gateway_node01_tenant_address: 10.1.0.6 + opnfv_openstack_gateway_node02_tenant_address: 10.1.0.7 + opnfv_openstack_gateway_node03_tenant_address: 10.1.0.9 +- opnfv_openstack_proxy_address: 10.167.4.80 +- opnfv_openstack_proxy_node01_address: 10.167.4.81 +- opnfv_openstack_proxy_node02_address: 10.167.4.82 +- opnfv_openstack_control_address: 10.167.4.10 +- opnfv_openstack_control_node01_address: 10.167.4.11 +- opnfv_openstack_control_node02_address: 10.167.4.12 +- opnfv_openstack_control_node03_address: 10.167.4.13 +- opnfv_openstack_database_address: 10.167.4.50 +- opnfv_openstack_database_node01_address: 10.167.4.51 +- opnfv_openstack_database_node02_address: 10.167.4.52 +- opnfv_openstack_database_node03_address: 10.167.4.53 +- opnfv_openstack_message_queue_address: 10.167.4.40 +- opnfv_openstack_message_queue_node01_address: 10.167.4.41 +- opnfv_openstack_message_queue_node02_address: 10.167.4.42 +- opnfv_openstack_message_queue_node03_address: 10.167.4.43 +- opnfv_openstack_telemetry_address: 10.167.4.75 +- opnfv_openstack_telemetry_node01_address: 10.167.4.76 +- opnfv_openstack_telemetry_node02_address: 10.167.4.77 +- opnfv_openstack_telemetry_node03_address: 10.167.4.78 +- opnfv_openstack_compute_node01_single_address: 10.167.4.101 +- opnfv_openstack_compute_node02_single_address: 10.167.4.102 +- opnfv_openstack_compute_node03_single_address: 10.167.4.103 +- opnfv_openstack_compute_node01_control_address: 10.167.4.101 +- opnfv_openstack_compute_node02_control_address: 10.167.4.102 +- opnfv_openstack_compute_node03_control_address: 10.167.4.103 ++ opnfv_openstack_proxy_address: 172.16.10.80 ++ opnfv_openstack_proxy_node01_address: 172.16.10.81 ++ opnfv_openstack_proxy_node02_address: 172.16.10.82 ++ opnfv_openstack_control_address: 172.16.10.10 ++ opnfv_openstack_control_node01_address: 172.16.10.11 ++ opnfv_openstack_control_node02_address: 172.16.10.12 ++ opnfv_openstack_control_node03_address: 172.16.10.13 ++ opnfv_openstack_database_address: 172.16.10.50 ++ opnfv_openstack_database_node01_address: 172.16.10.51 ++ opnfv_openstack_database_node02_address: 172.16.10.52 ++ opnfv_openstack_database_node03_address: 172.16.10.53 ++ opnfv_openstack_message_queue_address: 172.16.10.40 ++ opnfv_openstack_message_queue_node01_address: 172.16.10.41 ++ opnfv_openstack_message_queue_node02_address: 172.16.10.42 ++ opnfv_openstack_message_queue_node03_address: 172.16.10.43 ++ opnfv_openstack_telemetry_address: 172.16.10.75 ++ opnfv_openstack_telemetry_node01_address: 172.16.10.76 ++ opnfv_openstack_telemetry_node02_address: 172.16.10.77 ++ opnfv_openstack_telemetry_node03_address: 172.16.10.78 ++ opnfv_openstack_compute_node01_single_address: 172.16.10.101 ++ opnfv_openstack_compute_node02_single_address: 172.16.10.102 ++ opnfv_openstack_compute_node03_single_address: 172.16.10.103 ++ opnfv_openstack_compute_node01_control_address: 172.16.10.101 ++ opnfv_openstack_compute_node02_control_address: 172.16.10.102 ++ opnfv_openstack_compute_node03_control_address: 172.16.10.103 + opnfv_openstack_compute_node01_tenant_address: 10.1.0.101 + opnfv_openstack_compute_node02_tenant_address: 10.1.0.102 + opnfv_openstack_compute_node03_tenant_address: 10.1.0.103 +- opnfv_openstack_compute_node01_external_address: 172.30.10.2 +- opnfv_openstack_compute_node02_external_address: 172.30.10.3 ++ opnfv_openstack_compute_node01_external_address: 10.0.8.101 ++ opnfv_openstack_compute_node02_external_address: 10.0.8.102 + +- opnfv_opendaylight_server_node01_single_address: 10.167.4.111 ++ # opendaylight options ++ opnfv_opendaylight_server_node01_single_address: 172.16.10.111 + + opnfv_name_servers: ['8.8.8.8', '8.8.4.4'] + opnfv_dns_server01: '8.8.8.8' +- opnfv_net_mgmt_vlan: 300 +- opnfv_net_tenant_vlan: 302 ++ opnfv_net_mgmt_vlan: 2183 ++ opnfv_net_tenant_vlan: 2185 + +- opnfv_maas_node01_architecture: amd64/generic +- opnfv_maas_node01_power_address: 172.30.8.75 ++ opnfv_maas_node01_architecture: 'arm64/generic' ++ opnfv_maas_node01_power_address: 10.0.8.3 + opnfv_maas_node01_power_type: ipmi + opnfv_maas_node01_power_user: admin +- opnfv_maas_node01_power_password: octopus +- opnfv_maas_node01_interface_mac: "00:25:b5:a0:00:2a" ++ opnfv_maas_node01_power_password: admin ++ opnfv_maas_node01_interface_mac: 'e0:ff:f7:00:08:ae' + +- opnfv_maas_node02_architecture: amd64/generic +- opnfv_maas_node02_power_address: 172.30.8.65 ++ opnfv_maas_node02_architecture: 'arm64/generic' ++ opnfv_maas_node02_power_address: 10.0.8.4 + opnfv_maas_node02_power_type: ipmi + opnfv_maas_node02_power_user: admin +- opnfv_maas_node02_power_password: octopus +- opnfv_maas_node02_interface_mac: "00:25:b5:a0:00:3a" ++ opnfv_maas_node02_power_password: admin ++ opnfv_maas_node02_interface_mac: 'e0:ff:f7:00:08:b1' + +- opnfv_maas_node03_architecture: amd64/generic +- opnfv_maas_node03_power_address: 172.30.8.74 ++ opnfv_maas_node03_architecture: 'arm64/generic' ++ opnfv_maas_node03_power_address: 10.0.8.5 + opnfv_maas_node03_power_type: ipmi + opnfv_maas_node03_power_user: admin +- opnfv_maas_node03_power_password: octopus +- opnfv_maas_node03_interface_mac: "00:25:b5:a0:00:4a" ++ opnfv_maas_node03_power_password: admin ++ opnfv_maas_node03_interface_mac: 'e0:ff:f7:00:08:bd' + +- opnfv_maas_node04_architecture: amd64/generic +- opnfv_maas_node04_power_address: 172.30.8.73 ++ opnfv_maas_node04_architecture: 'arm64/generic' ++ opnfv_maas_node04_power_address: 10.0.8.6 + opnfv_maas_node04_power_type: ipmi + opnfv_maas_node04_power_user: admin +- opnfv_maas_node04_power_password: octopus +- opnfv_maas_node04_interface_mac: "00:25:b5:a0:00:5a" ++ opnfv_maas_node04_power_password: admin ++ opnfv_maas_node04_interface_mac: 'e0:ff:f7:00:08:c6' + +- opnfv_maas_node05_architecture: amd64/generic +- opnfv_maas_node05_power_address: 172.30.8.72 ++ opnfv_maas_node05_architecture: 'arm64/generic' ++ opnfv_maas_node05_power_address: 10.0.8.7 + opnfv_maas_node05_power_type: ipmi + opnfv_maas_node05_power_user: admin +- opnfv_maas_node05_power_password: octopus +- opnfv_maas_node05_interface_mac: "00:25:b5:a0:00:6a" ++ opnfv_maas_node05_power_password: admin ++ opnfv_maas_node05_interface_mac: 'e0:ff:f7:00:08:cf' diff --git a/patches/opnfv-fuel/0017-Add-opnfv-user-to-the-deployment.patch b/patches/opnfv-fuel/0017-Add-opnfv-user-to-the-deployment.patch deleted file mode 100644 index 1f937ca0..00000000 --- a/patches/opnfv-fuel/0017-Add-opnfv-user-to-the-deployment.patch +++ /dev/null @@ -1,67 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Charalampos Kominos -Date: Fri, 1 Sep 2017 12:24:35 +0200 -Subject: [PATCH] Add opnfv user to the deployment - -Signed-off-by: Alexandru Avadanii -Signed-off-by: Charalampos Kominos -Signed-off-by: Guillermo Herrero ---- - mcp/config/states/maas | 2 ++ - mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml | 4 ++++ - mcp/salt-formulas/opnfv/adduser.sls | 7 +++++++ - 3 files changed, 13 insertions(+) - create mode 100644 mcp/salt-formulas/opnfv/adduser.sls - -diff --git a/mcp/config/states/maas b/mcp/config/states/maas -index 1adccbf..85d1a9e 100755 ---- a/mcp/config/states/maas -+++ b/mcp/config/states/maas -@@ -84,6 +84,7 @@ salt -C 'mas01*' pillar.item\ - salt -C '* and not cfg01* and not mas01*' saltutil.sync_all - - salt -C 'kvm*' pkg.install bridge-utils -+salt -C '*' state.apply opnfv.adduser - salt -C 'kvm*' state.apply linux.network - salt -C 'kvm*' state.apply armband.bootstrap_script_arm64 - salt -C 'kvm*' system.reboot -@@ -108,6 +109,7 @@ while [ $rc -ne 0 ]; do - rc=0 - for node in $vcp_nodes; do - salt "$node" test.ping 2>/dev/null || { rc=$?; break; }; -+ salt -C "$node" state.apply opnfv.adduser - done - sleep 5 - done -diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml -index c9be2c2..5c84ec6 100644 ---- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml -+++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml -@@ -2,3 +2,7 @@ - classes: - - cluster.all-mcp-ocata-common.opnfv.runtime - - cluster.all-mcp-ocata-common.opnfv.pod_config -+parameters: -+ _param: -+ opnfv_user_username: opnfv -+ opnfv_user_password: $1$5/pIEHT1$XFBhNWW4Q8gYd19hczgPF1 -diff --git a/mcp/salt-formulas/opnfv/adduser.sls b/mcp/salt-formulas/opnfv/adduser.sls -new file mode 100644 -index 0000000..78ef993 ---- /dev/null -+++ b/mcp/salt-formulas/opnfv/adduser.sls -@@ -0,0 +1,7 @@ -+add_opnfv_user: -+ user.present: -+ - name: {{ salt['pillar.get']('_param:opnfv_user_username') }} -+ - password: {{ salt['pillar.get']('_param:opnfv_user_password') }} -+ - createhome: True -+ - groups: -+ - sudo diff --git a/patches/opnfv-fuel/0018-pod_config.yml-Use-arm-pod5-specific-config.patch b/patches/opnfv-fuel/0018-pod_config.yml-Use-arm-pod5-specific-config.patch deleted file mode 100644 index 5134313b..00000000 --- a/patches/opnfv-fuel/0018-pod_config.yml-Use-arm-pod5-specific-config.patch +++ /dev/null @@ -1,177 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii -Date: Tue, 19 Sep 2017 16:51:21 +0200 -Subject: [PATCH] pod_config.yml: Use arm-pod5 specific config - -Signed-off-by: Alexandru Avadanii ---- - .../all-mcp-ocata-common/opnfv/pod_config.yml | 125 +++++++++++---------- - 1 file changed, 63 insertions(+), 62 deletions(-) - -diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml -index 90c3c85..68b048f 100644 ---- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml -+++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/pod_config.yml -@@ -2,92 +2,93 @@ - parameters: - _param: - # infra service addresses -- opnfv_infra_config_address: 10.167.4.100 -- opnfv_infra_config_deploy_address: 10.20.0.2 -- opnfv_infra_maas_node01_address: 10.167.4.3 -+ opnfv_infra_config_address: 172.16.10.100 -+ opnfv_infra_maas_node01_address: 172.16.10.3 - opnfv_infra_maas_node01_deploy_address: 192.168.11.3 -- opnfv_infra_compute_node01_address: 10.167.4.141 -- opnfv_infra_compute_node02_address: 10.167.4.142 -- opnfv_infra_compute_node03_address: 10.167.4.143 -- opnfv_infra_kvm_address: 10.167.4.140 -- opnfv_infra_kvm_node01_address: 10.167.4.141 -- opnfv_infra_kvm_node02_address: 10.167.4.142 -- opnfv_infra_kvm_node03_address: 10.167.4.143 -+ opnfv_infra_compute_node01_address: 172.16.10.141 -+ opnfv_infra_compute_node02_address: 172.16.10.142 -+ opnfv_infra_compute_node03_address: 172.16.10.143 -+ opnfv_infra_kvm_address: 172.16.10.140 -+ opnfv_infra_kvm_node01_address: 172.16.10.141 -+ opnfv_infra_kvm_node02_address: 172.16.10.142 -+ opnfv_infra_kvm_node03_address: 172.16.10.143 - -- opnfv_openstack_gateway_node01_address: 10.167.4.124 -- opnfv_openstack_gateway_node02_address: 10.167.4.125 -- opnfv_openstack_gateway_node03_address: 10.167.4.126 -+ opnfv_openstack_gateway_node01_address: 172.16.10.124 -+ opnfv_openstack_gateway_node02_address: 172.16.10.125 -+ opnfv_openstack_gateway_node03_address: 172.16.10.126 - opnfv_openstack_gateway_node01_tenant_address: 10.1.0.6 - opnfv_openstack_gateway_node02_tenant_address: 10.1.0.7 - opnfv_openstack_gateway_node03_tenant_address: 10.1.0.9 -- opnfv_openstack_proxy_address: 10.167.4.80 -- opnfv_openstack_proxy_node01_address: 10.167.4.81 -- opnfv_openstack_proxy_node02_address: 10.167.4.82 -- opnfv_openstack_control_address: 10.167.4.10 -- opnfv_openstack_control_node01_address: 10.167.4.11 -- opnfv_openstack_control_node02_address: 10.167.4.12 -- opnfv_openstack_control_node03_address: 10.167.4.13 -- opnfv_openstack_database_address: 10.167.4.50 -- opnfv_openstack_database_node01_address: 10.167.4.51 -- opnfv_openstack_database_node02_address: 10.167.4.52 -- opnfv_openstack_database_node03_address: 10.167.4.53 -- opnfv_openstack_message_queue_address: 10.167.4.40 -- opnfv_openstack_message_queue_node01_address: 10.167.4.41 -- opnfv_openstack_message_queue_node02_address: 10.167.4.42 -- opnfv_openstack_message_queue_node03_address: 10.167.4.43 -- opnfv_openstack_telemetry_address: 10.167.4.75 -- opnfv_openstack_telemetry_node01_address: 10.167.4.76 -- opnfv_openstack_telemetry_node02_address: 10.167.4.77 -- opnfv_openstack_telemetry_node03_address: 10.167.4.78 -- opnfv_openstack_compute_node01_single_address: 10.167.4.101 -- opnfv_openstack_compute_node02_single_address: 10.167.4.102 -- opnfv_openstack_compute_node03_single_address: 10.167.4.103 -- opnfv_openstack_compute_node01_control_address: 10.167.4.101 -- opnfv_openstack_compute_node02_control_address: 10.167.4.102 -- opnfv_openstack_compute_node03_control_address: 10.167.4.103 -+ opnfv_openstack_proxy_address: 172.16.10.80 -+ opnfv_openstack_proxy_node01_address: 172.16.10.81 -+ opnfv_openstack_proxy_node02_address: 172.16.10.82 -+ opnfv_openstack_control_address: 172.16.10.10 -+ opnfv_openstack_control_node01_address: 172.16.10.11 -+ opnfv_openstack_control_node02_address: 172.16.10.12 -+ opnfv_openstack_control_node03_address: 172.16.10.13 -+ opnfv_openstack_database_address: 172.16.10.50 -+ opnfv_openstack_database_node01_address: 172.16.10.51 -+ opnfv_openstack_database_node02_address: 172.16.10.52 -+ opnfv_openstack_database_node03_address: 172.16.10.53 -+ opnfv_openstack_message_queue_address: 172.16.10.40 -+ opnfv_openstack_message_queue_node01_address: 172.16.10.41 -+ opnfv_openstack_message_queue_node02_address: 172.16.10.42 -+ opnfv_openstack_message_queue_node03_address: 172.16.10.43 -+ opnfv_openstack_telemetry_address: 172.16.10.75 -+ opnfv_openstack_telemetry_node01_address: 172.16.10.76 -+ opnfv_openstack_telemetry_node02_address: 172.16.10.77 -+ opnfv_openstack_telemetry_node03_address: 172.16.10.78 -+ opnfv_openstack_compute_node01_single_address: 172.16.10.101 -+ opnfv_openstack_compute_node02_single_address: 172.16.10.102 -+ opnfv_openstack_compute_node03_single_address: 172.16.10.103 -+ opnfv_openstack_compute_node01_control_address: 172.16.10.101 -+ opnfv_openstack_compute_node02_control_address: 172.16.10.102 -+ opnfv_openstack_compute_node03_control_address: 172.16.10.103 - opnfv_openstack_compute_node01_tenant_address: 10.1.0.101 - opnfv_openstack_compute_node02_tenant_address: 10.1.0.102 - opnfv_openstack_compute_node03_tenant_address: 10.1.0.103 -- opnfv_openstack_compute_node01_external_address: 172.30.10.2 -- opnfv_openstack_compute_node02_external_address: 172.30.10.3 -+ opnfv_openstack_compute_node01_external_address: 10.0.8.101 -+ opnfv_openstack_compute_node02_external_address: 10.0.8.102 - -+ # opendaylight options -+ #opnfv_opendaylight_server_node01_single_address: 172.16.10.111 - - opnfv_name_servers: ['8.8.8.8', '8.8.4.4'] - opnfv_dns_server01: '8.8.8.8' -- opnfv_net_mgmt_vlan: 300 -- opnfv_net_tenant_vlan: 302 -+ opnfv_net_mgmt_vlan: 2183 -+ opnfv_net_tenant_vlan: 2185 - -- opnfv_maas_node01_architecture: amd64/generic -- opnfv_maas_node01_power_address: 172.30.8.75 -+ opnfv_maas_node01_architecture: 'arm64/generic' -+ opnfv_maas_node01_power_address: 10.0.8.3 - opnfv_maas_node01_power_type: ipmi - opnfv_maas_node01_power_user: admin -- opnfv_maas_node01_power_password: octopus -- opnfv_maas_node01_interface_mac: "00:25:b5:a0:00:2a" -+ opnfv_maas_node01_power_password: admin -+ opnfv_maas_node01_interface_mac: 'e0:ff:f7:00:08:ae' - -- opnfv_maas_node02_architecture: amd64/generic -- opnfv_maas_node02_power_address: 172.30.8.65 -+ opnfv_maas_node02_architecture: 'arm64/generic' -+ opnfv_maas_node02_power_address: 10.0.8.4 - opnfv_maas_node02_power_type: ipmi - opnfv_maas_node02_power_user: admin -- opnfv_maas_node02_power_password: octopus -- opnfv_maas_node02_interface_mac: "00:25:b5:a0:00:3a" -+ opnfv_maas_node02_power_password: admin -+ opnfv_maas_node02_interface_mac: 'e0:ff:f7:00:08:b1' - -- opnfv_maas_node03_architecture: amd64/generic -- opnfv_maas_node03_power_address: 172.30.8.74 -+ opnfv_maas_node03_architecture: 'arm64/generic' -+ opnfv_maas_node03_power_address: 10.0.8.5 - opnfv_maas_node03_power_type: ipmi - opnfv_maas_node03_power_user: admin -- opnfv_maas_node03_power_password: octopus -- opnfv_maas_node03_interface_mac: "00:25:b5:a0:00:4a" -+ opnfv_maas_node03_power_password: admin -+ opnfv_maas_node03_interface_mac: 'e0:ff:f7:00:08:bd' - -- opnfv_maas_node04_architecture: amd64/generic -- opnfv_maas_node04_power_address: 172.30.8.73 -+ opnfv_maas_node04_architecture: 'arm64/generic' -+ opnfv_maas_node04_power_address: 10.0.8.6 - opnfv_maas_node04_power_type: ipmi - opnfv_maas_node04_power_user: admin -- opnfv_maas_node04_power_password: octopus -- opnfv_maas_node04_interface_mac: "00:25:b5:a0:00:5a" -+ opnfv_maas_node04_power_password: admin -+ opnfv_maas_node04_interface_mac: 'e0:ff:f7:00:08:c6' - -- opnfv_maas_node05_architecture: amd64/generic -- opnfv_maas_node05_power_address: 172.30.8.72 -+ opnfv_maas_node05_architecture: 'arm64/generic' -+ opnfv_maas_node05_power_address: 10.0.8.7 - opnfv_maas_node05_power_type: ipmi - opnfv_maas_node05_power_user: admin -- opnfv_maas_node05_power_password: octopus -- opnfv_maas_node05_interface_mac: "00:25:b5:a0:00:6a" -+ opnfv_maas_node05_power_password: admin -+ opnfv_maas_node05_interface_mac: 'e0:ff:f7:00:08:cf' diff --git a/upstream/fuel b/upstream/fuel index 533b81df..d02f6752 160000 --- a/upstream/fuel +++ b/upstream/fuel @@ -1 +1 @@ -Subproject commit 533b81df35acd7c2f16cd347cf3167583e870d38 +Subproject commit d02f6752929c0c38a7890c6f496102076bfe6afa -- cgit 1.2.3-korg