From 7ec170a9ff6efe58afecf4474efa006cf823e181 Mon Sep 17 00:00:00 2001
From: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
Date: Tue, 2 Feb 2016 16:30:20 +0800
Subject: [PATCH] Validate that all the containers are started

Container maybe exit after deployed. But the print_failure
never runs if the kolla-ansible run success.
This PS checks all the containers status after deploy and
failed the test if the container status is exited

TrivialFix
Change-Id: Ia461b280855eda500e143ee1d6cfd5f215eaf6fe
---
 tools/deploy_aio.sh | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/tools/deploy_aio.sh b/tools/deploy_aio.sh
index 9ca10164b5..63b841fd6e 100755
--- a/tools/deploy_aio.sh
+++ b/tools/deploy_aio.sh
@@ -5,13 +5,18 @@ set -o errexit
 
 export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 
-function print_failure {
+function check_failure {
     docker ps -a
-    for failed in $(docker ps -a --format "{{.Names}}" --filter status=exited); do
-        docker logs --tail=all $failed
+    failed_containers=$(docker ps -a --format "{{.Names}}" --filter status=exited)
+
+    for failed in ${failed_containers}; do
+        docker logs --tail all ${failed}
     done
-    echo "FAILED"
-    exit 1
+
+    if [[ -n ${failed_containers} ]]; then
+        echo 'FAILED'
+        exit 1
+    fi
 }
 
 # Populate globals.yml
@@ -29,9 +34,8 @@ EOF
 ip l a fake_interface type dummy
 
 # Actually do the deployment
-tools/kolla-ansible deploy || print_failure
+tools/kolla-ansible deploy
 
-# TODO(SamYaple): Actually validate that all containers are started
-docker ps -a
+check_failure
 
 # TODO(SamYaple): Actually do functional testing of OpenStack