diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-19 03:14:14 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-19 01:16:22 +0000 |
commit | fd4b2e706e0403528bcb0d56e4339952eb50fcb2 (patch) | |
tree | 0a8a300d00362b85c140d653e568f4387456ce0b /mcp/config/states | |
parent | 096df52c4f1292a92c50e606f28146d1c2ca16db (diff) |
[baremetal] maas state: Wait for all nodes online
After MaaS reports baremetal provisioning finished successfully,
check that all nodes are online before attempting a `sync_all`.
Change-Id: I6ba4b3e4ba5b5258ace4da8c39e0fc77354885e3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit b9918f1f8df52c52cd2ab76eec3b540b37789e55)
Diffstat (limited to 'mcp/config/states')
-rwxr-xr-x | mcp/config/states/maas | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index a6bac897d..2a0f25be7 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -78,4 +78,17 @@ salt -C 'mas01*' pillar.item\ maas:region:admin:username \ maas:region:admin:password +bm_nodes=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \ + awk '/^\s+\w+[[:digit:]]+:$/ {gsub(/:$/, "*"); print $1}') + +# Check all baremetal nodes are available +rc=1 +while [ $rc -ne 0 ]; do + rc=0 + for node in $bm_nodes; do + salt "$node" test.ping 2>/dev/null || { rc=$?; break; }; + done + sleep 5 +done + wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all" |