diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-12-18 22:12:23 +0100 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-12-19 04:01:03 +0100 |
commit | 8da73521d3b9347a982ea6e77114bba0d0f0adeb (patch) | |
tree | 22bb5f7753713592eda3b8cbbc377afe9d104d9c /mcp/config | |
parent | 5ceea06b5395115e0e45d0631e726062eb1b0d13 (diff) |
[baremetal] MaaS: Reduce timeout values
`maas_fixup` is already re-entrant, so we can execute it more than
once during a commissioning/deploy cycle. Reduce the timeout waiting
for all nodes to reach a stable state, so nodes stuck in 'Ready'
state instead of reaching 'Deploying' get dealt with sooner (~5 min
vs old 30 min).
While at it, let `maas_fixup` handle machine deploy as well, so we
can catch nodes stuck in 'Ready' state and re-trigger the deploy.
Change-Id: Id24cc97b17489835c5846288639a9a6032bd320a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp/config')
-rwxr-xr-x | mcp/config/states/maas | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index 5e33f3a08..f472c0154 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -19,7 +19,7 @@ function maas_fixup() { local statuscmd="salt 'mas01*' --out yaml state.apply maas.machines.status" local ncount=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \ grep -cE '^\s{2}\w+:$') - wait_for 180 "${statuscmd} | tee /dev/stderr | " \ + wait_for 30 "${statuscmd} | tee /dev/stderr | " \ "grep -Eq '((Deployed|Ready): ${ncount}|status: (Failed|Allocated))'" local statusout=$(eval "${statuscmd}") @@ -28,7 +28,7 @@ function maas_fixup() { for node_system_id in ${fcnodes}; do salt -C 'mas01*' state.apply maas.machines.delete \ pillar="{'system_id': '${node_system_id}'}" - sleep 30 + sleep 10 done if [ -n "${fcnodes}" ]; then salt -C 'mas01*' state.apply maas.machines @@ -37,12 +37,14 @@ function maas_fixup() { local fdnodes=$(echo "${statusout}" | \ grep -Pzo 'status: (Failed deployment|Allocated)\n\s+system_id: \K.+\n') + local rnodes=$(echo "${statusout}" | \ + grep -Pzo 'status: Ready\n\s+system_id: \K.+\n') for node_system_id in ${fdnodes}; do salt -C 'mas01*' state.apply maas.machines.mark_broken_fixed \ pillar="{'system_id': '${node_system_id}'}" - sleep 30 + sleep 10 done - if [ -n "${fdnodes}" ]; then + if [ -n "${fdnodes}" ] || [ -n "${rnodes}" ]; then salt -C 'mas01*' state.apply maas.machines.deploy return 1 fi @@ -70,16 +72,13 @@ salt -C 'mas01*' state.apply maas.cluster wait_for 10 "salt -C 'mas01*' state.apply maas.region" salt -C 'mas01*' state.apply maas.machines -wait_for 10 maas_fixup +# MaaS node deployment +wait_for 20 maas_fixup # cleanup outdated salt keys salt-key --out yaml | awk '!/^(minions|- cfg01|- mas01)/ {print $2}' | \ xargs -I{} salt-key -yd {} -# MaaS node deployment -salt -C 'mas01*' state.apply maas.machines.deploy -wait_for 10 maas_fixup - salt -C 'mas01*' pillar.item\ maas:region:admin:username \ maas:region:admin:password |