X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/60321351d092de49566423cd79ffd450ed5845a4..689901263ebfdd996da3711236615038e6245db3:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 6bc8b84f85..956d82a575 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -380,6 +380,20 @@ checkpidfile() { echo "${svc} pid ${pid} ok" } +checkhealth() { + svc="$1" + port="$(cat "$WORKSPACE/tmp/${svc}.port")" + scheme=http + if [[ ${svc} =~ -ssl$ || ${svc} = wss ]]; then + scheme=https + fi + url="$scheme://localhost:${port}/_health/ping" + if ! curl -Ss -H "Authorization: Bearer e687950a23c3a9bceec28c6223a06c79" "${url}" | tee -a /dev/stderr | grep '"OK"'; then + echo "${url} failed" + return 1 + fi +} + checkdiscoverydoc() { dd="https://${1}/discovery/v1/apis/arvados/v1/rest" if ! (set -o pipefail; curl -fsk "$dd" | grep -q ^{ ); then @@ -395,7 +409,7 @@ start_services() { return 0 fi . "$VENVDIR/bin/activate" - echo 'Starting API, keepproxy, keep-web, ws, arv-git-httpd, and nginx ssl proxy...' + echo 'Starting API, controller, keepproxy, keep-web, arv-git-httpd, ws, and nginx ssl proxy...' if [[ ! -d "$WORKSPACE/services/api/log" ]]; then mkdir -p "$WORKSPACE/services/api/log" fi @@ -413,12 +427,15 @@ start_services() { && checkdiscoverydoc $ARVADOS_API_HOST \ && python sdk/python/tests/run_test_server.py start_controller \ && checkpidfile controller \ + && checkhealth controller \ && python sdk/python/tests/run_test_server.py start_keep_proxy \ && checkpidfile keepproxy \ && python sdk/python/tests/run_test_server.py start_keep-web \ && checkpidfile keep-web \ + && checkhealth keep-web \ && python sdk/python/tests/run_test_server.py start_arv-git-httpd \ && checkpidfile arv-git-httpd \ + && checkhealth arv-git-httpd \ && python sdk/python/tests/run_test_server.py start_ws \ && checkpidfile ws \ && eval $(python sdk/python/tests/run_test_server.py start_nginx) \ @@ -750,6 +767,7 @@ do_test_once() { title "test $1" timer_reset + result= if which deactivate >/dev/null; then deactivate; fi if ! . "$VENVDIR/bin/activate" then @@ -822,6 +840,7 @@ do_install_once() { title "install $1" timer_reset + result= if which deactivate >/dev/null; then deactivate; fi if [[ "$1" != "env" ]] && ! . "$VENVDIR/bin/activate"; then result=1 @@ -956,6 +975,7 @@ install_services/api() { || return 1 cd "$WORKSPACE/services/api" \ + && RAILS_ENV=test bundle exec rails db:environment:set \ && RAILS_ENV=test bundle exec rake db:drop \ && RAILS_ENV=test bundle exec rake db:setup \ && RAILS_ENV=test bundle exec rake db:fixtures:load @@ -972,6 +992,7 @@ pythonstuff=( services/fuse services/nodemanager tools/crunchstat-summary + tools/crunchstat-summary:py3 ) declare -a gostuff @@ -985,6 +1006,7 @@ gostuff=( lib/cloud lib/cloud/azure lib/cloud/ec2 + lib/config lib/dispatchcloud lib/dispatchcloud/container lib/dispatchcloud/scheduler