diff --git a/test/csit/plans/appc/healthcheck/bundle_query.sh b/test/csit/plans/appc/healthcheck/bundle_query.sh
index 45a92ea..5b1a99d 100755
--- a/test/csit/plans/appc/healthcheck/bundle_query.sh
+++ b/test/csit/plans/appc/healthcheck/bundle_query.sh
@@ -19,7 +19,8 @@
 
 
 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)
+#num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+num_failed_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Nothing | 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."
diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index 8288a18..d47bbc5 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -24,7 +24,7 @@
 export NEXUS_PASSWD=docker
 export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
 export DMAAP_TOPIC=AUTO
-export APPC_DOCKER_IMAGE_VERSION=1.2-STAGING-latest
+export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest
 export CCSDK_DOCKER_IMAGE_VERSION=0.1-STAGING-latest
 
 export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
@@ -43,8 +43,8 @@
 cd $WORKSPACE/archives/appc/docker-compose
 sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="$DMAAP_TOPIC"/g" docker-compose.yml
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
-docker pull $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION
-docker tag $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION openecomp/appc-image:latest
+docker pull $NEXUS_DOCKER_REPO/onap/appc-image:$APPC_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/appc-image:$APPC_DOCKER_IMAGE_VERSION onap/appc-image:latest
 docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION
 docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
 # start APPC containers with docker compose and configuration from docker-compose.yml
diff --git a/test/csit/plans/appc/healthcheck/testplan.txt b/test/csit/plans/appc/healthcheck/testplan.txt
index fbf2319..2a8c1ea 100644
--- a/test/csit/plans/appc/healthcheck/testplan.txt
+++ b/test/csit/plans/appc/healthcheck/testplan.txt
@@ -1,5 +1,4 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
 appc/healthcheck
-#appc/testsuite
 
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh b/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh
new file mode 100755
index 0000000..45a92ea
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/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" == "" ]; then
+  echo "There are $num_bundles bundles 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_amsterdam/db_query.sh b/test/csit/plans/appc/healthcheck_amsterdam/db_query.sh
new file mode 100755
index 0000000..70829a1
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/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_amsterdam/health_check.sh b/test/csit/plans/appc/healthcheck_amsterdam/health_check.sh
new file mode 100755
index 0000000..63e0b17
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/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_amsterdam/setup.sh b/test/csit/plans/appc/healthcheck_amsterdam/setup.sh
new file mode 100755
index 0000000..f5a579e
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/setup.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# Copyright 2016-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.
+#
+# 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 NEXUS_USERNAME=docker
+export NEXUS_PASSWD=docker
+export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
+export DMAAP_TOPIC=AUTO
+export APPC_DOCKER_IMAGE_VERSION=v1.2.0
+export CCSDK_DOCKER_IMAGE_VERSION=v0.1.0
+
+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
+cd $WORKSPACE/archives
+git clone -b amsterdam --single-branch http://gerrit.onap.org/r/appc/deployment.git appc
+cd $WORKSPACE/archives/appc
+git pull
+cd $WORKSPACE/archives/appc/docker-compose
+sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="$DMAAP_TOPIC"/g" docker-compose.yml
+docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+docker pull $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/openecomp/appc-image:$APPC_DOCKER_IMAGE_VERSION openecomp/appc-image:latest
+docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
+# start APPC containers with docker compose and configuration from docker-compose.yml
+docker-compose up -d
+# WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API
+TIME_OUT=2000
+INTERVAL=30
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+
+startODL_status=$(docker exec appc_controller_container ps -e | grep startODL | wc -l)
+waiting_bundles=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Waiting | wc -l)
+run_level=$(docker exec appc_controller_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+
+  if [ "$run_level" == "Level 100" ] && [ "$startODL_status" -lt "1" ] && [ "$waiting_bundles" -lt "1" ] ; then
+    echo APPC 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: Docker containers not started in $TIME_OUT seconds... Could cause problems for testing activities...
+fi
+
+sleep 300
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh b/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh
new file mode 100755
index 0000000..357ead8
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright 2016-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.
+#
+# Modifications copyright (c) 2017 AT&T Intellectual Property
+#
+
+kill-instance.sh appc_controller_container
+kill-instance.sh sdnc_dgbuilder_container
+kill-instance.sh sdnc_db_container
+
+# $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging
diff --git a/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt b/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt
new file mode 100644
index 0000000..0f78b17
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+appc/healthcheck_amsterdam
+
