-# Wait for MaaS commissioning/deploy to finish, retry on failure
-function maas_fixup() {
- local statuscmd="salt 'mas01*' --out yaml state.apply maas.machines.status"
- # shellcheck disable=SC2155
- local ncount=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \
- grep -cE '^\s{2}\w+:$')
- wait_for 180 "${statuscmd} | tee /dev/stderr | " \
- "grep -Eq '((Deployed|Ready): ${ncount}|status:Failed|status:Allocated)'"
- # shellcheck disable=SC2155
- local statusout=$(eval "${statuscmd}")
-
- # shellcheck disable=SC2155
- local fcnodes=$(echo "${statusout}" | \
- grep -Po '(?<=system_id:)(.*)(?=,status:Failed commissioning)')
- for node_system_id in ${fcnodes}; do
- salt -C 'mas01*' state.apply maas.machines.delete \
- pillar="{'system_id': '${node_system_id}'}"
- sleep 30
- done
- if [ -n "${fcnodes}" ]; then
- salt -C 'mas01*' state.apply maas.machines
- return 1
- fi
+bm_nodes=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \
+ awk '/^\s+\w+[[:digit:]]+:$/ {gsub(/:$/, "*"); printf "%s ", $1}')