diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-02-08 01:54:55 +0100 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-02-17 21:05:36 +0100 |
commit | ff66a5fc9347cbe1f8a626750cce3d3e5d201ca9 (patch) | |
tree | 5b7142bbe0167edafe2ac0101e1e064fbf92c1b3 | |
parent | 81561126307f15d4f65a743ed2431ea8c713a921 (diff) |
[MaaS] Add maas.machines.set_storage_layout sls
On cmp nodes, allocate only 30GB (fixed for now) for / partition.
The rest of the disk(s) can later be allocated via salt-formula-linux.
JIRA: FUEL-330
Change-Id: Ie11c78791e60801719cd33475ff91fc003df5ffa
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rwxr-xr-x | mcp/config/states/maas | 10 | ||||
-rw-r--r-- | mcp/salt-formulas/maas/machines/set_storage_layout.sls | 20 |
2 files changed, 30 insertions, 0 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index 0034e78f1..f6c9f833c 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -57,6 +57,16 @@ 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.deploy return 1 fi diff --git a/mcp/salt-formulas/maas/machines/set_storage_layout.sls b/mcp/salt-formulas/maas/machines/set_storage_layout.sls new file mode 100644 index 000000000..0b7e37153 --- /dev/null +++ b/mcp/salt-formulas/maas/machines/set_storage_layout.sls @@ -0,0 +1,20 @@ +############################################################################## +# 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 |