aboutsummaryrefslogtreecommitdiff
path: root/tests/check-failure.sh
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2018-07-10 15:38:40 +0100
committerMark Goddard <mark@stackhpc.com>2018-11-06 16:43:19 +0000
commitf92de48c287136074046476b7bb9888d9af23b3d (patch)
treea179dc610d484356a4e85bcb7a1cd7f63021192b /tests/check-failure.sh
parentf941d47dcbbf1b4bc8fca901b98a41e274cf6f63 (diff)
downloadkolla-ansible-f92de48c287136074046476b7bb9888d9af23b3d.tar.gz
kolla-ansible-f92de48c287136074046476b7bb9888d9af23b3d.zip
Refactor CI testing scripts
This change is intended to ease the addition of new test scenarios, by splitting the existing setup_gate.sh script up into several smaller scripts. We may wish to further break these scripts up in future, depending on the requirements of new test jobs. Change-Id: Ifa442ac79a54f749c56d20f5f7383c3852d95268
Diffstat (limited to 'tests/check-failure.sh')
-rwxr-xr-xtests/check-failure.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/check-failure.sh b/tests/check-failure.sh
new file mode 100755
index 000000000..6689d86a6
--- /dev/null
+++ b/tests/check-failure.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -o xtrace
+set -o errexit
+
+# Enable unbuffered output for Ansible in Jenkins.
+export PYTHONUNBUFFERED=1
+
+
+check_failure() {
+ # All docker container's status are created, restarting, running, removing,
+ # paused, exited and dead. Containers without running status are treated as
+ # failure. removing is added in docker 1.13, just ignore it now.
+ failed_containers=$(sudo docker ps -a --format "{{.Names}}" \
+ --filter status=created \
+ --filter status=restarting \
+ --filter status=paused \
+ --filter status=exited \
+ --filter status=dead)
+
+ if [[ -n "$failed_containers" ]]; then
+ exit 1;
+ fi
+}
+
+
+check_failure