aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/deploy.sh2
-rw-r--r--docs/release/installation/installation.instruction.rst132
-rw-r--r--patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch8
-rw-r--r--patches/opnfv-fuel/0002-network-public-Use-arm-virtual2-POD-config.patch2
-rw-r--r--patches/opnfv-fuel/0003-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch4
-rw-r--r--patches/opnfv-fuel/0004-maas-Add-curtin_userdata_arm64_generic_xenial.patch30
-rw-r--r--patches/opnfv-fuel/0006-libvirt-Use-libvirt-unix_sock_group.patch6
-rw-r--r--patches/opnfv-fuel/0007-mcp-salt-formulas-armband-Extend-libvirt_domain.patch10
-rw-r--r--patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch4
-rw-r--r--patches/opnfv-fuel/0009-seedng-module-Add-AArch64-repo.patch4
-rw-r--r--patches/opnfv-fuel/0012-Add-opnfv-user-to-the-deployment.patch6
m---------upstream/fuel0
12 files changed, 136 insertions, 72 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 3862c137..76c237b3 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -14,7 +14,7 @@ export ARMBAND_BASE
export CI_DEBUG
cd "${WORKSPACE:-${ARMBAND_BASE}}"
-make patches-import
+make fuel-patches-import
cd upstream/fuel/ci
./deploy.sh "$@"
diff --git a/docs/release/installation/installation.instruction.rst b/docs/release/installation/installation.instruction.rst
index 502c7509..af00d46b 100644
--- a/docs/release/installation/installation.instruction.rst
+++ b/docs/release/installation/installation.instruction.rst
@@ -132,14 +132,14 @@ installation of Euphrates using Fuel:
**NOTE:** For aarch64 deployments an UEFI compatible firmware with PXE support is needed (e.g. EDK2).
-
===============================
Help with Hardware Requirements
===============================
Calculate hardware requirements:
-For information on compatible hardware types available for use, please see `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/software/hardware-compatibility/>`_.
+For information on compatible hardware types available for use,
+please see `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/software/hardware-compatibility/>`_
When choosing the hardware on which you will deploy your OpenStack
environment, you should think about:
@@ -183,7 +183,49 @@ OPNFV Software Prerequisites
The Jumpserver node should be pre-provisioned with an operating system,
according to the Pharos specification. Relevant network bridges should
-also be pre-configured (e.g. admin, management, public).
+also be pre-configured (e.g. admin_br, mgmt_br, public_br).
+
+ - The admin bridge (admin_br) is mandatory for the baremetal nodes PXE booting during fuel installation.
+ - The management bridge (mgmt_br) is required for testing suites (e.g. functest/yardstick), it is
+ suggested to pre-configure it for debugging purposes.
+ - The public bridge (public_br) is also nice to have for debugging purposes, but not mandatory.
+
+The user running the deploy script on the Jumpserver should belong to "sudo" and "libvirt" groups,
+and have passwordless sudo access.
+
+The following example adds the groups to the user "jenkins"
+
+.. code-block:: bash
+
+ $ sudo usermod -aG sudo jenkins
+ $ sudo usermod -aG libvirt jenkins
+ $ reboot
+ $ groups
+ jenkins sudo libvirt
+
+ $ sudo visudo
+ ...
+ %jenkins ALL=(ALL) NOPASSWD:ALL
+
+For an AArch64 Jumpserver, the "libvirt" minimum required version is 3.x, 3.5 or newer highly recommended.
+While not mandatory, upgrading the kernel and QEMU on the Jumpserver is also highly recommended
+(especially on AArch64 Jumpservers).
+
+For CentOS 7.4 (AArch64), distro provided packages are already new enough.
+For Ubuntu 16.04 (arm64), distro packages are too old and 3rd party repositories should be used.
+For convenience, Armband provides a DEB repository holding all the required packages.
+
+To add and enable the Armband repository on an Ubuntu 16.04 system,
+create a new sources list file `/apt/sources.list.d/armband.list` with the following contents:
+
+.. code-block:: bash
+
+ $ cat /etc/apt/sources.list.d/armband.list
+ //for OpenStack ocata release
+ deb http://linux.enea.com/mcp-repos/ocata/xenial ocata main
+ deb http://linux.enea.com/apt-mk/xenial nightly ocata
+
+ $ apt-get update
Fuel@OPNFV has been validated by CI using the following distributions
installed on the Jumpserver:
@@ -191,10 +233,21 @@ installed on the Jumpserver:
- CentOS 7 (recommended by Pharos specification);
- Ubuntu Xenial;
-**NOTE:** The install script expects 'libvirt' to be installed and running
-on the Jumpserver. In case the packages are missing, the script will install
-them; but depending on the OS distribution, the user might have to start the
-'libvirtd' service manually.
+**NOTE**: The install script expects 'libvirt' to be already running on the Jumpserver.In case libvirt
+packages are missing, the script will install them; but depending on the OS distribution, the user
+might have to start the 'libvirtd' service manually, then run the deploy script again. Therefore, it
+is recommened to install libvirt-bin explicitly on the Jumpserver before the deployment.
+
+**NOTE**: It is also recommened to install the newer kernel on the Jumpserver before the deployment.
+
+**NOTE**: The install script will automatically install the rest of required distro package
+dependencies on the Jumpserver, unless explicitly asked not to (via -P deploy arg). This includes
+Python, QEMU, libvirt etc.
+
+.. code-block:: bash
+
+ $ apt-get install linux-image-generic-hwe-16.04-edge libvirt-bin
+
==========================================
OPNFV Software Installation and Deployment
@@ -209,9 +262,9 @@ automatic based on deployment scenario.
The reclass model covers:
- Infrastucture node definition: Salt Master node (cfg01) and MaaS node (mas01)
- - Openstack node defition: Controler nodes (ctl01, ctl02, ctl03) and Compute nodes (cmp001, cmp002)
+ - OpenStack node definition: Controller nodes (ctl01, ctl02, ctl03) and Compute nodes (cmp001, cmp002)
- Infrastructure components to install (software packages, services etc.)
- - Openstack components and services (rabbitmq, galera etc.), as well as all configuration for them
+ - OpenStack components and services (rabbitmq, galera etc.), as well as all configuration for them
Automatic Installation of a Virtual POD
@@ -220,9 +273,9 @@ Automatic Installation of a Virtual POD
For virtual deploys all the targets are VMs on the Jumpserver. The deploy script will:
- Create a Salt Master VM on the Jumpserver which will drive the installation
- - Create the bridges for networking with virsh (only if a real bridge does not already exists for a given network)
- - Install Openstack on the targets
- - Leverage Salt to install & configure Openstack services
+ - Create the bridges for networking with virsh (only if a real bridge does not already exist for a given network)
+ - Install OpenStack on the targets
+ - Leverage Salt to install & configure OpenStack services
.. figure:: img/fuel_virtual.png
:align: center
@@ -245,18 +298,18 @@ For virtual deploys all the targets are VMs on the Jumpserver. The deploy script
In this figure there are examples of two virtual deploys:
- Jumphost 1 has only virsh bridges, created by the deploy script
- - Jumphost 2 has a mix of linux and virsh briges; when linux bridge exist for a specified network,
+ - Jumphost 2 has a mix of Linux and virsh bridges; When Linux bridge exists for a specified network,
the deploy script will skip creating a virsh bridge for it
-**Note**: A virtual network "mcpcontrol" is always created. For virtual deploys, "mcpcontrol" is also used
-for Admin, leaving the PXE/Admin bridge unused.
+**Note**: A virtual network "mcpcontrol" is always created. For virtual deploys, "mcpcontrol" is also
+ used for Admin, leaving the PXE/Admin bridge unused.
Automatic Installation of a Baremetal POD
=========================================
The baremetal installation process can be done by editing the information about
-hardware and enviroment in the reclass files, or by using a Pod Descriptor File (PDF).
+hardware and environment in the reclass files, or by using a Pod Descriptor File (PDF).
This file contains all the information about the hardware and network of the deployment
the will be fed to the reclass model during deployment.
@@ -264,10 +317,10 @@ The installation is done automatically with the deploy script, which will:
- Create a Salt Master VM on the Jumpserver which will drive the installation
- Create a MaaS Node VM on the Jumpserver which will provision the targets
- - Install Openstack on the targets
+ - Install OpenStack on the targets
- Leverage MaaS to provision baremetal nodes with the operating system
- - Leverage Salt to configure the operatign system on the baremetal nodes
- - Leverage Salt to install & configure Openstack services
+ - Leverage Salt to configure the operating system on the baremetal nodes
+ - Leverage Salt to install & configure OpenStack services
.. figure:: img/fuel_baremetal.png
:align: center
@@ -297,11 +350,12 @@ The installation is done automatically with the deploy script, which will:
| Tenant VM | VM running in the cloud |
+-----------------------+---------------------------------------------------------+
-In the baremetal deploy all bridges but "mcpcontrol" are linux bridges. For the Jumpserver, if they are already created
-they will be used; otherwise they will be created. For the targets, the bridges are created by the deploy script.
+In the baremetal deploy all bridges but "mcpcontrol" are Linux bridges. For the Jumpserver, it is
+required to pre-configure at least the admin_br bridge for the PXE/Admin.
+For the targets, the bridges are created by the deploy script.
-**Note**: A virtual network "mcpcontrol" is always created. For baremetal deploys, PXE bridge is used for
-baremetal node provisioning, while "mcpcontrol" is used to provision the infrastructure VMs only.
+**Note**: A virtual network "mcpcontrol" is always created. For baremetal deploys, PXE bridge is used
+for baremetal node provisioning, while "mcpcontrol" is used to provision the infrastructure VMs only.
Steps to Start the Automatic Deploy
@@ -333,13 +387,22 @@ These steps are common both for virtual and baremetal deploys.
#. Start the deploy script
+ Besides the basic options, there are other recommended deploy arguments:
+
+ - use **-D** option to enable the debug info
+ - use **-S** option to point to a tmp dir where the disk images are saved. The images will be
+ re-used between deploys
+ - use **|& tee** to save the deploy log to a file
+
.. code-block:: bash
$ ci/deploy.sh -l <lab_name> \
-p <pod_name> \
-b <URI to configuration repo containing the PDF file> \
-s <scenario> \
- -B <list of admin, management, private and public bridges>
+ -B <list of admin, management, private and public bridges> \
+ -D \
+ -S <Storage directory for disk images> |& tee deploy.log
Examples
--------
@@ -356,7 +419,9 @@ Examples
$ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
-l ericsson \
-p virtual_kvm \
- -s os-nosdn-nofeature-noha
+ -s os-nosdn-nofeature-noha \
+ -D \
+ -S /home/jenkins/tmpdir |& tee deploy.log
Once the deployment is complete, the OpenStack Dashboard, Horizon is
available at http://<controller VIP>:8078, e.g. http://10.16.0.101:8078.
@@ -373,6 +438,8 @@ Examples
-p pod2 \
-s os-nosdn-nofeature-ha \
-B pxebr,br-ctl
+ -D \
+ -S /home/jenkins/tmpdir |& tee deploy.log
.. figure:: img/lf_pod2.png
:align: center
@@ -387,11 +454,12 @@ Examples
.. code-block:: bash
- $ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
- -l arm \
- -p pod5 \
- -s os-nosdn-nofeature-ha \
- -B admin7_br0,mgmt7_br0,,public7_br0
+ $ ci/deploy.sh -b file:///home/jenkins/tmpdir/securedlab \
+ -l arm \
+ -p pod5 \
+ -s os-nosdn-nofeature-ha \
+ -D \
+ -S /home/jenkins/tmpdir |& tee deploy.log
.. figure:: img/arm_pod5.png
:align: center
@@ -399,10 +467,6 @@ Examples
Fuel@OPNFV ARM POD5 Network Layout
- Once the deployment is complete, the SaltStack Deployment Documentation is
- available at http://<Proxy VIP>:8090, e.g. http://10.0.8.103:8090.
-
-
Pod Descriptor Files
====================
diff --git a/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch
index 6e4618b8..f27ccb24 100644
--- a/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch
+++ b/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch
@@ -45,7 +45,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
create mode 100644 mcp/salt-formulas/armband/vgabios.sls
diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha
-index fbddc6e..4f5e327 100755
+index 02b7009..9ec1409 100755
--- a/mcp/config/states/openstack_ha
+++ b/mcp/config/states/openstack_ha
@@ -52,6 +52,7 @@ salt -I 'neutron:server' state.sls neutron -b 1
@@ -57,17 +57,17 @@ index fbddc6e..4f5e327 100755
salt -I 'mongodb:server' state.sls mongodb || true
wait_for 90 "salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin'"
diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha
-index 369e165..2eb6811 100755
+index cc46ac1..e70b6d3 100755
--- a/mcp/config/states/openstack_noha
+++ b/mcp/config/states/openstack_noha
-@@ -47,3 +47,5 @@ salt -I 'ceilometer:server' state.sls ceilometer
+@@ -50,3 +50,5 @@ salt -I 'ceilometer:server' state.sls ceilometer
salt -I 'ceilometer:agent' state.sls ceilometer
salt -I 'horizon:server' state.sls horizon
+
+salt -I 'nova:compute' state.sls armband
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
-index 33cc9dc..d717f39 100755
+index f97e9b7..f0da66f 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -27,6 +27,7 @@ if [ "${ERASE_ENV}" -eq 1 ]; then
diff --git a/patches/opnfv-fuel/0002-network-public-Use-arm-virtual2-POD-config.patch b/patches/opnfv-fuel/0002-network-public-Use-arm-virtual2-POD-config.patch
index b66f9bcb..889e3695 100644
--- a/patches/opnfv-fuel/0002-network-public-Use-arm-virtual2-POD-config.patch
+++ b/patches/opnfv-fuel/0002-network-public-Use-arm-virtual2-POD-config.patch
@@ -84,7 +84,7 @@ index ada2c25..0faf478 100644
- external_address: 10.16.0.110
+ external_address: 10.0.9.110
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common-noha/openstack_init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common-noha/openstack_init.yml
-index 81f050f..b304c28 100644
+index 7037d64..7892c46 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common-noha/openstack_init.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common-noha/openstack_init.yml
@@ -14,7 +14,7 @@ parameters:
diff --git a/patches/opnfv-fuel/0003-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch b/patches/opnfv-fuel/0003-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch
index ca3ca2a1..7ceb0a1b 100644
--- a/patches/opnfv-fuel/0003-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch
+++ b/patches/opnfv-fuel/0003-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 30c337c..f62ce5c 100644
+index f953cdd..f966208 100644
--- a/mcp/salt-formulas/opendaylight/server.sls
+++ b/mcp/salt-formulas/opendaylight/server.sls
-@@ -79,4 +79,9 @@ opendaylight:
+@@ -91,4 +91,9 @@ opendaylight:
- service: opendaylight
{%- endif %}
diff --git a/patches/opnfv-fuel/0004-maas-Add-curtin_userdata_arm64_generic_xenial.patch b/patches/opnfv-fuel/0004-maas-Add-curtin_userdata_arm64_generic_xenial.patch
index cd202d2c..4e080e8f 100644
--- a/patches/opnfv-fuel/0004-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+++ b/patches/opnfv-fuel/0004-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 4c55223..9757875 100644
+index 62b0f60..b7a8953 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -16,3 +16,4 @@
- /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
+@@ -18,3 +18,4 @@
/usr/share/salt-formulas/reclass: 0011-service.horizon.server.cluster-Default-to-v2-API.patch
+ /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.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-ocata-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common-ha/infra/maas.yml
-index 04ffdb4..82017b0 100644
+index 1136908..7fd1623 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common-ha/infra/maas.yml
-@@ -39,6 +39,50 @@ parameters:
+@@ -40,6 +40,50 @@ parameters:
enable_third_party_drivers: true
network_discovery: 'enabled'
default_min_hwe_kernel: ${_param:hwe_kernel}
@@ -92,7 +92,7 @@ index 04ffdb4..82017b0 100644
+ arches: 'arm64'
+ key: &armband_key |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
-+ Version: GnuPG v1
++ Version: GnuPG v2.0.14 (GNU/Linux)
+
+ mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
+ qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
@@ -100,15 +100,15 @@ index 04ffdb4..82017b0 100644
+ mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
+ BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
+ ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
-+ ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JAT4EEwECACgFAlagAroCGwMF
-+ CQPCZwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEN6rkLp5irHRsG8H/2P2
-+ hO6jFHPRD1u8j9ufO9AxoInaEG9GeRjuvMc1tCUzovXvTs106TZ0as6MbAJ1S6u5
-+ E8UyQ1+VGepvdIJPXx3PCxLmUt6WIqmdOdqFrxIclohig/kardi3NfX1MBvlEV/c
-+ 7Q51H43hrlMqMpqgY1Bm+53PLC4ujjlDJBtJOEU9dki319bUmng+gO9BAljDJFXv
-+ JqY6+P/er7IgCbRXUXYfyJzgjx9JwlKbmdQ8QnCrZjF/VHIW40/mu5IIJuFvuCti
-+ tcog+SNSlDmCOS+wE8CCojeuJqupIOcz9zypVGzeus/N5Q5EEFe7GYWYS/5NKUkE
-+ 1TuuFeZKu5NJC5rkwIU=
-+ =7p60
++ ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
++ BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
++ nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
++ t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
++ 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
++ AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
++ IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
++ W/9PMAlgE/U=
++ =m+zE
+ -----END PGP PUBLIC KEY BLOCK-----
+ armband_mk_openstack:
+ name: armband_mk_openstack
diff --git a/patches/opnfv-fuel/0006-libvirt-Use-libvirt-unix_sock_group.patch b/patches/opnfv-fuel/0006-libvirt-Use-libvirt-unix_sock_group.patch
index 8208806f..bad8555d 100644
--- a/patches/opnfv-fuel/0006-libvirt-Use-libvirt-unix_sock_group.patch
+++ b/patches/opnfv-fuel/0006-libvirt-Use-libvirt-unix_sock_group.patch
@@ -48,11 +48,11 @@ index 0000000..34d7cb4
+ # 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 9757875..a1741d2 100644
+index b7a8953..9cc1c7b 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -17,3 +17,4 @@
- /usr/share/salt-formulas/reclass: 0011-service.horizon.server.cluster-Default-to-v2-API.patch
+@@ -19,3 +19,4 @@
+ /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.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: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch
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 7772c2f4..f80098ff 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,13 +41,13 @@ 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 5a8cb49..c963e59 100755
+index 5a8b6c7..15fc572 100755
--- a/mcp/config/states/baremetal_init
+++ b/mcp/config/states/baremetal_init
-@@ -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
+@@ -32,6 +32,7 @@ salt -C 'cmp*' state.apply linux.network || true
+ salt -C 'cmp*' file.write /etc/dhcp/dhclient-enter-hooks.d/no-default-route \
+ args='unset new_routers'
+
+salt -C 'kvm*' state.apply armband.salt_minion
salt -C 'kvm* or cmp*' system.reboot
wait_for 90.0 "salt -C 'kvm* or cmp*' test.ping"
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 75a7ed33..2ebc5a16 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,10 +150,10 @@ index 0000000..a9fe11b
+
+ #salt_control_seed_{{ cluster_name }}_{{ node_name }}:
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index a1741d2..e7660ba 100644
+index 9cc1c7b..bf55868 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -18,3 +18,5 @@
+@@ -20,3 +20,5 @@
/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: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch
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 6ec394ba..121d7bae 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 e7660ba..4163314 100644
+index bf55868..9c911ba 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -20,3 +20,4 @@
+@@ -22,3 +22,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
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 203021a5..27c321b5 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 c963e59..ab322db 100755
+index 15fc572..7c86513 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 \
@@ -32,9 +32,9 @@ index c963e59..ab322db 100755
+salt -C 'kvm* or cmp*' state.apply opnfv.adduser
salt -C 'kvm*' state.apply linux.network
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
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
-index d717f39..7ef4e15 100755
+index f0da66f..b9c252b 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -49,6 +49,7 @@ while [ $rc -ne 0 ] && [ ${attempt} -lt ${total_attempts} ]; do
diff --git a/upstream/fuel b/upstream/fuel
-Subproject 4874ba30071630c6b96eb6ea912a4fe047e0d93
+Subproject fe9be64738ff1a1091e7df5b04b391fb15d6abc