create mode 100644 mcp/salt-formulas/armband/vgabios.sls
 
 diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index 31625d8..1e14e5f 100755
+index 01f8ee0..2dd62f9 100755
 --- a/mcp/config/states/maas
 +++ b/mcp/config/states/maas
-@@ -81,6 +81,7 @@ wait_for 90 "! salt '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+@@ -81,6 +81,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 -I 'nova:compute' state.sls armband
 diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha
-index 2597e82..4fc184f 100755
+index cc4279c..32b581f 100755
 --- a/mcp/config/states/openstack_ha
 +++ b/mcp/config/states/openstack_ha
 @@ -41,6 +41,7 @@ salt -I 'neutron:server' state.sls neutron -b 1
- salt -I 'neutron:gateway' state.sls neutron
+ salt -I 'neutron:gateway' state.sls neutron.gateway
 
  salt -I 'nova:compute' state.sls nova
 +salt -I 'nova:compute' state.sls armband
 
      ram: 4096
 
 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 5862ddb..2374dee 100644
+index e67a06d..066a6e2 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
-@@ -51,7 +51,7 @@ parameters:
+@@ -54,7 +54,7 @@ parameters:
        address: ${_param:single_address}
        netmask: 255.255.255.0
 
--    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
+-    salt_control_xenial_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
 +    salt_control_xenial_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
      salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
    linux:
      network:
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
-index e3d47b0..93e2de0 100644
+index 8bf43be..acf2b43 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
-@@ -51,7 +51,7 @@ parameters:
+@@ -54,7 +54,7 @@ parameters:
        address: ${_param:single_address}
        netmask: 255.255.255.0
 
--    salt_control_xenial_image: http://apt.mirantis.com/images/ubuntu-16-04-x64-latest.qcow2
+-    salt_control_xenial_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
 +    salt_control_xenial_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
      salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
    linux:
 
  21 files changed, 91 insertions(+), 94 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 202799f..424a868 100644
+index a7b08f8..b9bd3e0 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
 @@ -33,8 +33,8 @@ parameters:
            - float-to-ex
 -
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
-index 227c649..e50b2ce 100644
+index e8666d6..149d29d 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/control.yml
 @@ -23,7 +23,7 @@ classes:
 -        ens3: ${_param:linux_single_interface}
 +        enp1s0: ${_param:linux_dhcp_interface}
 +        enp2s0: ${_param:linux_single_interface}
-   neutron:
+   keystone:
      server:
-       backend:
+       cacert: /etc/ssl/certs/mcp_os_cacert
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml
 index 9748c4c..a5317b1 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/dashboard.yml
 +        enp1s0: ${_param:linux_dhcp_interface}
 +        enp2s0: ${_param:linux_single_interface}
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
-index ce2c951..7d95ebc 100644
+index a75b41d..3979fd1 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
 @@ -32,8 +32,8 @@ parameters:
      master:
        accept_policy: open_mode
 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 1608c65..8677a79 100644
+index 44301a0..31e87e4 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
 @@ -25,7 +25,8 @@ parameters:
            use_ovs_ports:
            - float-to-ex
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
-index 6f47f8a..5ba1411 100644
+index a5913dd..638abba 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/control.yml
 @@ -23,7 +23,7 @@ classes:
 -        ens3: ${_param:linux_single_interface}
 +        enp1s0: ${_param:linux_dhcp_interface}
 +        enp2s0: ${_param:linux_single_interface}
-   bind:
+   keystone:
      server:
-       control:
+       cacert: /etc/ssl/certs/mcp_os_cacert
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml
 index 39cc073..18f622c 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml
 
 ++{{endif}}
 ++{% endraw %}
 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index 1a651cf..c66ecb0 100644
+index 419ff26..dbc72db 100644
 --- a/mcp/patches/patches.list
 +++ b/mcp/patches/patches.list
-@@ -5,3 +5,4 @@
- /usr/share/salt-formulas/env: 0005-maas-module-Obtain-fabric-ID-from-CIDR.patch
+@@ -6,3 +6,4 @@
  /usr/share/salt-formulas/env: 0006-maas-module-Add-VLAN-DHCP-enable-support.patch
  /usr/share/salt-formulas/env: 0007-linux.network.interface-noifupdown-support.patch
+ /usr/share/salt-formulas/env: 0008-Handle-file_recv-option.patch
 +/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
 
 
  # Variables below are disabled for now, to be re-introduced or removed later
 diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index 1e14e5f..db0241b 100755
+index 2dd62f9..3731c31 100755
 --- a/mcp/config/states/maas
 +++ b/mcp/config/states/maas
 @@ -52,7 +52,7 @@ salt -C 'mas01*' state.apply linux.network.interface
  wait_for 10 "salt -C 'mas01*' state.apply maas.region"
 
 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 2374dee..fb5b856 100644
+index 066a6e2..eae7586 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
 @@ -16,19 +16,19 @@ parameters:
      opendaylight_server_node01_hostname: odl01
      opendaylight_router: odl-router_v2
 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
