aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-10-19 16:46:28 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-10-19 14:52:28 +0000
commitc017f076c0bd21a3752bee474c61828d1d6910a6 (patch)
treec9b5b5bd86226a68fca00ee95a211f37352be612
parent36c6f5a54806a4ab21f33d24256c558dc65a4157 (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)
-rwxr-xr-xmcp/config/states/maas10
-rwxr-xr-xmcp/config/states/virtual_control_plane5
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"