diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-19 16:46:28 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-19 14:52:28 +0000 |
commit | c017f076c0bd21a3752bee474c61828d1d6910a6 (patch) | |
tree | c9b5b5bd86226a68fca00ee95a211f37352be612 /mcp/config/states | |
parent | 36c6f5a54806a4ab21f33d24256c558dc65a4157 (diff) |
[baremetal] Remove infinite loops from node checks
Change-Id: I7a21c30d49aecca948f45535fec164c2f643450e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 9cfa3c11bbd71ce4ec24dba9dbd9a2289b76a4a3)
Diffstat (limited to 'mcp/config/states')
-rwxr-xr-x | mcp/config/states/maas | 10 | ||||
-rwxr-xr-x | mcp/config/states/virtual_control_plane | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index 2a0f25be7..070045165 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -78,17 +78,19 @@ 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 +attempt=0 +total_attempts=10 +while [ $rc -ne 0 ] && [ ${attempt} -lt ${total_attempts} ]; do + bm_nodes=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \ + awk '/^\s+\w+[[:digit:]]+:$/ {gsub(/:$/, "*"); print $1}') rc=0 for node in $bm_nodes; do salt "$node" test.ping 2>/dev/null || { rc=$?; break; }; done sleep 5 + ((attempt+=1)) done wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all" diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane index 0c3ef59f4..25b036ba9 100755 --- a/mcp/config/states/virtual_control_plane +++ b/mcp/config/states/virtual_control_plane @@ -35,12 +35,15 @@ vcp_nodes=$(salt --out yaml 'kvm01*' pillar.get salt:control:cluster:internal:no # Check all vcp nodes are available rc=1 -while [ $rc -ne 0 ]; do +attempt=0 +total_attempts=10 +while [ $rc -ne 0 ] && [ ${attempt} -lt ${total_attempts} ]; do rc=0 for node in $vcp_nodes; do salt "$node" test.ping 2>/dev/null || { rc=$?; break; }; done sleep 5 + ((attempt+=1)) done wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all" |