Script to check the basic OpenStack services
authorjose.lausuch <jose.lausuch@ericsson.com>
Mon, 21 Dec 2015 14:34:26 +0000 (15:34 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Mon, 21 Dec 2015 19:16:25 +0000 (20:16 +0100)
JIRA: FUNCTEST-118

Change-Id: I92372bc098c48e406e69a91c4d754e8c1e4388a6
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
docker/run_tests.sh
testcases/VIM/OpenStack/CI/libraries/check_os.sh [new file with mode: 0755]

index c75110b..00d5348 100755 (executable)
@@ -175,6 +175,13 @@ fi
 info "Sourcing Credentials ${FUNCTEST_CONF_DIR}/openstack.creds to run the tests.."
 source ${FUNCTEST_CONF_DIR}/openstack.creds
 
+# Check OpenStack
+info "Checking that the basic OpenStack services are functional..."
+${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/check_os.sh
+RETVAL=$?
+if [ $RETVAL -ne 0 ]; then
+    exit 1
+fi
 
 # Run tests
 if [ "${TEST}" != "" ]; then
diff --git a/testcases/VIM/OpenStack/CI/libraries/check_os.sh b/testcases/VIM/OpenStack/CI/libraries/check_os.sh
new file mode 100755 (executable)
index 0000000..09d9834
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+#
+# Simple script to check the basic OpenStack clients
+#
+# Author:
+#    jose.lausuch@ericsson.com
+#
+
+if [ -z $OS_AUTH_URL ];then
+    echo "ERROR: OS_AUTH_URL environment variable missing... Have you sourced the OpenStack credentials?"
+    exit 1
+fi
+
+echo "Checking OpenStack basic services:"
+
+ip=$(echo $OS_AUTH_URL|sed 's/^.*http\:\/\///'|sed 's/.[^:]*$//')
+ip='192.168.123.123'
+echo ">>Pinging public keystone endpoint $ip..."
+timeout=5
+for i in `seq 1 $timeout`; do
+    ping -q -c 1 $ip &>/dev/null
+    RETVAL=$?
+    if [ $RETVAL -eq 0 ]; then
+        break
+    fi
+done
+if [ $i -eq $timeout ]; then
+    echo "ERROR: Cannot ping the endpoint $ip defined as env variable OS_AUTH_URL."
+    echo "OS_AUTH_URL=$OS_AUTH_URL"
+    exit 1
+fi
+echo "  ...OK"
+
+commands=('keystone endpoint-list' 'nova list' 'neutron net-list' \
+            'glance image-list' 'cinder list')
+for cmd in "${commands[@]}"
+do
+    service=$(echo $cmd | awk '{print $1}')
+    echo ">>Checking $service service..."
+    $cmd &>/dev/null
+    result=$?
+    if [ $result -ne 0 ];
+    then
+
+        echo "ERROR: Failed execution $cmd. The $service does not seem to be working."
+        exit 1
+    else
+        echo "  ...OK"
+    fi
+done
+
+echo "OpenStack services are OK."
+exit 0