diff --git a/test/csit/plans/appc/healthcheck/bundle_query.sh b/test/csit/plans/appc/healthcheck/bundle_query.sh
new file mode 100755
index 0000000..7224ae9
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck/bundle_query.sh
@@ -0,0 +1,34 @@
+#!/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
+
+
+num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure)
+
+echo "There are $num_failed_bundles failed bundles out of $num_bundles installed bundles."
+
+if [ "$num_failed_bundles" -ge 1 ] || [ $num_bundles -le 393 ]; then
+  echo "There are $num_bundles bundles out of 394 with $num_failed_bundles in a failed state. "
+  echo "The following bundle(s) are in a failed state: "
+  echo "  $failed_bundles"
+  exit 1;
+fi
+
+exit 0
diff --git a/test/csit/plans/appc/healthcheck/health_check.sh b/test/csit/plans/appc/healthcheck/health_check.sh
new file mode 100755
index 0000000..63e0b17
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck/health_check.sh
@@ -0,0 +1,28 @@
+#!/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
+
+response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-appc" -H "X-TransactionId: csit-appc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck )
+
+if [ "$response" == "200" ]; then
+    echo "APPC health check passed."
+    exit 0;
+fi
+
+echo "APPC health check failed with response code ${response}."
+exit 1
diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index 0a68ade..b91baa3 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -17,7 +17,9 @@
 # Modifications copyright (c) 2017 AT&T Intellectual Property
 #
 # Place the scripts in run order:
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 source ${WORKSPACE}/test/csit/scripts/appc/script1.sh
+
 export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
 
 
@@ -27,6 +29,7 @@
 git clone -b master --single-branch http://gerrit.onap.org/r/appc/deployment.git appc
 cd $WORKSPACE/archives/appc
 git pull
+unset http_proxy https_proxy
 cd $WORKSPACE/archives/appc/docker-compose
 
 sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" docker-compose.yml
@@ -42,8 +45,8 @@
 /opt/docker/docker-compose up -d
 
 # WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API
-TIME_OUT=1000
-INTERVAL=40
+TIME_OUT=500
+INTERVAL=30
 TIME=0
 while [ "$TIME" -lt "$TIME_OUT" ]; do
   response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-appc" -H "X-TransactionId: csit-appc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); echo $response
@@ -62,6 +65,45 @@
    echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for testing activities...
 fi
 
+#sleep 800
+
+TIME_OUT=1500
+INTERVAL=60
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+
+response=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+
+  if [ "$response" == "Level 100" ] && [ "$num_bundles" -ge 394 ]; then
+    echo APPC karaf started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if APPC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+  sleep $INTERVAL
+  TIME=$(($TIME+$INTERVAL))
+done
+
+if [ "$TIME" -ge "$TIME_OUT" ]; then
+   echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities...
+fi
+
+response=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+
+  if [ "$response" == "Level 100" ] && [ "$num_bundles" -ge 394 ]; then
+    num_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+    num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+    failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure)
+    echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles.
+  fi
+
+if [ "$num_failed_bundles" -ge 1 ]; then
+  echo "The following bundle(s) are in a failed state: "
+  echo "  $failed_bundles"
+fi
+
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-#ROBOT_VARIABLES="-v TEST:${TEST}"
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
 
