salt.sh: Fix linux state apply on cfg01 81/50181/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 6 Jan 2018 20:30:12 +0000 (21:30 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sun, 7 Jan 2018 23:43:31 +0000 (00:43 +0100)
cfg01 does not repond or is not connected while trying to apply
linux state via salt.sh, use wait_for macro to account for this.

JIRA: ARMBAND-315

Change-Id: I2d4c63d43f806b65f9ce327f4a00a6334be88750
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry-picked from commit 2bbab1873ef629e89ac92ec195feb15b86cf8295)

mcp/scripts/salt.sh

index d0a09c2..ac9d74f 100755 (executable)
@@ -81,7 +81,8 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END
   cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches.list formulas
   cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches.list reclass
 
-  salt-call state.apply salt
+  source ${OPNFV_FUEL_DIR}/mcp/scripts/lib.sh
+  wait_for 3.0 "salt-call state.apply salt"
 
   # In case scenario changed (and implicitly domain name), re-register minions
   if [ -n "\${OLD_DOMAIN}" ] && [ "\${OLD_DOMAIN}" != "${CLUSTER_DOMAIN}" ]; then
@@ -94,10 +95,9 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END
 
   # Init specific to VMs on FN (all for virtual, cfg|mas for baremetal)
   salt -C "${NODE_MASK} or cfg01*" saltutil.sync_all
-  salt -C "${NODE_MASK} or cfg01*" state.apply salt | \
-    grep -Fq 'No response' && salt -C "${NODE_MASK} or cfg01*" state.apply salt
+  wait_for 3.0 'salt -C "${NODE_MASK} or cfg01*" state.apply salt'
+  wait_for 3.0 'salt -C "cfg01*" state.apply linux'
 
-  salt-call state.sls linux || salt-call state.sls linux
   salt -C "${NODE_MASK} and not cfg01*" state.sls linux || true
   salt -C "${NODE_MASK} and not cfg01*" pkg.upgrade refresh=False