summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--patches/opnfv-fuel/0001-baremetal-Add-Armband-Openstack-repos-to-kvm-cmp.patch4
-rw-r--r--patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch231
-rw-r--r--patches/opnfv-fuel/0004-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch4
-rw-r--r--patches/opnfv-fuel/0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch8
-rw-r--r--patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch6
-rw-r--r--patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch10
-rw-r--r--patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch4
-rw-r--r--patches/opnfv-fuel/0010-aarch64-skip-configuration-of-hugepages.patch2
-rw-r--r--patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch12
-rw-r--r--patches/opnfv-fuel/0013-glusterfs-Use-3.12-for-AArch64.patch8
m---------upstream/fuel0
11 files changed, 47 insertions, 242 deletions
diff --git a/patches/opnfv-fuel/0001-baremetal-Add-Armband-Openstack-repos-to-kvm-cmp.patch b/patches/opnfv-fuel/0001-baremetal-Add-Armband-Openstack-repos-to-kvm-cmp.patch
index 9ed7fb2f..37a348ea 100644
--- a/patches/opnfv-fuel/0001-baremetal-Add-Armband-Openstack-repos-to-kvm-cmp.patch
+++ b/patches/opnfv-fuel/0001-baremetal-Add-Armband-Openstack-repos-to-kvm-cmp.patch
@@ -25,7 +25,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 files changed, 2 insertions(+)
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
-index c3d9b14..35157e4 100644
+index dcd78a2..a604d0a 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
@@ -7,6 +7,7 @@
@@ -37,7 +37,7 @@ index c3d9b14..35157e4 100644
- service.keepalived.cluster.single
- system.glusterfs.server.volume.glance
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
-index 5c077d5..78c4a0a 100644
+index 60a01a8..a2c6fa0 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
@@ -7,6 +7,7 @@
diff --git a/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch
index 66d7e713..e1508ace 100644
--- a/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch
+++ b/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch
@@ -13,31 +13,29 @@ Subject: [PATCH] salt-formulas: Add & enable armband formula
- prereq: install qemu-efi;
- prereq: install vgabios;
- prereq: fix missing link for vgabios binary blob;
-- nova patch: Support qemu >= 2.10 (backport from [1]);
-- nova patch: Add video type virtio for AArch64 (backport from [2]);
+- nova patch: Add video type virtio for AArch64 (backport from [1]);
- nova patch: libvirt driver: AArch64: ACPI depends on AAVMF;
- nova conf: cpu_model=cortex-a57 (only for virtual deploys);
- nova conf: virt_type=qemu (only for virtual deploys);
- nova compute conf: virt_type=qemu (only for virtual deploys);
- nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet;
-[1] https://github.com/openstack/nova/commit/8075797
-[2] https://github.com/openstack/nova/commit/f0f0953
+[1] https://github.com/openstack/nova/commit/f0f0953
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- mcp/config/states/openstack_ha | 2 +
- mcp/config/states/openstack_noha | 2 +
- mcp/config/states/virtual_control_plane | 2 +
- .../armband/files/nova-libvirt-aarch64-rollup.diff | 270 +++++++++++++++++++++
- mcp/salt-formulas/armband/init.sls | 7 +
- mcp/salt-formulas/armband/nova_config.sls | 34 +++
- mcp/salt-formulas/armband/nova_libvirt.sls | 7 +
- mcp/salt-formulas/armband/qemu_efi.sls | 2 +
- mcp/salt-formulas/armband/vgabios.sls | 7 +
- 9 files changed, 333 insertions(+)
+ mcp/config/states/openstack_ha | 2 +
+ mcp/config/states/openstack_noha | 2 +
+ mcp/config/states/virtual_control_plane | 2 +
+ .../armband/files/nova-libvirt-aarch64-rollup.diff | 76 ++++++++++++++++++++++
+ mcp/salt-formulas/armband/init.sls | 7 ++
+ mcp/salt-formulas/armband/nova_config.sls | 35 ++++++++++
+ mcp/salt-formulas/armband/nova_libvirt.sls | 7 ++
+ mcp/salt-formulas/armband/qemu_efi.sls | 2 +
+ mcp/salt-formulas/armband/vgabios.sls | 7 ++
+ 9 files changed, 140 insertions(+)
create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff
create mode 100644 mcp/salt-formulas/armband/init.sls
create mode 100644 mcp/salt-formulas/armband/nova_config.sls
@@ -69,7 +67,7 @@ index 0a27876..aa369e8 100755
+
+salt -I 'nova:compute' state.sls armband
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
-index cabe44a..0672bb5 100755
+index c7768f7..5565fe5 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -27,6 +27,8 @@ if [ "${ERASE_ENV}" -eq 1 ]; then
@@ -83,204 +81,10 @@ index cabe44a..0672bb5 100755
salt -C 'kvm* or cmp*' state.apply salt
diff --git a/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff
new file mode 100644
-index 0000000..75fb07d
+index 0000000..36ddf72
--- /dev/null
+++ b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff
-@@ -0,0 +1,270 @@
-+From 807579755c4a116309eca5b2bcdbab9d1f393bab Mon Sep 17 00:00:00 2001
-+From: Matt Riedemann <mriedem.os@gmail.com>
-+Date: Wed, 20 Sep 2017 10:44:11 -0400
-+Subject: [PATCH] Support qemu >= 2.10
-+
-+Qemu 2.10 added the requirement of a --force-share flag to qemu-img
-+info when reading information about a disk that is in use by a
-+guest. We do this a lot in Nova for operations like gathering
-+information before live migration.
-+
-+Up until this point all qemu/libvirt version matching has been solely
-+inside the libvirt driver, however all the image manip code was moved
-+out to nova.virt.images. We need the version of QEMU available there.
-+
-+This does it by initializing that version on driver init host. The net
-+effect is also that broken libvirt connections are figured out
-+earlier, as there is an active probe for this value.
-+
-+Co-Authored-By: Sean Dague <sean@dague.net>
-+
-+[ Alexandru.Avadanii@enea.com ]
-+Minor patch adjustment to apply cleanly on Newton without further
-+backporting.
-+
-+Change-Id: Iae2962bb86100f03fd3ad9aac3767da876291e74
-+Closes-Bug: #1718295
-+
-+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-+---
-+ nova/test.py | 3 +++
-+ nova/tests/unit/virt/libvirt/test_driver.py | 20 ++++++++++++++++++--
-+ nova/tests/unit/virt/libvirt/test_utils.py | 25 +++++++++++++++++++++++++
-+ nova/virt/images.py | 10 ++++++++++
-+ nova/virt/libvirt/driver.py | 14 +++++++++-----
-+ 5 files changed, 65 insertions(+), 7 deletions(-)
-+
-+diff --git a/nova/test.py b/nova/test.py
-+index f0e6953b965..9b9ea9507e8 100644
-+--- a/nova/test.py
-++++ b/nova/test.py
-+@@ -60,6 +60,7 @@
-+ from nova.tests.unit import policy_fixture
-+ from nova.tests import uuidsentinel as uuids
-+ from nova import utils
-++from nova.virt import images
-+
-+
-+ CONF = cfg.CONF
-+@@ -299,6 +300,8 @@ def setUp(self):
-+ # nova.utils._IS_NEUTRON. We set it to None to avoid any
-+ # caching of that value.
-+ utils._IS_NEUTRON = None
-++ # Reset the global QEMU version flag.
-++ images.QEMU_VERSION = None
-+
-+ # Reset the traits sync flag
-+ objects.resource_provider._TRAITS_SYNCED = False
-+diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py
-+index fe54dc75e7f..4e9f2bd250e 100644
-+--- a/nova/tests/unit/virt/libvirt/test_driver.py
-++++ b/nova/tests/unit/virt/libvirt/test_driver.py
-+@@ -985,6 +985,23 @@ def test_next_min_qemu_version_ok(self, mock_warning, mock_get_libversion):
-+ break
-+ self.assertFalse(version_arg_found)
-+
-++ # NOTE(sdague): python2.7 and python3.5 have different behaviors
-++ # when it comes to comparing against the sentinel, so
-++ # has_min_version is needed to pass python3.5.
-++ @mock.patch.object(nova.virt.libvirt.host.Host, "has_min_version",
-++ return_value=True)
-++ @mock.patch.object(fakelibvirt.Connection, 'getVersion',
-++ return_value=mock.sentinel.qemu_version)
-++ def test_qemu_image_version(self, mock_get_libversion, min_ver):
-++ """Test that init_host sets qemu image version
-++
-++ A sentinel is used here so that we aren't chasing this value
-++ against minimums that get raised over time.
-++ """
-++ drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
-++ drvr.init_host("dummyhost")
-++ self.assertEqual(images.QEMU_VERSION, mock.sentinel.qemu_version)
-++
-+ @mock.patch.object(fakelibvirt.Connection, 'getLibVersion',
-+ return_value=versionutils.convert_version_to_int(
-+ libvirt_driver.MIN_LIBVIRT_OTHER_ARCH.get(
-+@@ -11636,9 +11653,8 @@ def test_command_with_broken_connection(self):
-+ return_value=service_mock),
-+ mock.patch.object(host.Host, "get_capabilities")):
-+
-+- drvr.init_host("wibble")
-+ self.assertRaises(exception.HypervisorUnavailable,
-+- drvr.get_num_instances)
-++ drvr.init_host, ("wibble",))
-+ self.assertTrue(service_mock.disabled)
-+
-+ def test_service_resume_after_broken_connection(self):
-+diff --git a/nova/tests/unit/virt/libvirt/test_utils.py b/nova/tests/unit/virt/libvirt/test_utils.py
-+index 646a72c8599..49945a3cd3b 100644
-+--- a/nova/tests/unit/virt/libvirt/test_utils.py
-++++ b/nova/tests/unit/virt/libvirt/test_utils.py
-+@@ -173,6 +173,31 @@ def test_qemu_info_canon(self, mock_execute, mock_exists):
-+
-+ @mock.patch('os.path.exists', return_value=True)
-+ @mock.patch('nova.utils.execute')
-++ def test_qemu_info_canon_qemu_2_10(self, mock_execute, mock_exists):
-++ images.QEMU_VERSION = images.QEMU_VERSION_REQ_SHARED
-++ path = "disk.config"
-++ example_output = """image: disk.config
-++file format: raw
-++virtual size: 64M (67108864 bytes)
-++cluster_size: 65536
-++disk size: 96K
-++blah BLAH: bb
-++"""
-++ mock_execute.return_value = (example_output, '')
-++ image_info = images.qemu_img_info(path)
-++ mock_execute.assert_called_once_with('env', 'LC_ALL=C', 'LANG=C',
-++ 'qemu-img', 'info', path,
-++ '--force-share',
-++ prlimit=images.QEMU_IMG_LIMITS)
-++ mock_exists.assert_called_once_with(path)
-++ self.assertEqual('disk.config', image_info.image)
-++ self.assertEqual('raw', image_info.file_format)
-++ self.assertEqual(67108864, image_info.virtual_size)
-++ self.assertEqual(98304, image_info.disk_size)
-++ self.assertEqual(65536, image_info.cluster_size)
-++
-++ @mock.patch('os.path.exists', return_value=True)
-++ @mock.patch('nova.utils.execute')
-+ def test_qemu_info_canon2(self, mock_execute, mock_exists):
-+ path = "disk.config"
-+ example_output = """image: disk.config
-+diff --git a/nova/virt/images.py b/nova/virt/images.py
-+index dae6bc7ef52..be2a9d9e062 100644
-+--- a/nova/virt/images.py
-++++ b/nova/virt/images.py
-+@@ -19,6 +19,7 @@
-+ Handling of VM disk images.
-+ """
-+
-++import operator
-+ import os
-+
-+ from oslo_concurrency import processutils
-+@@ -42,6 +43,11 @@
-+ cpu_time=30,
-+ address_space=1 * units.Gi)
-+
-++# This is set by the libvirt driver on startup. The version is used to
-++# determine what flags need to be set on the command line.
-++QEMU_VERSION = None
-++QEMU_VERSION_REQ_SHARED = 2010000
-++
-+
-+ def qemu_img_info(path, format=None):
-+ """Return an object containing the parsed output from qemu-img info."""
-+@@ -61,6 +67,10 @@ def qemu_img_info(path, format=None):
-+ 'qemu-img', 'info', '--force-share', path)
-+ if format is not None:
-+ cmd = cmd + ('-f', format)
-++ # Check to see if the qemu version is >= 2.10 because if so, we need
-++ # to add the --force-share flag.
-++ if QEMU_VERSION and operator.ge(QEMU_VERSION, QEMU_VERSION_REQ_SHARED):
-++ cmd = cmd + ('--force-share',)
-+ out, err = utils.execute(*cmd, prlimit=QEMU_IMG_LIMITS)
-+ except processutils.ProcessExecutionError as exp:
-+ # this means we hit prlimits, make the exception more specific
-+diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
-+index 82dc2b99f6a..8d4eb90ecf5 100644
-+--- a/nova/virt/libvirt/driver.py
-++++ b/nova/virt/libvirt/driver.py
-+@@ -477,11 +477,15 @@ def init_host(self, host):
-+ _('Nova requires libvirt version %s or greater.') %
-+ self._version_to_string(MIN_LIBVIRT_VERSION))
-+
-+- if (CONF.libvirt.virt_type in ("qemu", "kvm") and
-+- not self._host.has_min_version(hv_ver=MIN_QEMU_VERSION)):
-+- raise exception.InternalError(
-+- _('Nova requires QEMU version %s or greater.') %
-+- self._version_to_string(MIN_QEMU_VERSION))
-++ if CONF.libvirt.virt_type in ("qemu", "kvm"):
-++ if self._host.has_min_version(hv_ver=MIN_QEMU_VERSION):
-++ # "qemu-img info" calls are version dependent, so we need to
-++ # store the version in the images module.
-++ images.QEMU_VERSION = self._host.get_connection().getVersion()
-++ else:
-++ raise exception.InternalError(
-++ _('Nova requires QEMU version %s or greater.') %
-++ self._version_to_string(MIN_QEMU_VERSION))
-+
-+ if CONF.libvirt.virt_type == 'parallels':
-+ if not self._host.has_min_version(hv_ver=MIN_VIRTUOZZO_VERSION):
-+--
-+
+@@ -0,0 +1,76 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Thu, 24 Aug 2017 10:57:28 +0200
+Subject: [PATCH] libvirt: AArch64: ACPI depends on AAVMF
@@ -372,16 +176,17 @@ index 0000000..8a8cf2a
+ {%- endif %}
diff --git a/mcp/salt-formulas/armband/nova_config.sls b/mcp/salt-formulas/armband/nova_config.sls
new file mode 100644
-index 0000000..8f19eda
+index 0000000..31fa031
--- /dev/null
+++ b/mcp/salt-formulas/armband/nova_config.sls
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,35 @@
+{% if grains['virtual'] == 'kvm' %}
+nova_virt_type:
+ file.replace:
+ - name: "/etc/nova/nova.conf"
+ - pattern: '^virt_type\s*=.*$'
+ - repl: "virt_type = qemu"
++nova_compute_virt_type:
+ file.replace:
+ - name: "/etc/nova/nova-compute.conf"
+ - pattern: '^virt_type\s*=.*$'
diff --git a/patches/opnfv-fuel/0004-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch b/patches/opnfv-fuel/0004-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch
index af8e35ef..ca3ca2a1 100644
--- a/patches/opnfv-fuel/0004-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch
+++ b/patches/opnfv-fuel/0004-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch
@@ -33,10 +33,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 5 insertions(+)
diff --git a/mcp/salt-formulas/opendaylight/server.sls b/mcp/salt-formulas/opendaylight/server.sls
-index 5de4eee..4bf81a9 100644
+index 30c337c..f62ce5c 100644
--- a/mcp/salt-formulas/opendaylight/server.sls
+++ b/mcp/salt-formulas/opendaylight/server.sls
-@@ -72,4 +72,9 @@ opendaylight:
+@@ -79,4 +79,9 @@ opendaylight:
- service: opendaylight
{%- endif %}
diff --git a/patches/opnfv-fuel/0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch b/patches/opnfv-fuel/0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
index 6d331966..1514b149 100644
--- a/patches/opnfv-fuel/0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+++ b/patches/opnfv-fuel/0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
@@ -66,19 +66,19 @@ index 0000000..0368937
+ file.managed:
+ - source: salt://maas/files/pgpass
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index cd32378..fc2ddea 100644
+index cc17666..00a4828 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -14,3 +14,4 @@
+@@ -15,3 +15,4 @@
/usr/share/salt-formulas/env: 0008-Handle-file_recv-option.patch
/usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
/usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
+/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
-index 6332776..d263b19 100644
+index 7a37fe7..3de9d49 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
-@@ -38,6 +38,42 @@ parameters:
+@@ -39,6 +39,42 @@ parameters:
enable_third_party_drivers: true
network_discovery: 'enabled'
default_min_hwe_kernel: ${_param:hwe_kernel}
diff --git a/patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch
index 9f91446e..52236358 100644
--- a/patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch
+++ b/patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch
@@ -41,11 +41,11 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
create mode 100644 mcp/salt-formulas/armband/salt_minion.sls
diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init
-index a8bb3b9..2554c5d 100755
+index eeb0818..2b6666d 100755
--- a/mcp/config/states/baremetal_init
+++ b/mcp/config/states/baremetal_init
-@@ -26,6 +26,7 @@ salt -C 'kvm*' pkg.install bridge-utils
- salt -C 'kvm*' state.apply linux.network
+@@ -28,6 +28,7 @@ salt -C 'kvm* or cmp*' state.apply salt.minion
+ salt -C 'kvm* or cmp*' service.force_reload salt-minion
salt -C 'cmp*' state.apply linux.system
salt -C 'cmp*' state.apply linux.network || true
+salt -C 'kvm*' state.apply armband.salt_minion
diff --git a/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
index ec0a4fa5..650dc80c 100644
--- a/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
+++ b/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
@@ -150,20 +150,20 @@ index 0000000..a9fe11b
+
+ #salt_control_seed_{{ cluster_name }}_{{ node_name }}:
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index fc2ddea..fdd3872 100644
+index 00a4828..c69567b 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -15,3 +15,5 @@
+@@ -16,3 +16,5 @@
/usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
/usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.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-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
-index 35157e4..8c0fd73 100644
+index a604d0a..166b368 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
-@@ -49,21 +49,33 @@ parameters:
+@@ -50,21 +50,33 @@ parameters:
openstack.control:
cpu: 4
ram: 12288
@@ -197,7 +197,7 @@ index 35157e4..8c0fd73 100644
disk_profile: xxlarge
net_profile: default
# stacklight.log:
-@@ -84,6 +96,9 @@ parameters:
+@@ -85,6 +97,9 @@ parameters:
openstack.proxy:
cpu: 2
ram: 2048
diff --git a/patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch b/patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch
index 808ca49c..3054acb5 100644
--- a/patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch
+++ b/patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch
@@ -49,10 +49,10 @@ index 0000000..d40e63b
+ 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 fdd3872..daf3368 100644
+index c69567b..a322439 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -17,3 +17,4 @@
+@@ -18,3 +18,4 @@
/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.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/patches/opnfv-fuel/0010-aarch64-skip-configuration-of-hugepages.patch b/patches/opnfv-fuel/0010-aarch64-skip-configuration-of-hugepages.patch
index ff5cf7c1..183b642c 100644
--- a/patches/opnfv-fuel/0010-aarch64-skip-configuration-of-hugepages.patch
+++ b/patches/opnfv-fuel/0010-aarch64-skip-configuration-of-hugepages.patch
@@ -20,7 +20,7 @@ Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
-index 78c4a0a..df23754 100644
+index a2c6fa0..9e8ad09 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
@@ -12,8 +12,8 @@ classes:
diff --git a/patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch b/patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch
index fcc43a40..e224e125 100644
--- a/patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch
+++ b/patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch
@@ -22,7 +22,7 @@ Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
create mode 100644 mcp/salt-formulas/opnfv/adduser.sls
diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init
-index 2554c5d..fecdb47 100755
+index 2b6666d..85e2237 100755
--- a/mcp/config/states/baremetal_init
+++ b/mcp/config/states/baremetal_init
@@ -23,6 +23,7 @@ salt -C 'kvm* or cmp*' file.replace $debian_ip_source \
@@ -31,10 +31,10 @@ index 2554c5d..fecdb47 100755
salt -C 'kvm*' pkg.install bridge-utils
+salt -C 'kvm* or cmp*' state.apply opnfv.adduser
salt -C 'kvm*' state.apply linux.network
- salt -C 'cmp*' state.apply linux.system
- salt -C 'cmp*' state.apply linux.network || true
+ salt -C 'kvm* or cmp*' state.apply salt.minion
+ salt -C 'kvm* or cmp*' service.force_reload salt-minion
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
-index 0672bb5..99bb83d 100755
+index 5565fe5..349ac27 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -51,6 +51,8 @@ while [ $rc -ne 0 ] && [ ${attempt} -lt ${total_attempts} ]; do
@@ -44,8 +44,8 @@ index 0672bb5..99bb83d 100755
+wait_for 5 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply opnfv.adduser | " \
+ "tee /dev/stderr | grep -Fq 'Not connected'"
wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all"
- wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply salt"
- wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp | " \
+
+ # Propagate APT proxy config created by curtin on baremetal nodes to VCP VMs
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml
index f09ee5d..39d550a 100644
--- a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml
diff --git a/patches/opnfv-fuel/0013-glusterfs-Use-3.12-for-AArch64.patch b/patches/opnfv-fuel/0013-glusterfs-Use-3.12-for-AArch64.patch
index 6949ce82..9b21add2 100644
--- a/patches/opnfv-fuel/0013-glusterfs-Use-3.12-for-AArch64.patch
+++ b/patches/opnfv-fuel/0013-glusterfs-Use-3.12-for-AArch64.patch
@@ -21,10 +21,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
-index 8c0fd73..24d5723 100644
+index 166b368..0c7f0c3 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/kvm.yml
-@@ -26,7 +26,7 @@ classes:
+@@ -27,7 +27,7 @@ classes:
parameters:
_param:
linux_system_codename: xenial
@@ -34,10 +34,10 @@ index 8c0fd73..24d5723 100644
cluster_node01_address: ${_param:infra_kvm_node01_address}
cluster_node02_address: ${_param:infra_kvm_node02_address}
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
-index df23754..e3db1b0 100644
+index 9e8ad09..ddff3db 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/openstack_compute.yml
-@@ -35,7 +35,7 @@ parameters:
+@@ -36,7 +36,7 @@ parameters:
keepalived_vip_virtual_router_id: 69
loopback_device_size: 20
linux_system_codename: xenial
diff --git a/upstream/fuel b/upstream/fuel
-Subproject d1b6119e288a31e015573363ce77790fec8684d
+Subproject bb3a642e783b59ae2decb3b73d91f5bfca3afae