diff --git a/test/csit/plans/ccsdk/healthcheck/health_check.sh b/test/csit/plans/ccsdk/healthcheck/health_check.sh
new file mode 100644
index 0000000..db5795e
--- /dev/null
+++ b/test/csit/plans/ccsdk/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-sdnc" -H "X-TransactionId: csit-ccsdk" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck )
+
+if [ "$response" == "200" ]; then
+    echo "CCSDK health check passed."
+    exit 0;
+fi
+
+echo "CCSDK health check failed with response code ${response}."
+exit 1
diff --git a/test/csit/plans/ccsdk/healthcheck/setup.sh b/test/csit/plans/ccsdk/healthcheck/setup.sh
new file mode 100644
index 0000000..babfe3e
--- /dev/null
+++ b/test/csit/plans/ccsdk/healthcheck/setup.sh
@@ -0,0 +1,118 @@
+#!/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/ccsdk/script1.sh
+
+export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
+export NEXUS_DOCKER_REPO="nexus3.onap.org:10001"
+if [ "$MTU" == "" ]; then
+	  export MTU="1450"
+fi
+
+
+# Clone CCSDK repo to get docker-compose for CCSDK
+mkdir -p $WORKSPACE/archives/ccsdk
+cd $WORKSPACE/archives
+git clone -b master --single-branch http://gerrit.onap.org/r/ccsdk/distribution.git ccsdk
+cd $WORKSPACE/archives/ccsdk
+git pull
+unset http_proxy https_proxy
+cd $WORKSPACE/archives/ccsdk/src/main/yaml
+
+sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" docker-compose.yml
+docker login -u docker -p docker nexus3.onap.org:10001
+
+docker pull nexus3.onap.org:10001/onap/ccsdk-odl-image:0.1-STAGING-latest
+docker tag nexus3.onap.org:10001/onap/ccsdk-odl-image:latest onap/ccsdk-odl-image:0.1-STAGING-latest
+
+docker pull nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:0.1-STAGING-latest
+docker tag nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:latest onap/ccsdk-dgbuilder-image:0.1-STAGING-latest
+
+docker pull nexus3.onap.org:10001/onap/ccsdk-odlsli-image:0.1-STAGING-latest
+docker tag nexus3.onap.org:10001/onap/ccsdk-odlsli-image:latest onap/ccsdk-odlsli-image:0.1-STAGING-latest
+
+# start CCSDK containers with docker compose and configuration from docker-compose.yml
+curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > docker-compose
+chmod +x docker-compose
+./docker-compose up -d
+
+# WAIT 5 minutes maximum and test every 5 seconds if CCSDK is up using HealthCheck API
+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-ccsdk" -H "X-TransactionId: csit-ccsdk" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); echo $response
+
+  if [ "$response" == "200" ]; then
+    echo CCSDK started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if CCSDK 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 800
+
+TIME_OUT=1500
+INTERVAL=60
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+
+response=$(docker exec ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+num_bundles=$(docker exec ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+
+  if [ "$response" == "Level 100" ] && [ "$num_bundles" -ge 64 ]; then
+    echo CCSDK karaf started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if CCSDK 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 ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf system:start-level)
+num_bundles=$(docker exec ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+
+  if [ "$response" == "Level 100" ] && [ "$num_bundles" -ge 64 ]; then
+    num_bundles=$(docker exec ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf bundle:list | tail -1 | cut -d\| -f1)
+    num_failed_bundles=$(docker exec ccsdk_bareodl_container /opt/opendaylight/current/bin/client -u karaf bundle:list | grep Failure | wc -l)
+    failed_bundles=$(docker exec ccsdk_bareodl_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 SCRIPTS:${SCRIPTS}"
+
diff --git a/test/csit/plans/ccsdk/healthcheck/teardown.sh b/test/csit/plans/ccsdk/healthcheck/teardown.sh
new file mode 100644
index 0000000..60433f8
--- /dev/null
+++ b/test/csit/plans/ccsdk/healthcheck/teardown.sh
@@ -0,0 +1,25 @@
+#!/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 ccsdk_db_container
+kill-instance.sh sdnc_dgbuilder_container
+kill-instance.sh ccsdk_bareodl_container
+kill-instance.sh ccsdk_odlsli_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/ccsdk/healthcheck/testplan.txt b/test/csit/plans/ccsdk/healthcheck/testplan.txt
new file mode 100644
index 0000000..affe635
--- /dev/null
+++ b/test/csit/plans/ccsdk/healthcheck/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+ccsdk/healthcheck
+
diff --git a/test/csit/scripts/ccsdk/script1.sh b/test/csit/scripts/ccsdk/script1.sh
new file mode 100644
index 0000000..bb583f8
--- /dev/null
+++ b/test/csit/scripts/ccsdk/script1.sh
@@ -0,0 +1,20 @@
+#!/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
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/ccsdk/script1.sh"
diff --git a/test/csit/tests/ccsdk/healthcheck/__init__.robot b/test/csit/tests/ccsdk/healthcheck/__init__.robot
new file mode 100644
index 0000000..1259b89
--- /dev/null
+++ b/test/csit/tests/ccsdk/healthcheck/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    CCSDK - healthcheck
diff --git a/test/csit/tests/ccsdk/healthcheck/test1.robot b/test/csit/tests/ccsdk/healthcheck/test1.robot
new file mode 100644
index 0000000..3c81d70
--- /dev/null
+++ b/test/csit/tests/ccsdk/healthcheck/test1.robot
@@ -0,0 +1,16 @@
+*** Settings ***
+Library           OperatingSystem
+Library           Process
+
+*** Variables ***
+
+${health_check}    ${SCRIPTS}/health_check.sh
+
+
+*** Test Cases ***
+Health check test case for CCSDK
+    [Documentation]   Health check
+    ${result_hc}=    Run Process   bash ${health_check} > log_hc.txt    shell=yes
+    Should Be Equal As Integers    ${result_hc.rc}    0
+
+
