diff --git a/tools/ansible/roles/dockerfile/files/launch_awx.sh b/tools/ansible/roles/dockerfile/files/launch_awx.sh index cd9f573533..ac5a204d65 100755 --- a/tools/ansible/roles/dockerfile/files/launch_awx.sh +++ b/tools/ansible/roles/dockerfile/files/launch_awx.sh @@ -13,6 +13,10 @@ if [ -n "${AWX_KUBE_DEVEL}" ]; then export SDB_NOTIFY_HOST=$MY_POD_IP fi +set -e + +wait-for-migrations + awx-manage collectstatic --noinput --clear supervisord -c /etc/supervisord.conf diff --git a/tools/ansible/roles/dockerfile/files/launch_awx_task.sh b/tools/ansible/roles/dockerfile/files/launch_awx_task.sh index 7d5ac3265c..ae1a87a6b0 100755 --- a/tools/ansible/roles/dockerfile/files/launch_awx_task.sh +++ b/tools/ansible/roles/dockerfile/files/launch_awx_task.sh @@ -13,6 +13,8 @@ if [ -n "${AWX_KUBE_DEVEL}" ]; then export SDB_NOTIFY_HOST=$MY_POD_IP fi +set -e + wait-for-migrations supervisord -c /etc/supervisord_task.conf diff --git a/tools/ansible/roles/dockerfile/files/wait-for-migrations b/tools/ansible/roles/dockerfile/files/wait-for-migrations index aec55fbf46..8557720591 100755 --- a/tools/ansible/roles/dockerfile/files/wait-for-migrations +++ b/tools/ansible/roles/dockerfile/files/wait-for-migrations @@ -22,13 +22,20 @@ wait_for() { local rc=1 local attempt=1 local next_sleep="${MIN_SLEEP}" + local check=1 while true; do log_message "Attempt ${attempt} of ${ATTEMPTS}" timeout "${TIMEOUT}" \ - /bin/bash -c "! awx-manage showmigrations | grep '\[ \]'" &>/dev/null \ - && return || rc=$? + /bin/bash -c "awx-manage check" &>/dev/null + check=$? + + if [ $check -eq 0 ]; then + timeout "${TIMEOUT}" \ + /bin/bash -c "! awx-manage showmigrations | grep '\[ \]'" &>/dev/null \ + && return || rc=$? + fi (( ++attempt > ATTEMPTS )) && break