u/fuel: Bump & rebase for reclass update
[armband.git] / patches / opnfv-fuel / 0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
index 8b8cfef..85ee6b5 100644 (file)
@@ -1,5 +1,5 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB and others.
+: Copyright (c) 2018 Enea AB and others.
 :
 : All rights reserved. This program and the accompanying materials
 : are made available under the terms of the Apache License, Version 2.0
@@ -11,20 +11,25 @@ Date: Mon, 7 Aug 2017 19:45:01 +0200
 Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
 
 Add AArch64 specific configuration.
+While at it, preseed Armband common repo-comp for Pike, so we get
+the updated kernel & other packages from the start.
 
 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
 ---
- ...-Add-curtin_userdata_arm64_generic_xenial.patch | 76 ++++++++++++++++++++++
+ ...-Add-curtin_userdata_arm64_generic_xenial.patch | 35 +++++++++++++++++++++
  mcp/patches/patches.list                           |  1 +
- 2 files changed, 77 insertions(+)
+ .../baremetal-mcp-pike-common-ha/infra/maas.yml    | 36 ++++++++++++++++++++++
+ .../files/curtin_userdata_arm64_generic_xenial     | 35 +++++++++++++++++++++
+ 4 files changed, 107 insertions(+)
  create mode 100644 mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+ create mode 100644 mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
 
 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
+index 0000000..0368937
 --- /dev/null
 +++ b/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
-@@ -0,0 +1,76 @@
+@@ -0,0 +1,35 @@
 +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
@@ -33,6 +38,8 @@ index 0000000..b969e07
 +specific configuration file:
 +- curtin_userdata_arm64_generic_xenial
 +
++Requires Salt repo key and repo URL to be defined via reclass.
++
 +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
 +---
 +
@@ -55,58 +62,103 @@ index 0000000..b969e07
 ++  - 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 %}
++ /root/.pgpass:
++   file.managed:
++   - source: salt://maas/files/pgpass
 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
-index f65daab..ed2dd4e 100644
+index 34d913a..01e3224 100644
 --- a/mcp/patches/patches.list
 +++ b/mcp/patches/patches.list
-@@ -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: 0009-seedng-module-Sync-salt-version.patch
+@@ -18,3 +18,4 @@
+ /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.patch
+ /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
+ /usr/share/salt-formulas/env: 0013-dpdk-Support-ovs-bridge-tagging.patch
 +/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
+index 3bf87dc..4954559 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
+@@ -40,6 +40,42 @@ parameters:
+         enable_third_party_drivers: true
+         network_discovery: 'enabled'
+         default_min_hwe_kernel: ${_param:hwe_kernel}
++      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-----
++        saltstack_armband:
++          name: saltstack_armband
++          enabled: '1'
++          url: 'http://linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/2016.11'
++          distributions: '${_param:linux_system_codename}'
++          components: 'main'
++          arches: 'arm64'
++          key: *armband_key
+       subnets:
+         opnfv_maas_pxe:
+           name: ${_param:opnfv_infra_maas_pxe_network_address}/24
+diff --git a/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
+new file mode 100644
+index 0000000..15d10a4
+--- /dev/null
++++ b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
+@@ -0,0 +1,35 @@
++{%- from "maas/map.jinja" import cluster 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']
++  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 %}