summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmcp/config/states/maas11
-rw-r--r--mcp/patches/0003-maas-region-force-artifact-download.patch2
-rw-r--r--mcp/patches/0016-Set-boot-source-selections.patch2
-rw-r--r--mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j212
-rw-r--r--mcp/salt-formulas/maas/machines/set_storage_layout.sls20
5 files changed, 14 insertions, 33 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
index 10cfd01bf..ec2458234 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -57,16 +57,7 @@ function maas_fixup() {
sleep 10
done
if [ -n "${fdnodes}" ] || [ -n "${rnodes}" ]; then
- for node_system_id in ${fdnodes} ${rnodes}; do
- # For now, we allocate 30GB (fixed) for / on cmp nodes
- local node_hostname=$(echo "${statusout}" | \
- grep -Pzo 'hostname: \K.+(?=\n.+\n\s+system_id: '"${node_system_id}"')')
- if [[ "${node_hostname}" =~ ^cmp ]]; then
- salt -C 'mas01*' state.apply maas.machines.set_storage_layout \
- pillar="{'system_id': '${node_system_id}', 'lv_size': '32212254720'}"
- sleep 10
- fi
- done
+ salt -C 'mas01*' state.apply maas.machines.storage
salt -C 'mas01*' state.apply maas.machines.deploy
return 1
fi
diff --git a/mcp/patches/0003-maas-region-force-artifact-download.patch b/mcp/patches/0003-maas-region-force-artifact-download.patch
index b61a3d1b8..c689881d8 100644
--- a/mcp/patches/0003-maas-region-force-artifact-download.patch
+++ b/mcp/patches/0003-maas-region-force-artifact-download.patch
@@ -70,4 +70,4 @@ new file mode 100644
+wait_for 30 "maas opnfv boot-resources import"
+wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'"
+maas opnfv rack-controllers import-boot-images || exit 3
-+wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/amd64"
++wait_for 30 "true {%- for arch in region.opnfv_arches %} && test -d /var/lib/maas/boot-resources/current/ubuntu/{{ arch }}{%- endfor %}"
diff --git a/mcp/patches/0016-Set-boot-source-selections.patch b/mcp/patches/0016-Set-boot-source-selections.patch
index ff52681d2..ae7654c64 100644
--- a/mcp/patches/0016-Set-boot-source-selections.patch
+++ b/mcp/patches/0016-Set-boot-source-selections.patch
@@ -21,7 +21,7 @@ diff --git a/maas/region.sls b/maas/region.sls
+boot_source_selections:
+ cmd.run:
-+ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv boot-source-selection update 1 1 release='{{ region.maas_config.default_distro_series }}'"
++ - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv boot-source-selection update 1 1 release='{{ region.maas_config.default_distro_series }}' {%- for arch in region.opnfv_arches.split(' ') %} arches='{{ arch }}' {%- endfor %}"
+ - require:
+ - cmd: maas_login_admin
+ - unless: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv boot-source-selections read 1 | grep -q {{ region.maas_config.default_distro_series }}"
diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
index 335b9c747..1838590e9 100644
--- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/maas_pdf.yml.j2
@@ -5,7 +5,6 @@
# 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 %}
@@ -14,6 +13,7 @@
{%- endfor %}
{%- set net_admin = [conf.idf.net_config.admin.network,
conf.idf.net_config.admin.mask] | join("/") %}
+---
parameters:
maas:
region:
@@ -31,6 +31,8 @@ parameters:
vid: 0
dhcp_on: true
primary_rack: ${_param:infra_maas_node01_hostname}
+ # Space-separated list of dpkg architectures to be supported by MaaS
+ opnfv_arches:{%- for arch in cluster_arch %} {{ arch | dpkg_arch }}{%- endfor %}
sshprefs:
- '{{ conf.MAAS_SSH_KEY }}'
{%- if 'aarch64' in cluster_arch %}
@@ -80,5 +82,13 @@ parameters:
architecture: {{ node.node.arch | dpkg_arch }}/generic
distro_series: xenial
hwe_kernel: ${_param:hwe_kernel}
+ {%- if loop.index0 >= node_roles.index('cmp001') %}
+ disk_layout:
+ type: lvm
+ root_device: sda
+ volume_group: vgroot
+ volume_name: lvroot
+ volume_size: 100
+ {%- endif %}
{%- endif %}
{%- endfor %}
diff --git a/mcp/salt-formulas/maas/machines/set_storage_layout.sls b/mcp/salt-formulas/maas/machines/set_storage_layout.sls
deleted file mode 100644
index 0b7e37153..000000000
--- a/mcp/salt-formulas/maas/machines/set_storage_layout.sls
+++ /dev/null
@@ -1,20 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Mirantis Inc., 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
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-{%- from "maas/map.jinja" import region with context %}
-
-maas_login_admin:
- cmd.run:
- - name: "maas-region apikey --username {{ region.admin.username }} > /var/lib/maas/.maas_credentials"
- - unless: 'test -e /var/lib/maas/.maas_credentials'
-
-# TODO: implement set_storage_layout via _modules/maas.py
-set_storage_layout:
- cmd.run:
- - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv machine set-storage-layout {{ pillar['system_id'] }} storage_layout={{ pillar['storage_layout'] | default('lvm') }} lv_size={{ pillar['lv_size'] | default('100%') }}"
- - require:
- - cmd: maas_login_admin