u/fuel: Bump & rebase for MCP repos on HA
[armband.git] / patches / opnfv-fuel / 0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
1 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2 : Copyright (c) 2018 Enea AB and others.
3 :
4 : All rights reserved. This program and the accompanying materials
5 : are made available under the terms of the Apache License, Version 2.0
6 : which accompanies this distribution, and is available at
7 : http://www.apache.org/licenses/LICENSE-2.0
8 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
9 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
10 Date: Mon, 7 Aug 2017 19:45:01 +0200
11 Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
12
13 Add AArch64 specific configuration.
14 While at it, preseed Armband common repo-comp for Pike, so we get
15 the updated kernel & other packages from the start.
16
17 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
18 ---
19  ...-Add-curtin_userdata_arm64_generic_xenial.patch | 35 +++++++++++++++++++++
20  mcp/patches/patches.list                           |  1 +
21  .../cluster/mcp-pike-common-ha/infra/maas.yml      | 36 ++++++++++++++++++++++
22  .../files/curtin_userdata_arm64_generic_xenial     | 35 +++++++++++++++++++++
23  4 files changed, 107 insertions(+)
24  create mode 100644 mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
25  create mode 100644 mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
26
27 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
28 new file mode 100644
29 index 00000000..0368937d
30 --- /dev/null
31 +++ b/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
32 @@ -0,0 +1,35 @@
33 +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
34 +Date: Sat, 5 Aug 2017 02:03:01 +0200
35 +Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
36 +
37 +Based on curtin_userdata_amd64_generic_xenial, add new arm64
38 +specific configuration file:
39 +- curtin_userdata_arm64_generic_xenial
40 +
41 +Requires Salt repo key and repo URL to be defined via reclass.
42 +
43 +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
44 +---
45 +
46 +diff --git a/maas/region.sls b/maas/region.sls
47 +--- a/maas/region.sls
48 ++++ b/maas/region.sls
49 +@@ -70,6 +70,18 @@
50 +   - require:
51 +     - pkg: maas_region_packages
52 +
53 ++/etc/maas/preseeds/curtin_userdata_arm64_generic_xenial:
54 ++  file.managed:
55 ++  - source: salt://maas/files/curtin_userdata_arm64_generic_xenial
56 ++  - template: jinja
57 ++  - user: root
58 ++  - group: root
59 ++  - mode: 644
60 ++  - context:
61 ++      salt_master_ip: {{ region.salt_master_ip }}
62 ++  - require:
63 ++    - pkg: maas_region_packages
64 ++
65 + /root/.pgpass:
66 +   file.managed:
67 +   - source: salt://maas/files/pgpass
68 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
69 index 6a6e7a36..3632a92b 100644
70 --- a/mcp/patches/patches.list
71 +++ b/mcp/patches/patches.list
72 @@ -17,3 +17,4 @@
73  /usr/share/salt-formulas/env: 0012-routes-Skip-network-restart-on-noifupdown.patch
74  /usr/share/salt-formulas/env: 0015-Set-ovs-bridges-as-L3-interfaces.patch
75  /usr/share/salt-formulas/env: 0016-Set-boot-source-selections.patch
76 +/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
77 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
78 index e83de35c..226a4f66 100644
79 --- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml
80 +++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas.yml
81 @@ -41,6 +41,42 @@ parameters:
82          enable_third_party_drivers: true
83          network_discovery: 'enabled'
84          default_min_hwe_kernel: ${_param:hwe_kernel}
85 +      package_repositories:
86 +        armband:
87 +          name: armband
88 +          enabled: '1'
89 +          url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}'
90 +          distributions: '${_param:openstack_version}-armband'
91 +          components: 'main'
92 +          arches: 'arm64'
93 +          key: &armband_key |
94 +            -----BEGIN PGP PUBLIC KEY BLOCK-----
95 +            Version: GnuPG v2.0.14 (GNU/Linux)
96 +
97 +            mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
98 +            qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
99 +            SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
100 +            mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
101 +            BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
102 +            ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
103 +            ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
104 +            BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
105 +            nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
106 +            t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
107 +            4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
108 +            AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
109 +            IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
110 +            W/9PMAlgE/U=
111 +            =m+zE
112 +            -----END PGP PUBLIC KEY BLOCK-----
113 +        saltstack_armband:
114 +          name: saltstack_armband
115 +          enabled: '1'
116 +          url: 'http://linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/2016.11'
117 +          distributions: '${_param:linux_system_codename}'
118 +          components: 'main'
119 +          arches: 'arm64'
120 +          key: *armband_key
121        subnets:
122          opnfv_maas_pxe:
123            name: ${_param:opnfv_infra_maas_pxe_network_address}/24
124 diff --git a/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
125 new file mode 100644
126 index 00000000..15d10a48
127 --- /dev/null
128 +++ b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
129 @@ -0,0 +1,35 @@
130 +{%- from "maas/map.jinja" import cluster with context %}
131 +{% raw %}
132 +#cloud-config
133 +debconf_selections:
134 + maas: |
135 +  {{for line in str(curtin_preseed).splitlines()}}
136 +  {{line}}
137 +  {{endfor}}
138 +{{if third_party_drivers and driver}}
139 +early_commands:
140 +  {{py: key_string = ''.join(['\\x%x' % x for x in map(ord, driver['key_binary'])])}}
141 +  driver_00_get_key: /bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg
142 +  driver_01_add_key: ["apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
143 +  driver_02_add: ["add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
144 +  driver_03_update_install: ["sh", "-c", "apt-get update --quiet && apt-get --assume-yes install {{driver['package']}}"]
145 +  driver_04_load: ["sh", "-c", "depmod && modprobe {{driver['module']}}"]
146 +{{endif}}
147 +late_commands:
148 +  maas: [wget, '--no-proxy', {{node_disable_pxe_url|escape.json}}, '--post-data', {{node_disable_pxe_data|escape.json}}, '-O', '/dev/null']
149 +  salt_01_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "salt-minion"]
150 +{% endraw %}
151 +  salt_02_hostname_set: ["curtin", "in-target", "--", "echo", "{% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}"]
152 +  salt_03_hostname_get: ["curtin", "in-target", "--", "sh", "-c", "echo 'id: {% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}' >> /etc/salt/minion"]
153 +  salt_04_master: ["curtin", "in-target", "--", "sh", "-c", "echo 'master: {{ salt_master_ip }}' >> /etc/salt/minion"]
154 +{% raw %}
155 +{{if third_party_drivers and driver}}
156 +  driver_00_key_get: curtin in-target -- sh -c "/bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg"
157 +  driver_02_key_add: ["curtin", "in-target", "--", "apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
158 +  driver_03_add: ["curtin", "in-target", "--", "add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
159 +  driver_04_update_install: ["curtin", "in-target", "--", "apt-get", "update", "--quiet"]
160 +  driver_05_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "{{driver['package']}}"]
161 +  driver_06_depmod: ["curtin", "in-target", "--", "depmod"]
162 +  driver_07_update_initramfs: ["curtin", "in-target", "--", "update-initramfs", "-u"]
163 +{{endif}}
164 +{% endraw %}