summaryrefslogtreecommitdiffstats
path: root/mcp/config/states
diff options
context:
space:
mode:
Diffstat (limited to 'mcp/config/states')
-rwxr-xr-xmcp/config/states/maas17
-rwxr-xr-xmcp/config/states/virtual_control_plane6
2 files changed, 21 insertions, 2 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
index d6ef5a607..070045165 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -78,4 +78,19 @@ salt -C 'mas01*' pillar.item\
maas:region:admin:username \
maas:region:admin:password
-salt -C '* and not cfg01* and not mas01*' saltutil.sync_all
+# Check all baremetal nodes are available
+rc=1
+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 909439134..25b036ba9 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -16,6 +16,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
salt -C 'kvm*' pkg.install bridge-utils
salt -C 'kvm*' state.apply linux.network
salt -C 'cmp*' state.apply linux.system
+salt -C 'cmp*' state.apply linux.network || true
salt -C 'kvm* or cmp*' system.reboot
wait_for 90 "! salt -C 'kvm* or cmp*' test.ping | " \
"tee /dev/stderr | grep -Fq 'Not connected'"
@@ -34,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"