[baremetal] Allow MaaS timeouts to be set via IDF
[fuel.git] / mcp / scripts / salt.sh
index 25eb0ed..03218e2 100755 (executable)
@@ -47,6 +47,7 @@ fi
 ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END
   sudo -i
   set -e
+  export TERM=${TERM}
   export CI_DEBUG=${CI_DEBUG}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
 
   echo -n 'Checking out cloud-init has finished running ...'
@@ -54,7 +55,7 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END
   echo ' done'
 
   mkdir -p /srv/salt /usr/share/salt-formulas/reclass
-  rm -rf ${OPNFV_GIT_DIR}
+  rm -rf ${OPNFV_GIT_DIR} ${OPNFV_FUEL_DIR}
   mv ${OPNFV_TMP_DIR} ${OPNFV_GIT_DIR} && chown -R root.root ${OPNFV_GIT_DIR}
   find ${OPNFV_GIT_DIR} -name '.git' -type f | while read f_git; do
     sed -i 's@${LOCAL_GIT_DIR}@${OPNFV_GIT_DIR}@g' \$f_git
@@ -70,9 +71,10 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END
 
   cd /srv/salt/scripts
   export DEBIAN_FRONTEND=noninteractive
-  OLD_DOMAIN=\$(grep -Pzo "id: cfg01\.\K(\S*)" /etc/salt/minion.d/minion.conf) || true
+  echo 'Dpkg::Use-Pty "0";' > /etc/apt/apt.conf.d/90silence-dpkg
+  OLD_DOMAIN=\$(grep -sPzo "id: cfg01\.\K(\S*)" /etc/salt/minion.d/minion.conf) || true
   BOOTSTRAP_SALTSTACK_OPTS=" -r -dX stable 2016.11 " \
-    MASTER_HOSTNAME=cfg01.${CLUSTER_DOMAIN} DISTRIB_REVISION=nightly \
+    MASTER_HOSTNAME=cfg01.${CLUSTER_DOMAIN} DISTRIB_REVISION=stable \
       EXTRA_FORMULAS="nfs" \
         ./salt-master-init.sh
   salt-key -Ay
@@ -81,11 +83,12 @@ 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
-    salt "*.\${OLD_DOMAIN}" cmd.run "grep \${OLD_DOMAIN} -Rl /etc/salt | \
+    salt "*.\${OLD_DOMAIN}" cmd.run "grep \${OLD_DOMAIN} -sRl /etc/salt | \
       xargs --no-run-if-empty sed -i 's/\${OLD_DOMAIN}/${CLUSTER_DOMAIN}/g'; \
         service salt-minion restart" || true
     salt-key -yd "*.\${OLD_DOMAIN}"
@@ -94,10 +97,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 -C 'I@salt:master' 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