From 52af46f2cac395e893007029d24d5365e27a4328 Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Mon, 7 Aug 2017 19:45:01 +0200
Subject: [maas] AArch64: Preseed Armband repositories

Preseed Armband common repo-comp for Pike, so we get
the updated kernel & other packages from the start.
Requires upstream PR [1].

While at it, also handle related PR merged upstream [2] by
explicitly setting maas.region.subnets name via j2 instead of reclass
param expansion in name (allows us to drop the remaining chunk of the
fabric-from-CIDR patch we used to carry).

Note: opnfv_infra_maas_pxe_network_addres can now be dropped from
pod_config j2 template in Pharos Fuel installer adapter.

[1] https://github.com/salt-formulas/salt-formula-maas/pull/26
[2] https://github.com/salt-formulas/salt-formula-maas/pull/22

Change-Id: I356adb73b80f0f2d85db4ab060e804cb9a053862
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 .../cluster/mcp-pike-common-ha/infra/maas.yml      | 14 ------
 .../mcp-pike-common-ha/infra/maas_pdf.yml.j2       | 52 ++++++++++++++++++++++
 2 files changed, 52 insertions(+), 14 deletions(-)

(limited to 'mcp/reclass')

diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml
index e83de35cd..238ae95a3 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml
+++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml
@@ -41,20 +41,6 @@ parameters:
         enable_third_party_drivers: true
         network_discovery: 'enabled'
         default_min_hwe_kernel: ${_param:hwe_kernel}
-      subnets:
-        opnfv_maas_pxe:
-          name: ${_param:opnfv_infra_maas_pxe_network_address}/24
-          cidr: ${_param:opnfv_infra_maas_pxe_network_address}/24
-          gateway_ip: ${_param:single_address}
-          iprange:
-            start: ${_param:opnfv_infra_maas_pxe_start_address}
-            end: ${_param:opnfv_infra_maas_pxe_end_address}
-            type: dynamic
-          vlans:
-            untagged:
-              vid: 0
-              dhcp_on: true
-              primary_rack: ${_param:infra_maas_node01_hostname}
     cluster:
       saltstack_repo_xenial: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main"
   linux:
diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
index cff6d9b30..335b9c747 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
@@ -6,11 +6,63 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
+{%- set cluster_arch = [] %}
+{%- for node in conf.nodes %}
+  {%- if node.node.arch not in cluster_arch %}
+    {%- do cluster_arch.append(node.node.arch) %}
+  {%- endif %}
+{%- endfor %}
+{%- set net_admin = [conf.idf.net_config.admin.network,
+                     conf.idf.net_config.admin.mask] | join("/") %}
 parameters:
   maas:
     region:
+      subnets:
+        {{ net_admin }}:
+          name: {{ net_admin }}
+          cidr: {{ net_admin }}
+          gateway_ip: ${_param:single_address}
+          iprange:
+            start: ${_param:opnfv_infra_maas_pxe_start_address}
+            end: ${_param:opnfv_infra_maas_pxe_end_address}
+            type: dynamic
+          vlans:
+            untagged:
+              vid: 0
+              dhcp_on: true
+              primary_rack: ${_param:infra_maas_node01_hostname}
       sshprefs:
         - '{{ conf.MAAS_SSH_KEY }}'
+{%- if 'aarch64' in cluster_arch %}
+      package_repositories:
+        armband:
+          name: armband
+          enabled: '1'
+          url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}'
+          distributions: '${_param:openstack_version}-armband'
+          components: 'main'
+          arches: 'arm64'
+          key: &armband_key |
+            -----BEGIN PGP PUBLIC KEY BLOCK-----
+            Version: GnuPG v2.0.14 (GNU/Linux)
+
+            mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
+            qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
+            SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
+            mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
+            BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
+            ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
+            ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
+            BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
+            nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
+            t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
+            4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
+            AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
+            IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
+            W/9PMAlgE/U=
+            =m+zE
+            -----END PGP PUBLIC KEY BLOCK-----
+{%- endif %}
       machines:
       {%- set pxe_interface = conf.idf.net_config.admin.interface %}
       {#- We only support exactly 5 nodes for now, hardcoded order #}
-- 
cgit