u/fuel: Bump & rebase for libvirtd group fix
[armband.git] / patches / opnfv-fuel / 0005-maas-Add-curtin_userdata_arm64_generic_xenial.patch
1 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2 : Copyright (c) 2017 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
15 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
16 ---
17  ...-Add-curtin_userdata_arm64_generic_xenial.patch | 35 ++++++++++++++++++
18  mcp/patches/patches.list                           |  1 +
19  .../baremetal-mcp-pike-common-ha/infra/maas.yml    | 26 +++++++++++++
20  .../files/curtin_userdata_arm64_generic_xenial     | 43 ++++++++++++++++++++++
21  4 files changed, 105 insertions(+)
22  create mode 100644 mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
23  create mode 100644 mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
24
25 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
26 new file mode 100644
27 index 0000000..0368937
28 --- /dev/null
29 +++ b/mcp/patches/0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
30 @@ -0,0 +1,35 @@
31 +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
32 +Date: Sat, 5 Aug 2017 02:03:01 +0200
33 +Subject: [PATCH] maas: Add curtin_userdata_arm64_generic_xenial
34 +
35 +Based on curtin_userdata_amd64_generic_xenial, add new arm64
36 +specific configuration file:
37 +- curtin_userdata_arm64_generic_xenial
38 +
39 +Requires Salt repo key and repo URL to be defined via reclass.
40 +
41 +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
42 +---
43 +
44 +diff --git a/maas/region.sls b/maas/region.sls
45 +--- a/maas/region.sls
46 ++++ b/maas/region.sls
47 +@@ -70,6 +70,18 @@
48 +   - require:
49 +     - pkg: maas_region_packages
50 +
51 ++/etc/maas/preseeds/curtin_userdata_arm64_generic_xenial:
52 ++  file.managed:
53 ++  - source: salt://maas/files/curtin_userdata_arm64_generic_xenial
54 ++  - template: jinja
55 ++  - user: root
56 ++  - group: root
57 ++  - mode: 644
58 ++  - context:
59 ++      salt_master_ip: {{ region.salt_master_ip }}
60 ++  - require:
61 ++    - pkg: maas_region_packages
62 ++
63 + /root/.pgpass:
64 +   file.managed:
65 +   - source: salt://maas/files/pgpass
66 diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
67 index 00b1145..5dc2241 100644
68 --- a/mcp/patches/patches.list
69 +++ b/mcp/patches/patches.list
70 @@ -17,3 +17,4 @@
71  /usr/share/salt-formulas/reclass: 0011-service.horizon.server.cluster-Default-to-v2-API.patch
72  /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
73  /usr/share/salt-formulas/env: 0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch
74 +/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
75 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
76 index 93db0ed..bffab44 100644
77 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
78 +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/maas.yml
79 @@ -110,6 +110,32 @@ parameters:
80            architecture: ${_param:opnfv_maas_node05_architecture}
81            distro_series: xenial
82            hwe_kernel: hwe-16.04
83 +    cluster:
84 +      enabled: true
85 +      region:
86 +        port: 80
87 +        host: localhost
88 +      saltstack_repo_key_arm64: |
89 +        -----BEGIN PGP PUBLIC KEY BLOCK-----
90 +        Version: GnuPG v1
91 +
92 +        mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
93 +        qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
94 +        SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
95 +        mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
96 +        BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
97 +        ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
98 +        ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JAT4EEwECACgFAlagAroCGwMF
99 +        CQPCZwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEN6rkLp5irHRsG8H/2P2
100 +        hO6jFHPRD1u8j9ufO9AxoInaEG9GeRjuvMc1tCUzovXvTs106TZ0as6MbAJ1S6u5
101 +        E8UyQ1+VGepvdIJPXx3PCxLmUt6WIqmdOdqFrxIclohig/kardi3NfX1MBvlEV/c
102 +        7Q51H43hrlMqMpqgY1Bm+53PLC4ujjlDJBtJOEU9dki319bUmng+gO9BAljDJFXv
103 +        JqY6+P/er7IgCbRXUXYfyJzgjx9JwlKbmdQ8QnCrZjF/VHIW40/mu5IIJuFvuCti
104 +        tcog+SNSlDmCOS+wE8CCojeuJqupIOcz9zypVGzeus/N5Q5EEFe7GYWYS/5NKUkE
105 +        1TuuFeZKu5NJC5rkwIU=
106 +        =7p60
107 +        -----END PGP PUBLIC KEY BLOCK-----
108 +      saltstack_repo_xenial_arm64: "http://linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/2016.11 xenial main"
109    linux:
110      network:
111        interface:
112 diff --git a/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
113 new file mode 100644
114 index 0000000..96fd76f
115 --- /dev/null
116 +++ b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
117 @@ -0,0 +1,43 @@
118 +{%- from "maas/map.jinja" import cluster with context %}
119 +{% raw %}
120 +#cloud-config
121 +debconf_selections:
122 + maas: |
123 +  {{for line in str(curtin_preseed).splitlines()}}
124 +  {{line}}
125 +  {{endfor}}
126 +{{if third_party_drivers and driver}}
127 +early_commands:
128 +  {{py: key_string = ''.join(['\\x%x' % x for x in map(ord, driver['key_binary'])])}}
129 +  driver_00_get_key: /bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg
130 +  driver_01_add_key: ["apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
131 +  driver_02_add: ["add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
132 +  driver_03_update_install: ["sh", "-c", "apt-get update --quiet && apt-get --assume-yes install {{driver['package']}}"]
133 +  driver_04_load: ["sh", "-c", "depmod && modprobe {{driver['module']}}"]
134 +{{endif}}
135 +late_commands:
136 +  maas: [wget, '--no-proxy', {{node_disable_pxe_url|escape.json}}, '--post-data', {{node_disable_pxe_data|escape.json}}, '-O', '/dev/null']
137 +{% endraw %}
138 +{%- if not cluster.saltstack_repo_key_arm64 == 'none' %}
139 +{% set salt_repo_key = salt['hashutil.base64_b64encode'](cluster.saltstack_repo_key_arm64) %}
140 +  apt_00_set_gpg: ["curtin", "in-target", "--", "sh", "-c", "echo '{{salt_repo_key}}' | base64 -d | apt-key add -"]
141 +{%- endif %}
142 +  apt_01_set_repo: ["curtin", "in-target", "--", "sh", "-c", "echo 'deb [arch=arm64] {{ cluster.saltstack_repo_xenial_arm64 }}' >> /etc/apt/sources.list"]
143 +{% raw %}
144 +  apt_03_update: ["curtin", "in-target", "--", "apt-get", "update"]
145 +  salt_01_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "salt-minion"]
146 +{% endraw %}
147 +  salt_02_hostname_set: ["curtin", "in-target", "--", "echo", "{% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}"]
148 +  salt_03_hostname_get: ["curtin", "in-target", "--", "sh", "-c", "echo 'id: {% raw %}{{node.hostname}}{% endraw %}.{{pillar.linux.system.domain}}' >> /etc/salt/minion"]
149 +  salt_04_master: ["curtin", "in-target", "--", "sh", "-c", "echo 'master: {{ salt_master_ip }}' >> /etc/salt/minion"]
150 +{% raw %}
151 +{{if third_party_drivers and driver}}
152 +  driver_00_key_get: curtin in-target -- sh -c "/bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg"
153 +  driver_02_key_add: ["curtin", "in-target", "--", "apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
154 +  driver_03_add: ["curtin", "in-target", "--", "add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
155 +  driver_04_update_install: ["curtin", "in-target", "--", "apt-get", "update", "--quiet"]
156 +  driver_05_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "{{driver['package']}}"]
157 +  driver_06_depmod: ["curtin", "in-target", "--", "depmod"]
158 +  driver_07_update_initramfs: ["curtin", "in-target", "--", "update-initramfs", "-u"]
159 +{{endif}}
160 +{% endraw %}