From 0f33e96f0a4186263a4ef1acb9292878e9636ca7 Mon Sep 17 00:00:00 2001 From: Aaron Hay Date: Tue, 12 Sep 2017 14:03:37 -0400 Subject: db_query health check Created db_query.sh which is executed by the test1.robot script to make sure the sdnctl and appcctl databases are in a healthy state. Change-Id: I90240db9f897e4fc86caf9975e18e208fe7e67ac Issue-ID: APPC-118 Signed-off-by: Aaron Hay --- test/csit/plans/appc/healthcheck/db_query.sh | 66 ++++++++++++++++++++++++++++ test/csit/plans/appc/healthcheck/setup.sh | 6 ++- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100755 test/csit/plans/appc/healthcheck/db_query.sh (limited to 'test/csit/plans') diff --git a/test/csit/plans/appc/healthcheck/db_query.sh b/test/csit/plans/appc/healthcheck/db_query.sh new file mode 100755 index 000000000..87e0ac397 --- /dev/null +++ b/test/csit/plans/appc/healthcheck/db_query.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +############################################################################### +# Copyright 2017 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo $SCRIPTS + +sdnctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l) + +appcctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D appcctl -u appcctl -pappcctl <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l) + + + +docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"show tables" 2>/dev/null | ( while read table_name; do +export $table_name="$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"select count(*) from $table_name" 2>/dev/null)" +done + +if [ "$sdnctl_num_tables" -ge "1" ]; then + echo "There are $sdnctl_num_tables tables in the sdnctl database. " +else + echo "Database sdnctl is not available." + exit 1; +fi + +if [ "$appcctl_num_tables" -ge "1" ]; then + echo "There is $appcctl_num_tables table in the appcctl database. " +else + echo "Database appcctl is not available." + exit 1; +fi + +if [ "$NODE_TYPES" -eq "0" ]; then + echo "There is no data in table NODE_TYPES. " + exit 1; +fi + +if [ "$SVC_LOGIC" -eq "0" ] ; then + echo "There is no data in table SVC_LOGIC. " + exit 1; +fi + +if [ "$VNF_DG_MAPPING" -eq "0" ]; then + echo "There is no data in table VNF_DG_MAPPING. " + exit 1; +fi + +echo "Expected table data is present." +exit 0 ) + +if [ "$?" -eq "1" ]; then + exit 1; +fi + +exit 0 diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh index b91baa3a9..3c57cefac 100755 --- a/test/csit/plans/appc/healthcheck/setup.sh +++ b/test/csit/plans/appc/healthcheck/setup.sh @@ -22,6 +22,10 @@ source ${WORKSPACE}/test/csit/scripts/appc/script1.sh export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) +if [ "$MTU" == "" ]; then + export MTU="1450" +fi + # Clone APPC repo to get docker-compose for APPC mkdir -p $WORKSPACE/archives/appc @@ -42,7 +46,7 @@ docker pull nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-lat docker tag nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-latest openecomp/dgbuilder-sdnc-image:latest # start APPC containers with docker compose and configuration from docker-compose.yml -/opt/docker/docker-compose up -d +docker-compose up -d # WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API TIME_OUT=500 -- cgit 1.2.3-korg