[AArch64] Pin armband repo with highest prio 35/59435/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 2 Jul 2018 12:45:57 +0000 (14:45 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 2 Jul 2018 13:24:11 +0000 (15:24 +0200)
Mirantis repositories shadow certain packages from Armband repos
(e.g. qemu-efi) if pinning is not set.
Since MaaS does not allow configuring repo priorities via its API,
use Salt pillar data to re-define the Armband repo and set its prio.

Change-Id: Ic743f4b684b3f13552792f5f04097fac73171b37
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit d6d2348ee690768101ff661c7811c25d9c65c104)

mcp/config/scenario/defaults.yaml
mcp/reclass/classes/cluster/mcp-pike-common-ha/openstack_init.yml.j2

index 6affc7d..4e689df 100644 (file)
@@ -40,7 +40,7 @@ aarch64:
       repos:
         # <repo name> <repo prio> deb [arch=<arch>] <repo url> <repo dist> <repo comp>
         - saltstack 500 deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11 xenial main
-        - armband 1100 deb [arch=arm64] http://linux.enea.com/mcp-repos/pike/xenial pike-armband main
+        - armband 1201 deb [arch=arm64] http://linux.enea.com/mcp-repos/pike/xenial pike-armband main
     pkg:
       install:
         - linux-generic-hwe-16.04
index 186c560..da81147 100644 (file)
@@ -5,6 +5,12 @@
 # which accompanies this distribution, and is available at
 # 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 %}
 ---
 parameters:
   _param:
@@ -260,6 +266,14 @@ parameters:
             - pin: 'release o=Canonical'
               priority: 1200
               package: 'openvswitch* python-openvswitch ovn*'
+{%- if 'aarch64' in cluster_arch %}
+        armband_3:  # Should be in sync with the repo config generated via curtin/MaaS
+          source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
+          pin:
+            - pin: 'release a=${_param:openstack_version}-armband'
+              priority: 1201
+              package: '*'
+{%- endif %}
       kernel:
         sysctl:
           net.ipv4.tcp_congestion_control: yeah