-index 93e2de0..1d75356 100644
+index acf2b43..57fb461 100644
 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml
 @@ -16,19 +16,19 @@ parameters:
 
 + # 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 c66ecb0..a42f513 100644
+index dbc72db..b064772 100644
 --- a/mcp/patches/patches.list
 +++ b/mcp/patches/patches.list
-@@ -6,3 +6,4 @@
- /usr/share/salt-formulas/env: 0006-maas-module-Add-VLAN-DHCP-enable-support.patch
+@@ -7,3 +7,4 @@
  /usr/share/salt-formulas/env: 0007-linux.network.interface-noifupdown-support.patch
+ /usr/share/salt-formulas/env: 0008-Handle-file_recv-option.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
 
  create mode 100644 mcp/salt-formulas/armband/libvirt_domain_template.sls
 
 diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index db0241b..fcb8ce3 100755
+index 3731c31..5e1dca1 100755
 --- a/mcp/config/states/maas
 +++ b/mcp/config/states/maas
-@@ -81,7 +81,7 @@ wait_for 90 "! salt '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+@@ -81,7 +81,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_control_seed_{{ cluster_name }}_{{ node_name }}:
 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index a42f513..67b9c82 100644
+index b064772..2eed8f3 100644
 --- a/mcp/patches/patches.list
 +++ b/mcp/patches/patches.list
-@@ -7,3 +7,5 @@
- /usr/share/salt-formulas/env: 0007-linux.network.interface-noifupdown-support.patch
+@@ -8,3 +8,5 @@
+ /usr/share/salt-formulas/env: 0008-Handle-file_recv-option.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
            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 8677a79..914908d 100644
+index 31e87e4..a7b79d4 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
 @@ -34,26 +34,41 @@ parameters:
          openstack.control:
-           cpu: 6
+           cpu: 4
            ram: 8192
 +          hw_firmware_type: uefi
 +          virt_machine_model: virt
            disk_profile: small
            net_profile: default
          openstack.database:
-           cpu: 6
+           cpu: 4
            ram: 8192
 +          hw_firmware_type: uefi
 +          virt_machine_model: virt
            disk_profile: large
            net_profile: default
          openstack.message_queue:
-           cpu: 6
+           cpu: 4
            ram: 8192
 +          hw_firmware_type: uefi
 +          virt_machine_model: virt
            disk_profile: small
            net_profile: default
          openstack.telemetry:
-           cpu: 4
+           cpu: 2
            ram: 4096
 +          hw_firmware_type: uefi
 +          virt_machine_model: virt
            disk_profile: xxlarge
            net_profile: default
          openstack.proxy:
-           cpu: 4
+           cpu: 2
            ram: 4096
 +          hw_firmware_type: uefi
 +          virt_machine_model: virt
 
  create mode 100644 mcp/salt-formulas/armband/files/cloud.py.diff
 
 diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index fcb8ce3..12ef9ed 100755
+index 5e1dca1..9e0093b 100755
 --- a/mcp/config/states/maas
 +++ b/mcp/config/states/maas
 @@ -76,6 +76,7 @@ salt -C '* and not cfg01* and not mas01*' saltutil.sync_all
  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 '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+ 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
 
 +
 +
 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index 67b9c82..b4b2b30 100644
+index 2eed8f3..1d86e35 100644
 --- a/mcp/patches/patches.list
 +++ b/mcp/patches/patches.list
-@@ -9,3 +9,4 @@
+@@ -10,3 +10,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
 
+++ /dev/null
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Thu, 24 Aug 2017 03:50:11 +0200
-Subject: [PATCH] states: maas: Batch apply linux state with `-b 4`
-
-Applying heavy states like linux.network on multiple nodes in
-parallel might lead to spurious timeouts on slower systems.
-
-Compromise between speed and realiability by applying this state
-in batches of 4 nodes at once.
-
-While at it, increase global command_timeout to 15s on Salt master,
-since default command timeout (10s) is sometimes too small for all
-minions to return within the required timeslot. Increase it by 50%.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- mcp/config/states/maas                                                  | 2 +-
- mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index 12ef9ed..697f83c 100755
---- a/mcp/config/states/maas
-+++ b/mcp/config/states/maas
-@@ -107,4 +107,4 @@ wait_for 10 "salt -C '* and not cfg01* and not mas01*' ssh.set_auth_key ${SUDO_U
-
- wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all"
- wait_for 10 "salt -C '* and not cfg01* and not mas01*' state.apply salt"
--wait_for 10 "salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp"
-+wait_for 10 "salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp -b 4"
-diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
-index 7d95ebc..46526da 100644
---- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
-+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/config.yml
-@@ -37,6 +37,7 @@ parameters:
-   salt:
-     master:
-       accept_policy: open_mode
-+      command_timeout: 15
-   reclass:
-     storage:
-       data_source:
 
  1 file changed, 5 insertions(+)
 
 diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index 697f83c..383063d 100755
+index 9e0093b..4f27984 100755
 --- a/mcp/config/states/maas
 +++ b/mcp/config/states/maas
 @@ -44,6 +44,11 @@ function maas_fixup() {