aboutsummaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-08-06 19:35:41 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-08-17 19:46:53 +0200
commit55dabaa703f90f77cecb841a3b5c4ef64b205439 (patch)
tree93c85ada16735b79ea8cd5ce4caa400d107f6ead /patches/opnfv-fuel
parentd81ba0acaf68ad4d5e8db943395431558d77b638 (diff)
Baremetal support for MCP on AArch64
NOTE: Armband moves MaaS IPs to x.y.z.2 (from x.y.z.3) due to address overlap with IPMI static IPs residing in the same range. Change-Id: I2fc9539afe921d2704e7f5ff615ccd86d0914b7b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel')
-rw-r--r--patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch1
-rw-r--r--patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch31
-rw-r--r--patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch2
-rw-r--r--patches/opnfv-fuel/0007-states-network-parametrize-openstack-public-net.patch21
-rw-r--r--patches/opnfv-fuel/0008-mcp-config-AArch64-baremetal-Use-arm64-image.patch38
-rw-r--r--patches/opnfv-fuel/0009-classes-baremetal-AArch64-virtio-NIC-names-sync.patch284
-rw-r--r--patches/opnfv-fuel/0010-maas-Add-curtin_userdata_arm64_generic_xenial.patch104
-rw-r--r--patches/opnfv-fuel/0011-network-public-mgmt-Use-arm-pod3-POD-config.patch159
-rw-r--r--patches/opnfv-fuel/0012-classes-baremetal-arm-pod3-config-hardcode.patch95
-rw-r--r--patches/opnfv-fuel/0013-maas-boot-resources-Add-arm64-architecture.patch22
10 files changed, 751 insertions, 6 deletions
diff --git a/patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch b/patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch
index c5ca0a77..74fed68b 100644
--- a/patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch
+++ b/patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch
@@ -2,7 +2,6 @@ From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Tue, 11 Jul 2017 18:24:24 +0200
Subject: [PATCH] mcp/config: AArch64: Use UEFI arm64 image
-Also, allow removal of VMs booted via guest UEFI (OVMF or AAVMF).
While at it, bump default vCPU number from 2 to 6.
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
diff --git a/patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch
index 0b77805b..a59df5ce 100644
--- a/patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch
+++ b/patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch
@@ -19,14 +19,15 @@ 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/maas | 1 +
mcp/config/states/openstack | 2 +
.../armband/files/nova-libvirt-driver.diff | 48 ++++++++++++++++++++++
mcp/salt-formulas/armband/init.sls | 6 +++
mcp/salt-formulas/armband/libvirt_driver.sls | 5 +++
- mcp/salt-formulas/armband/nova.sls | 24 +++++++++++
+ mcp/salt-formulas/armband/nova.sls | 34 +++++++++++++++
mcp/salt-formulas/armband/qemu.sls | 7 ++++
mcp/salt-formulas/armband/vgabios.sls | 6 +++
- 7 files changed, 98 insertions(+)
+ 8 files changed, 109 insertions(+)
create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-driver.diff
create mode 100644 mcp/salt-formulas/armband/init.sls
create mode 100644 mcp/salt-formulas/armband/libvirt_driver.sls
@@ -34,6 +35,18 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
create mode 100644 mcp/salt-formulas/armband/qemu.sls
create mode 100644 mcp/salt-formulas/armband/vgabios.sls
+diff --git a/mcp/config/states/maas b/mcp/config/states/maas
+index 8b59910..3b722ea 100755
+--- a/mcp/config/states/maas
++++ b/mcp/config/states/maas
+@@ -42,6 +42,7 @@ salt -C 'mas01*' pillar.item\
+ salt -C '* and not cfg01* and not mas01*' saltutil.sync_all
+ salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp
+
++salt -C 'kvm*' state.sls armband
+ salt -C 'kvm*' state.sls libvirt
+
+ salt -C '* and not cfg01* and not mas01*' system.reboot
diff --git a/mcp/config/states/openstack b/mcp/config/states/openstack
index 57ca585..23aaf72 100755
--- a/mcp/config/states/openstack
@@ -123,30 +136,40 @@ index 0000000..c309035
+
diff --git a/mcp/salt-formulas/armband/nova.sls b/mcp/salt-formulas/armband/nova.sls
new file mode 100644
-index 0000000..994d505
+index 0000000..ade8c7a
--- /dev/null
+++ b/mcp/salt-formulas/armband/nova.sls
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,34 @@
++{% if grains['virtual'] == 'kvm' %}
+nova_virt_type:
+ file.replace:
+ - name: "/etc/nova/nova.conf"
+ - pattern: ^virt_type =.*$
+ - repl: "virt_type = qemu"
++{% endif %}
++
+nova_pointer_model:
+ file.replace:
+ - name: "/etc/nova/nova.conf"
+ - pattern: ^#pointer_model=.*$
+ - repl: "pointer_model=ps2mouse"
++
+nova_cpu_mode:
+ file.replace:
+ - name: "/etc/nova/nova.conf"
+ - pattern: "^cpu_mode = host-passthrough"
+ - repl: "cpu_mode=custom"
++
+nova_cpu_model:
+ file.replace:
+ - name: "/etc/nova/nova.conf"
+ - pattern: ^#cpu_model=.*$
++ {% if grains['virtual'] == 'kvm' %}
+ - repl: "cpu_model=cortex-a57"
++ {% else %}
++ - repl: "cpu_model=host"
++ {% endif %}
++
+restart_nova-compute:
+ cmd:
+ - run
diff --git a/patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch b/patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch
index 256a44dc..7d91ac60 100644
--- a/patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch
+++ b/patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] network: public: Use arm-virtual2 POD config
grep -e "10\.16\.0\." -R . -l | \
xargs sed -i \
-e 's/10\.16\.0\./10.0.9./g' \
- -e 's/10\.0\.9\.254/10.0.9.200/g'
+ -e 's/10\.0\.9\.254/10.0.9.200/g' \
-e 's/10\.0\.9\.1/10.0.9.254/g'
NOTE: This should be converted into a dynamic configuration read from
diff --git a/patches/opnfv-fuel/0007-states-network-parametrize-openstack-public-net.patch b/patches/opnfv-fuel/0007-states-network-parametrize-openstack-public-net.patch
new file mode 100644
index 00000000..63abf6c1
--- /dev/null
+++ b/patches/opnfv-fuel/0007-states-network-parametrize-openstack-public-net.patch
@@ -0,0 +1,21 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Thu, 17 Aug 2017 18:54:16 +0200
+Subject: [PATCH] states/network: parametrize openstack public net
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mcp/config/states/networks | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/mcp/config/states/networks b/mcp/config/states/networks
+index df4c0bb..88111e5 100755
+--- a/mcp/config/states/networks
++++ b/mcp/config/states/networks
+@@ -1,3 +1,6 @@
++#!/bin/bash
++OPENSTACK_PUBLIC_NET=${OPENSTACK_PUBLIC_NET:-10.0.9.0/24}
++
+ salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack compute service list; openstack network agent list; openstack stack list; openstack volume service list"
+ salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack network create --external --default --provider-network-type flat --provider-physical-network physnet1 floating_net"
+-salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack subnet create --gateway 10.0.9.254 --no-dhcp --allocation-pool start=10.0.9.130,end=10.0.9.200 --network floating_net --subnet-range 10.0.9.0/24 floating_subnet"
++salt 'ctl01*' cmd.run ". /root/keystonercv3; openstack subnet create --gateway ${OPENSTACK_PUBLIC_NET%.*}.254 --no-dhcp --allocation-pool start=${OPENSTACK_PUBLIC_NET%.*}.130,end=${OPENSTACK_PUBLIC_NET%.*}.200 --network floating_net --subnet-range ${OPENSTACK_PUBLIC_NET} floating_subnet"
diff --git a/patches/opnfv-fuel/0008-mcp-config-AArch64-baremetal-Use-arm64-image.patch b/patches/opnfv-fuel/0008-mcp-config-AArch64-baremetal-Use-arm64-image.patch
new file mode 100644
index 00000000..0e7eee61
--- /dev/null
+++ b/patches/opnfv-fuel/0008-mcp-config-AArch64-baremetal-Use-arm64-image.patch
@@ -0,0 +1,38 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sun, 6 Aug 2017 19:34:06 +0200
+Subject: [PATCH] mcp/config: AArch64 baremetal: Use arm64 image
+
+While at it, bump default vCPU number from 2 to 6.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mcp/config/scenario/baremetal/defaults.yaml | 4 ++--
+ mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mcp/config/scenario/baremetal/defaults.yaml b/mcp/config/scenario/baremetal/defaults.yaml
+index b841e88..17fbbfc 100644
+--- a/mcp/config/scenario/baremetal/defaults.yaml
++++ b/mcp/config/scenario/baremetal/defaults.yaml
+@@ -1,6 +1,6 @@
+-base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
++base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
+ virtual:
+ default:
+- vcpus: 2
++ vcpus: 6
+ ram: 4096
+
+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 55ffcae..93e2de0 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:
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+
+- 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/patches/opnfv-fuel/0009-classes-baremetal-AArch64-virtio-NIC-names-sync.patch b/patches/opnfv-fuel/0009-classes-baremetal-AArch64-virtio-NIC-names-sync.patch
new file mode 100644
index 00000000..ccd537aa
--- /dev/null
+++ b/patches/opnfv-fuel/0009-classes-baremetal-AArch64-virtio-NIC-names-sync.patch
@@ -0,0 +1,284 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sun, 6 Aug 2017 20:42:47 +0200
+Subject: [PATCH] classes: baremetal: AArch64: virtio NIC names sync
+
+grep -e "ens[[:digit:]]" -R . -l | \
+ xargs sed -i \
+ -e 's/ens3/enp1s0/g' \
+ -e 's/ens4/enp2s0/g' \
+ -e 's/ens5/enp3s0/g' \
+ -e 's/ens6/enp4s0/g'
+
+Since AArch64 will be using virtio-net-pci NIC model for guests,
+predictable interface naming yields a slightly different scheme.
+
+Update all configuration to reflect this.
+
+NOTE: Above configuration is expected with libvirt 3.x, which puts
+each NIC on a separate PCIe bus (which also imposes virtio modern
+is used).
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ .../baremetal-mcp-ocata-ovs-ha/infra/config.yml | 4 ++--
+ .../cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml | 18 ++++++++++++------
+ .../cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml | 8 ++++----
+ .../baremetal-mcp-ocata-ovs-ha/openstack/compute.yml | 18 +++++++++---------
+ .../baremetal-mcp-ocata-ovs-ha/openstack/control.yml | 4 ++--
+ .../baremetal-mcp-ocata-ovs-ha/openstack/dashboard.yml | 2 +-
+ .../baremetal-mcp-ocata-ovs-ha/openstack/database.yml | 4 ++--
+ .../openstack/message_queue.yml | 4 ++--
+ .../baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml | 4 ++--
+ .../baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml | 4 ++--
+ 10 files changed, 38 insertions(+), 32 deletions(-)
+
+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 77443de..824b979 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
+@@ -33,8 +33,8 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_dhcp_interface}
+- ens4: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_dhcp_interface}
++ enp2s0: ${_param:linux_single_interface}
+ salt:
+ 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 5c33f9e..8b09e76 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:
+ cluster_node03_address: ${_param:infra_kvm_node03_address}
+ keepalived_vip_interface: br-ctl
+ keepalived_vip_virtual_router_id: 69
+- deploy_nic: enp6s0
++ deploy_nic: eth0
++ trunk_nic: eth1
+ salt:
+ control:
+ size: #RAM 4096,8192,16384,32768,65536
+@@ -115,7 +116,7 @@ parameters:
+ linux:
+ network:
+ interface:
+- eth3:
++ eth0:
+ enabled: true
+ type: eth
+ proto: manual
+@@ -123,6 +124,11 @@ parameters:
+ netmask: 255.255.255.0
+ name: ${_param:deploy_nic}
+ noifupdown: true
++ eth1:
++ enabled: true
++ type: eth
++ proto: manual
++ name: ${_param:trunk_nic}
+ br-mgmt:
+ enabled: true
+ proto: dhcp
+@@ -133,13 +139,13 @@ parameters:
+ use_interfaces:
+ - ${_param:deploy_nic}
+ noifupdown: true
+- vlan300:
++ vlan2183:
+ enabled: true
+ proto: manual
+ type: vlan
+- name: ${_param:deploy_nic}.300
++ name: ${_param:trunk_nic}.2183
+ use_interfaces:
+- - ${_param:deploy_nic}
++ - ${_param:trunk_nic}
+ br-ctl:
+ enabled: true
+ type: bridge
+@@ -147,4 +153,4 @@ parameters:
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+- - ${_param:deploy_nic}.300
++ - ${_param:trunk_nic}.2183
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
+index 7fc45e2..428a74b 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
+@@ -4,10 +4,10 @@ classes:
+ - cluster.baremetal-mcp-ocata-ovs-ha.infra
+ parameters:
+ _param:
+- dhcp_interface: ens3
+- primary_interface: ens4
+- pxe_interface: ens5
+- external_interface: ens6
++ dhcp_interface: enp1s0
++ primary_interface: enp2s0
++ pxe_interface: enp3s0
++ external_interface: enp4s0
+ interface_mtu: 1500
+ # MaaS has issues using MTU > 1500 for PXE interface
+ pxe_interface_mtu: 1500
+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 18a7a0b..d052e23 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
+@@ -19,8 +19,8 @@ parameters:
+ cluster_node03_hostname: ctl03
+ cluster_node03_address: ${_param:openstack_control_node03_address}
+ nova_vncproxy_url: https://${_param:cluster_public_host}:6080
+- mgmt_nic: enp6s0
+- tenant_nic: enp7s0
++ mgmt_nic: eth0
++ tenant_nic: eth1
+ linux_system_codename: xenial
+ linux:
+ network:
+@@ -43,19 +43,19 @@ parameters:
+ netmask: 255.255.255.0
+ mtu: 1500
+ use_interfaces:
+- - ${_param:tenant_nic}.302
+- vlan300:
++ - ${_param:tenant_nic}.2185
++ vlan2183:
+ enabled: true
+ proto: manual
+ type: vlan
+- name: ${_param:mgmt_nic}.300
++ name: ${_param:tenant_nic}.2183
+ use_interfaces:
+- - ${_param:mgmt_nic}
+- vlan302:
++ - ${_param:tenant_nic}
++ vlan2185:
+ enabled: true
+ proto: manual
+ type: vlan
+- name: ${_param:tenant_nic}.302
++ name: ${_param:tenant_nic}.2185
+ use_interfaces:
+ - ${_param:tenant_nic}
+ br-ctl:
+@@ -65,4 +65,4 @@ parameters:
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+- - ${_param:mgmt_nic}.300
++ - ${_param:tenant_nic}.2183
+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 995c50c..97f44ca 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:
+ - cluster.baremetal-mcp-ocata-ovs-ha.infra
+ parameters:
+ _param:
+- keepalived_vip_interface: ens3
++ keepalived_vip_interface: enp1s0
+ keepalived_vip_virtual_router_id: 50
+ cluster_vip_address: ${_param:openstack_control_address}
+ cluster_local_address: ${_param:single_address}
+@@ -37,7 +37,7 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
+ bind:
+ server:
+ control:
+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 b7ed814..bfca091 100644
+--- 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
+@@ -7,4 +7,4 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
+index c0e21aa..3fcf34b 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/database.yml
+@@ -16,7 +16,7 @@ classes:
+ - cluster.baremetal-mcp-ocata-ovs-ha
+ parameters:
+ _param:
+- keepalived_vip_interface: ens3
++ keepalived_vip_interface: enp1s0
+ keepalived_vip_virtual_router_id: 80
+ galera_server_cluster_name: openstack_cluster
+ cluster_vip_address: ${_param:openstack_database_address}
+@@ -30,4 +30,4 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
+index 3b79030..4910196 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/message_queue.yml
+@@ -7,7 +7,7 @@ classes:
+ - cluster.baremetal-mcp-ocata-ovs-ha
+ parameters:
+ _param:
+- keepalived_vip_interface: ens3
++ keepalived_vip_interface: enp1s0
+ keepalived_vip_virtual_router_id: 90
+ cluster_vip_address: ${_param:openstack_message_queue_address}
+ cluster_local_address: ${_param:single_address}
+@@ -20,4 +20,4 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
+index 2695c96..d146d8a 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/proxy.yml
+@@ -15,7 +15,7 @@ classes:
+ # - cluster.baremetal-mcp-ocata-ovs-ha.stacklight.proxy
+ parameters:
+ _param:
+- keepalived_vip_interface: ens3
++ keepalived_vip_interface: enp1s0
+ keepalived_vip_virtual_router_id: 240
+ nginx_proxy_ssl:
+ enabled: true
+@@ -27,7 +27,7 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
+ system:
+ package:
+ libapache2-mod-wsgi:
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
+index ca655dd..69ca07f 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/telemetry.yml
+@@ -10,7 +10,7 @@ classes:
+ - cluster.baremetal-mcp-ocata-ovs-ha.infra
+ parameters:
+ _param:
+- keepalived_vip_interface: ens3
++ keepalived_vip_interface: enp1s0
+ keepalived_vip_virtual_router_id: 230
+ cluster_vip_address: ${_param:openstack_telemetry_address}
+ cluster_local_address: ${_param:single_address}
+@@ -23,4 +23,4 @@ parameters:
+ linux:
+ network:
+ interface:
+- ens3: ${_param:linux_single_interface}
++ enp1s0: ${_param:linux_single_interface}
diff --git a/patches/opnfv-fuel/0010-maas-Add-curtin_userdata_arm64_generic_xenial.patch b/patches/opnfv-fuel/0010-maas-Add-curtin_userdata_arm64_generic_xenial.patch
new file mode 100644
index 00000000..b1c3ca58
--- /dev/null
+++ b/patches/opnfv-fuel/0010-maas-Add-curtin_userdata_arm64_generic_xenial.patch
@@ -0,0 +1,104 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Mon, 7 Aug 2017 19:45:01 +0200
+Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
+
+Add AArch64 specific configuration.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ ...-Add-curtin_userdata_arm64_generic_xenial.patch | 76 ++++++++++++++++++++++
+ mcp/patches/patches.list | 1 +
+ 2 files changed, 77 insertions(+)
+ create mode 100644 mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+
+diff --git a/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch b/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+new file mode 100644
+index 0000000..b969e07
+--- /dev/null
++++ b/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+@@ -0,0 +1,76 @@
++From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++Date: Sat, 5 Aug 2017 02:03:01 +0200
++Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
++
++Based on curtin_userdata_amd64_generic_xenial, add new arm64
++specific configuration file:
++- curtin_userdata_arm64_generic_xenial
++
++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++---
++
++diff --git a/maas/region.sls b/maas/region.sls
++--- a/maas/region.sls
+++++ b/maas/region.sls
++@@ -70,6 +70,18 @@
++ - require:
++ - pkg: maas_region_packages
++
+++/etc/maas/preseeds/curtin_userdata_arm64_generic_xenial:
+++ file.managed:
+++ - source: salt://maas/files/curtin_userdata_arm64_generic_xenial
+++ - template: jinja
+++ - user: root
+++ - group: root
+++ - mode: 644
+++ - context:
+++ salt_master_ip: {{ region.salt_master_ip }}
+++ - require:
+++ - pkg: maas_region_packages
+++
++ maas_region_services:
++ service.running:
++ - enable: true
++diff --git a/maas/files/curtin_userdata_arm64_generic_xenial b/maas/files/curtin_userdata_arm64_generic_xenial
++new file mode 100644
++--- /dev/null
+++++ b/maas/files/curtin_userdata_arm64_generic_xenial
++@@ -0,0 +1,38 @@
+++{%- from "maas/map.jinja" import server with context %}
+++{% raw %}
+++#cloud-config
+++debconf_selections:
+++ maas: |
+++ {{for line in str(curtin_preseed).splitlines()}}
+++ {{line}}
+++ {{endfor}}
+++{{if third_party_drivers and driver}}
+++early_commands:
+++ {{py: key_string = ''.join(['\\x%x' % x for x in map(ord, driver['key_binary'])])}}
+++ driver_00_get_key: /bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg
+++ driver_01_add_key: ["apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
+++ driver_02_add: ["add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
+++ driver_03_update_install: ["sh", "-c", "apt-get update --quiet && apt-get --assume-yes install {{driver['package']}}"]
+++ driver_04_load: ["sh", "-c", "depmod && modprobe {{driver['module']}}"]
+++{{endif}}
+++late_commands:
+++ maas: [wget, '--no-proxy', {{node_disable_pxe_url|escape.json}}, '--post-data', {{node_disable_pxe_data|escape.json}}, '-O', '/dev/null']
+++ apt_00_set_repo: ["curtin", "in-target", "--", "sh", "-c", "echo 'deb [arch=arm64] http://linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/latest xenial main' >> /etc/apt/sources.list"]
+++ apt_01_set_gpg: ["curtin", "in-target", "--", "sh", "-c", "echo 'LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHIHYxCgptUUVOQkZhZ0Fyb0JDQURXYm9OSWp1RjZsQjFtV3YyK0VidnFZM2xLbDVtTEtocjJEblNVa0tlSFVQQnY4Z05NCnFLOFEwMEFNSXlQaXlFaGdqQStkV2l6Wis1YUJneG9pWTdvTWVMSjJYeW0zNlUvOFNZcTJCV2QzU0dDYk1Ob3oKU0pEeERVU00vSEZWczZhdEYxTTNEWTlvTjY1aFNWbnU0dXk1VHU2YXNmNms0cmhBeWswejQrcFJjUEJDdTJ2cQptbkdpM0NPTS8rOVBTaHJFS2VWT3g1VzJ2Ukp5d1VGdXE4RUR2UW5Sb0owR3ZNMjhKaUpJYW53MTdZd0lQeGhnCkJLWlZwWmphbjVYK2loVk1Yd0EyaC9HL0ZTNU9taGQ1MFJxVjZMV1NZczk0VkpKZ1lxSHg4VU1tN2l6Y3hJK1AKY3QzSWNiRDE5NWJQYkorU2J1aUZlNDVaTHNkWTFNeUdpVTJCQUJFQkFBRzBLMFZ1WldFZ1FYSnRZbUZ1WkNCRQpaWFp2Y0hNZ1ZHVmhiU0E4WVhKdFltRnVaRUJsYm1WaExtTnZiVDZKQVQ0RUV3RUNBQ2dGQWxhZ0Fyb0NHd01GCkNRUENad0FHQ3drSUJ3TUNCaFVJQWdrS0N3UVdBZ01CQWg0QkFoZUFBQW9KRU42cmtMcDVpckhSc0c4SC8yUDIKaE82akZIUFJEMXU4ajl1Zk85QXhvSW5hRUc5R2VSanV2TWMxdENVem92WHZUczEwNlRaMGFzNk1iQUoxUzZ1NQpFOFV5UTErVkdlcHZkSUpQWHgzUEN4TG1VdDZXSXFtZE9kcUZyeEljbG9oaWcva2FyZGkzTmZYMU1CdmxFVi9jCjdRNTFINDNocmxNcU1wcWdZMUJtKzUzUExDNHVqamxESkJ0Sk9FVTlka2kzMTliVW1uZytnTzlCQWxqREpGWHYKSnFZNitQL2VyN0lnQ2JSWFVYWWZ5Snpnang5SndsS2JtZFE4UW5DclpqRi9WSElXNDAvbXU1SUlKdUZ2dUN0aQp0Y29nK1NOU2xEbUNPUyt3RThDQ29qZXVKcXVwSU9jejl6eXBWR3pldXMvTjVRNUVFRmU3R1lXWVMvNU5LVWtFCjFUdXVGZVpLdTVOSkM1cmt3SVU9Cj03cDYwCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K'|base64 -d|apt-key add -"]
+++ apt_03_update: ["curtin", "in-target", "--", "apt-get", "update"]
+++ salt_01_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "salt-minion"]
+++{% endraw %}
+++ salt_02_hostname_set: ["curtin", "in-target", "--", "echo", "{% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}"]
+++ salt_03_hostname_get: ["curtin", "in-target", "--", "sh", "-c", "echo 'id: {% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}' >> /etc/salt/minion"]
+++ salt_04_master: ["curtin", "in-target", "--", "sh", "-c", "echo 'master: {{ salt_master_ip }}' >> /etc/salt/minion"]
+++{% raw %}
+++{{if third_party_drivers and driver}}
+++ driver_00_key_get: curtin in-target -- sh -c "/bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg"
+++ driver_02_key_add: ["curtin", "in-target", "--", "apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
+++ driver_03_add: ["curtin", "in-target", "--", "add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
+++ driver_04_update_install: ["curtin", "in-target", "--", "apt-get", "update", "--quiet"]
+++ driver_05_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "{{driver['package']}}"]
+++ driver_06_depmod: ["curtin", "in-target", "--", "depmod"]
+++ driver_07_update_initramfs: ["curtin", "in-target", "--", "update-initramfs", "-u"]
+++{{endif}}
+++{% endraw %}
+diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
+index acacb47..8bc328a 100644
+--- a/mcp/patches/patches.list
++++ b/mcp/patches/patches.list
+@@ -4,3 +4,4 @@
+ /usr/share/salt-formulas/env: 0004-maas-region-use-authorized_keys-1st-entry.patch
+ /usr/share/salt-formulas/env: 0005-maas-vlan-DHCP-enable-on-fabric-2.patch
+ /usr/share/salt-formulas/env: 0006-linux.network.interface-noifupdown-support.patch
++/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
diff --git a/patches/opnfv-fuel/0011-network-public-mgmt-Use-arm-pod3-POD-config.patch b/patches/opnfv-fuel/0011-network-public-mgmt-Use-arm-pod3-POD-config.patch
new file mode 100644
index 00000000..e991bbcc
--- /dev/null
+++ b/patches/opnfv-fuel/0011-network-public-mgmt-Use-arm-pod3-POD-config.patch
@@ -0,0 +1,159 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Tue, 8 Aug 2017 03:49:53 +0200
+Subject: [PATCH] network: public, mgmt: Use arm-pod3 POD config
+
+Move MaaS IPs to x.y.z.2 (upstream Fuel uses x.y.z.3).
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+fi
+---
+ ci/deploy.sh | 2 +-
+ mcp/config/states/maas | 2 +-
+ .../baremetal-mcp-ocata-ovs-ha/infra/init.yml | 22 ++++-----
+ .../baremetal-mcp-ocata-ovs-ha/openstack/init.yml | 56 +++++++++++-----------
+ 4 files changed, 41 insertions(+), 41 deletions(-)
+
+diff --git a/ci/deploy.sh b/ci/deploy.sh
+index 1ace950..b3ed5ec 100755
+--- a/ci/deploy.sh
++++ b/ci/deploy.sh
+@@ -139,7 +139,7 @@ URI_REGEXP='(file|https?|ftp)://.*'
+
+ export SSH_KEY=${SSH_KEY:-mcp.rsa}
+ export SALT_MASTER=${SALT_MASTER_IP:-192.168.10.100}
+-export MAAS_IP=${MAAS_IP:-192.168.10.3}
++export MAAS_IP=${MAAS_IP:-192.168.10.2}
+ export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}"
+
+ # 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 3b722ea..235f0b2 100755
+--- a/mcp/config/states/maas
++++ b/mcp/config/states/maas
+@@ -20,7 +20,7 @@ salt -C 'mas01*' state.apply linux.network.interface
+ salt -C 'mas01*' state.apply maas.pxe_nat
+ salt -C 'mas01*' state.apply maas.cluster
+ salt -C 'cfg01*' cmd.run \
+- "route add -net 192.168.11.0/24 gw ${MAAS_IP:-192.168.10.3}"
++ "route add -net 192.168.11.0/24 gw ${MAAS_IP:-192.168.10.2}"
+
+ wait_for "salt -C 'mas01*' state.apply maas.region"
+
+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
+--- 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:
+ 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: 192.168.10.100
+- infra_maas_node01_address: 10.167.4.3
+- infra_maas_node01_deploy_address: 192.168.11.3
+- infra_maas_node01_external_address: 10.16.0.3
+- 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_maas_node01_address: 172.16.10.2
++ infra_maas_node01_deploy_address: 192.168.11.2
++ infra_maas_node01_external_address: 10.0.8.2
++ 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-ovs-ha/openstack/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/openstack/init.yml
+index 4036be1..dce7fb7 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
+@@ -3,9 +3,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
+@@ -14,21 +14,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
+@@ -36,18 +36,18 @@ 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
diff --git a/patches/opnfv-fuel/0012-classes-baremetal-arm-pod3-config-hardcode.patch b/patches/opnfv-fuel/0012-classes-baremetal-arm-pod3-config-hardcode.patch
new file mode 100644
index 00000000..6e3850d7
--- /dev/null
+++ b/patches/opnfv-fuel/0012-classes-baremetal-arm-pod3-config-hardcode.patch
@@ -0,0 +1,95 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+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 <Alexandru.Avadanii@enea.com>
+---
+ .../baremetal-mcp-ocata-ovs-ha/infra/maas.yml | 40 +++++++++++-----------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
+index 428a74b..7a62d3c 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml
+@@ -43,57 +43,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/0013-maas-boot-resources-Add-arm64-architecture.patch b/patches/opnfv-fuel/0013-maas-boot-resources-Add-arm64-architecture.patch
new file mode 100644
index 00000000..e5b822cc
--- /dev/null
+++ b/patches/opnfv-fuel/0013-maas-boot-resources-Add-arm64-architecture.patch
@@ -0,0 +1,22 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Fri, 11 Aug 2017 00:07:29 +0200
+Subject: [PATCH] maas: boot-resources: Add arm64 architecture
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mcp/patches/0003-maas-region-force-artifact-download.patch | 2 +-
+ 1 file changed, 1 insertion(+), 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 72114bb..4be68da 100644
+--- a/mcp/patches/0003-maas-region-force-artifact-download.patch
++++ b/mcp/patches/0003-maas-region-force-artifact-download.patch
+@@ -24,7 +24,7 @@ index d3227ca..8a2243d 100644
+
+ +maas_force_artifact_sync:
+ + cmd.run:
+-+ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && while ! grep -qzE '(Unable to probe for DHCP servers|DHCP probe complete).*Rack controller' /var/log/maas/rackd.log; do sleep 5; echo -n '.'; done && maas opnfv boot-resources import && while maas opnfv boot-resources is-importing | grep -q -e 'true'; do sleep 5; echo -n '.'; done && maas opnfv rack-controllers import-boot-images && while ! test -d /var/lib/maas/boot-resources/current/ubuntu; do sleep 5; echo -n '.'; done"
+++ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && while ! grep -qzE '(Unable to probe for DHCP servers|DHCP probe complete).*Rack controller' /var/log/maas/rackd.log; do sleep 5; echo -n '.'; done && maas opnfv boot-resources import && while maas opnfv boot-resources is-importing | grep -q -e 'true'; do sleep 5; echo -n '.'; done && maas opnfv rack-controllers import-boot-images && while ! test -d /var/lib/maas/boot-resources/current/ubuntu; do sleep 5; echo -n '.'; done && maas opnfv boot-source-selection update 1 1 arches='amd64' arches='arm64' && maas opnfv boot-resources import && while maas opnfv boot-resources is-importing | grep -q -e 'true'; do sleep 5; echo -n '.'; done && maas opnfv rack-controllers import-boot-images && while ! test -d /var/lib/maas/boot-resources/current/ubuntu/arm64; do sleep 5; echo -n '.'; done"
+ + - require:
+ + - cmd: maas_login_admin
+ +