From 089585ad5370109d4c2a476b94b0017153d7713d Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 14 Oct 2017 19:18:51 +0200 Subject: Drop infinite loops in favor of finite wait_for While at it, fix some shellcheck warnings, and s/fgrep/grep -F/g. Change-Id: I093b7b4c196731b1ecc0c27a4111955b2e412762 Signed-off-by: Alexandru Avadanii --- mcp/config/states/dpdk | 6 +++++- mcp/config/states/maas | 2 +- mcp/config/states/openstack_ha | 5 ++++- mcp/config/states/virtual_control_plane | 8 ++++---- 4 files changed, 14 insertions(+), 7 deletions(-) (limited to 'mcp/config') diff --git a/mcp/config/states/dpdk b/mcp/config/states/dpdk index 9eba5c083..7cee70a88 100755 --- a/mcp/config/states/dpdk +++ b/mcp/config/states/dpdk @@ -1,8 +1,12 @@ #!/bin/bash set -x +# shellcheck disable=SC1090 +source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" + salt -I 'nova:compute' system.reboot -while true; do salt -I 'nova:compute' test.ping | grep -Fq 'Not connected' || break; done +wait_for 90 "! salt -I 'nova:compute' test.ping | " \ + "tee /dev/stderr | grep -Fq 'Not connected'" salt -I 'nova:compute' state.sls linux.network # switch to UCA repos since fuel-infra packages have bugs diff --git a/mcp/config/states/maas b/mcp/config/states/maas index df11d5b13..232f98c88 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -1,7 +1,7 @@ #!/bin/bash -# shellcheck disable=SC1090 set -x +# shellcheck disable=SC1090 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" # Wait for MaaS commissioning/deploy to finish, retry on failure diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha index e11135f43..c4c513da1 100755 --- a/mcp/config/states/openstack_ha +++ b/mcp/config/states/openstack_ha @@ -1,6 +1,9 @@ #!/bin/bash set -x +# shellcheck disable=SC1090 +source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" + salt -I 'keepalived:cluster' state.sls keepalived -b 1 salt -I 'keepalived:cluster' pillar.get keepalived:cluster:instance:VIP:address @@ -43,7 +46,7 @@ salt -I 'neutron:gateway' state.sls neutron.gateway salt -I 'nova:compute' state.sls nova salt -I 'mongodb:server' state.sls mongodb -while true; do sleep 5; salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin' && break; done +wait_for 90 "salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin'" salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin --eval "rs.initiate()"' salt -C 'I@mongodb:server and *01*' state.sls mongodb diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane index 69f26c34e..645009be8 100755 --- a/mcp/config/states/virtual_control_plane +++ b/mcp/config/states/virtual_control_plane @@ -1,14 +1,14 @@ #!/bin/bash -# shellcheck disable=SC1090 set -x +# shellcheck disable=SC1090 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" # KVM, compute node prereqs (libvirt first), VCP deployment salt -C 'kvm*' pkg.install bridge-utils salt -C 'kvm*' state.apply linux.network salt -C 'kvm*' system.reboot -wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'" +wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | grep -Fq 'Not connected'" salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp @@ -17,7 +17,7 @@ salt -C 'kvm*' state.sls libvirt salt -C '* and not cfg01* and not mas01*' state.apply salt salt -C 'kvm*' saltutil.sync_all wait_for 10 "! salt -C 'kvm*' state.sls salt.control | " \ - "tee /dev/stderr | fgrep -q 'Not connected'" + "tee /dev/stderr | grep -Fq 'Not connected'" vcp_nodes=$(salt --out yaml 'kvm01*' pillar.get salt:control:cluster:internal:node | \ awk '/\s+\w+:$/ {gsub(/:$/, "*"); print $1}') @@ -35,7 +35,7 @@ done wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all" wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply salt" wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp | " \ - "tee /dev/stderr | fgrep -q 'Not connected'" + "tee /dev/stderr | grep -Fq 'Not connected'" wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_USER} \ $(awk 'NR==1{print $2}' "$(eval echo "~${SUDO_USER}/.ssh/authorized_keys")")" -- cgit 1.2.3-korg