[baremetal] Remove infinite loops from node checks 27/45827/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 19 Oct 2017 14:46:28 +0000 (16:46 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 19 Oct 2017 14:46:28 +0000 (16:46 +0200)
Change-Id: I7a21c30d49aecca948f45535fec164c2f643450e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
mcp/config/states/maas
mcp/config/states/virtual_control_plane

index 2a0f25b..0700451 100755 (executable)
@@ -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"
index 0c3ef59..25b036b 100755 (executable)
@@ -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"