++ - 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 fb5a14c..6946c9f 100644
+index d0bb7c4..7c5bf15 100644
--- a/mcp/patches/patches.list
+++ b/mcp/patches/patches.list
-@@ -16,3 +16,4 @@
- /usr/share/salt-formulas/env: 0009-seedng-module-Sync-salt-version.patch
+@@ -17,3 +17,4 @@
/usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
/usr/share/salt-formulas/reclass: 0011-service.horizon.server.cluster-Default-to-v2-API.patch
+ /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
+/usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+ diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/maas.yml
+ index e8c2965..b15f9cb 100644
+ --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/maas.yml
+ +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/maas.yml
+ @@ -110,6 +110,32 @@ parameters:
+ architecture: ${_param:opnfv_maas_node05_architecture}
+ distro_series: xenial
+ hwe_kernel: hwe-16.04
+ + cluster:
+ + enabled: true
+ + region:
+ + port: 80
+ + host: localhost
+ + saltstack_repo_key_arm64: |
+ + -----BEGIN PGP PUBLIC KEY BLOCK-----
+ + Version: GnuPG v1
+ +
+ + mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
+ + qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
+ + SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
+ + mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
+ + BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
+ + ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
+ + ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JAT4EEwECACgFAlagAroCGwMF
+ + CQPCZwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEN6rkLp5irHRsG8H/2P2
+ + hO6jFHPRD1u8j9ufO9AxoInaEG9GeRjuvMc1tCUzovXvTs106TZ0as6MbAJ1S6u5
+ + E8UyQ1+VGepvdIJPXx3PCxLmUt6WIqmdOdqFrxIclohig/kardi3NfX1MBvlEV/c
+ + 7Q51H43hrlMqMpqgY1Bm+53PLC4ujjlDJBtJOEU9dki319bUmng+gO9BAljDJFXv
+ + JqY6+P/er7IgCbRXUXYfyJzgjx9JwlKbmdQ8QnCrZjF/VHIW40/mu5IIJuFvuCti
+ + tcog+SNSlDmCOS+wE8CCojeuJqupIOcz9zypVGzeus/N5Q5EEFe7GYWYS/5NKUkE
+ + 1TuuFeZKu5NJC5rkwIU=
+ + =7p60
+ + -----END PGP PUBLIC KEY BLOCK-----
+ + saltstack_repo_xenial_arm64: "http://linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/2016.11 xenial main"
+ linux:
+ network:
+ interface:
+ 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..96fd76f
+ --- /dev/null
+ +++ b/mcp/salt-formulas/maas/files/curtin_userdata_arm64_generic_xenial
+ @@ -0,0 +1,43 @@
+ +{%- 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']
+ +{% endraw %}
+ +{%- if not cluster.saltstack_repo_key_arm64 == 'none' %}
+ +{% set salt_repo_key = salt['hashutil.base64_b64encode'](cluster.saltstack_repo_key_arm64) %}
+ + apt_00_set_gpg: ["curtin", "in-target", "--", "sh", "-c", "echo '{{salt_repo_key}}' | base64 -d | apt-key add -"]
+ +{%- endif %}
+ + apt_01_set_repo: ["curtin", "in-target", "--", "sh", "-c", "echo 'deb [arch=arm64] {{ cluster.saltstack_repo_xenial_arm64 }}' >> /etc/apt/sources.list"]
+ +{% raw %}
+ + 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 %}