Baremetal support for MCP on AArch64 61/38861/22
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sun, 6 Aug 2017 17:35:41 +0000 (19:35 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 17 Aug 2017 17:46:53 +0000 (19:46 +0200)
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>
patches/opnfv-fuel/0001-mcp-config-AArch64-Use-UEFI-arm64-image.patch
patches/opnfv-fuel/0004-mcp-salt-formulas-Add-enable-armband-formula.patch
patches/opnfv-fuel/0005-network-public-Use-arm-virtual2-POD-config.patch
patches/opnfv-fuel/0007-states-network-parametrize-openstack-public-net.patch [new file with mode: 0644]
patches/opnfv-fuel/0008-mcp-config-AArch64-baremetal-Use-arm64-image.patch [new file with mode: 0644]
patches/opnfv-fuel/0009-classes-baremetal-AArch64-virtio-NIC-names-sync.patch [new file with mode: 0644]
patches/opnfv-fuel/0010-maas-Add-curtin_userdata_arm64_generic_xenial.patch [new file with mode: 0644]
patches/opnfv-fuel/0011-network-public-mgmt-Use-arm-pod3-POD-config.patch [new file with mode: 0644]
patches/opnfv-fuel/0012-classes-baremetal-arm-pod3-config-hardcode.patch [new file with mode: 0644]
patches/opnfv-fuel/0013-maas-boot-resources-Add-arm64-architecture.patch [new file with mode: 0644]

index c5ca0a7..74fed68 100644 (file)
@@ -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>
index 0b77805..a59df5c 100644 (file)
@@ -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
index 256a44d..7d91ac6 100644 (file)
@@ -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 (file)
index 0000000..63abf6c
--- /dev/null
@@ -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 (file)
index 0000000..0e7eee6
--- /dev/null
@@ -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 (file)
index 0000000..ccd537a
--- /dev/null
@@ -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 (file)
index 0000000..b1c3ca5
--- /dev/null
@@ -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 (file)
index 0000000..e991bbc
--- /dev/null
@@ -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 (file)
index 0000000..6e3850d
--- /dev/null
@@ -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 (file)
index 0000000..e5b822c
--- /dev/null
@@ -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
+ +