diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index d47bbc5..4067433 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -19,13 +19,24 @@
 # Place the scripts in run order:
 SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 source ${WORKSPACE}/test/csit/scripts/appc/script1.sh
+amsterdam="$(echo ${WORKSPACE} | grep amsterdam | wc -l)"
+
+if [ "$amsterdam" != "1" ]; then
+  export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest
+  export CCSDK_DOCKER_IMAGE_VERSION=0.1-STAGING-latest
+  export BRANCH=master
+  export SOLUTION_NAME=onap
+else
+  export APPC_DOCKER_IMAGE_VERSION=v1.2.0
+  export CCSDK_DOCKER_IMAGE_VERSION=v0.1.0
+  export BRANCH=amsterdam
+  export SOLUTION_NAME=openecomp
+fi
 
 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=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)
 
@@ -37,14 +48,14 @@
 # Clone APPC repo to get docker-compose for APPC
 mkdir -p $WORKSPACE/archives/appc
 cd $WORKSPACE/archives
-git clone -b master --single-branch http://gerrit.onap.org/r/appc/deployment.git appc
+git clone -b $BRANCH --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/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/${SOLUTION_NAME}/appc-image:$APPC_DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/appc-image:$APPC_DOCKER_IMAGE_VERSION ${SOLUTION_NAME}/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_amsterdam/bundle_query.sh b/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh
deleted file mode 100755
index 45a92ea..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/bundle_query.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/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
deleted file mode 100755
index 70829a1..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/db_query.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/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
deleted file mode 100755
index 63e0b17..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/health_check.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/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
deleted file mode 100755
index f5a579e..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/setup.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/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
deleted file mode 100755
index 357ead8..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/teardown.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/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
deleted file mode 100644
index 0f78b17..0000000
--- a/test/csit/plans/appc/healthcheck_amsterdam/testplan.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# Test suites are relative paths under [integration.git]/test/csit/tests/.
-# Place the suites in run order.
-appc/healthcheck_amsterdam
-
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot b/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot
deleted file mode 100644
index b869434..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/APPC_GLOBAL_VARIABLES.robot
+++ /dev/null
@@ -1,10 +0,0 @@
-*** Settings ***
-Documentation        store all properties that can change or are used in multiple places here
-...                    format is all caps with underscores between words and prepended with GLOBAL
-...                   make sure you prepend them with GLOBAL so that other files can easily see it is from this file.
-
-
-*** Variables ***
-${GLOBAL_VNF_RESTART_REQUESTFILE}    ${CURDIR}/LCM_VNF_RESTART_REQUEST.txt
-${GLOBAL_VM_RESTART_REQUESTFILE}     ${CURDIR}/LCM_VM_RESTART_REQUEST.txt
-${GLOBAL_HEALTHCHECK_REQUESTFILE}    ${CURDIR}/LCM_VM_HEALTHCHECK_REQUEST.txt
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot b/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot
deleted file mode 100644
index 285fc37..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/APPC_Netstat.robot
+++ /dev/null
@@ -1,8 +0,0 @@
-*** Settings ***
-Library    OperatingSystem
-
-*** Test Cases ***
-APPC Netstat
-    [Documentation]    Checking the active ports
-    ${output}=     Run	netstat -a | grep -E 8282 | grep LISTEN
-    Log To Console    ${output}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot
deleted file mode 100644
index 2259f3f..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_HEALTHCHECK_TIMESTAMP.robot
+++ /dev/null
@@ -1,52 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-Library    XvfbRobot
-Resource    APPC_GLOBAL_VARIABLES.robot
-Resource    gettime.robot
-
-*** Variable ***
-${ResponseCode}
-${var}
-
-*** Test Cases ***
-    
-APPC LCM API HEALTHCHECK
-	[Documentation]	APPC LCM API HEALTHCHECK 
-	Start Virtual Display     1920     1080
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html	chrome
-	Maximize Browser Window 
-#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-
-	Reload Page
-
-#	Wait Until Page Contains Element    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]   
-
-#	Set Selenium Speed	60
-#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
-
-	
-#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
-#	Set Selenium Speed	60
-#	Click link    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]/following::li[5]/ul/li/div[1]/h3/span[2]/a
-#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0"]/div[1]/h3/span[2]/a
-	
-#	Get Server time    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
-#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
-    
-#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table
-#	Set Selenium Speed	90
-#	Input Text     xpath=(.//*[contains(text(),'(health-check)input-TOP')])[1]/following::textarea[1]	${file_content} 
-#	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea    ${file_content}
-	
-#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
-#	Set Selenium Speed	90
-#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/form/div[2]/input
-	
-##	${var}=    Get Value    xpath= //*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre
-##	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre[1][text()='200']     200     expected
-	
-Tear Down
-
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt
deleted file mode 100644
index d258b49..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_HEALTHCHECK_REQUEST.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-"input" : 
-{
-"common-header" : 
-{
-"timestamp" : "2017-10-07T01:28:39.615000Z",
-"api-ver" : "2.00",
-"originator-id" : "SDNGP",
-"request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
-"sub-request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
-"flags" : 
-{
-"mode" : "NORMAL",
-"force" : "TRUE",
-"ttl" : 3600
-}
-},
-"action" : "HealthCheck",
-"action-identifiers" : 
-{
-"vnf-id" : "dbax001v"
-},
-"payload" : "{\"request-parameters\":{\"vnf-name\":\"dbax001v\",\"vnf-host-ip-address\":\"https://135.205.240.68:8080/Dispatch/\"},\"configuration-parameters\":{\"vnf_instance\":\"dbax001v\"}}"
-}
-}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt
deleted file mode 100644
index 5e199c9..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_REQUEST.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-"input" : 
-{
-"common-header" : 
-{
-"timestamp" : "2017-09-29T16:30:05.44Z",
-"api-ver" : "2.01",
-"originator-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
-"request-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
-"sub-request-id" : "150",
-"flags" : 
-{
-"force" : "TRUE",
-"ttl" : 60000
-}
-},
-"action" : "Restart",
-"action-identifiers" : 
-{
-"vnf-id" : "trial-vnf-004"
-},
-"payload" : "{\"vm-id\":\"http://135.25.246.131:8774/v2/81fc2bc61f974de1b5a49e8c2ec090bb/servers/7c95ba81-4aad-4b13-9e94-d6af4f2b06be\",\"identity-url\":\"http://135.25.246.131:5000/v2.0\",\"tenant-id\":\"81fc2bc61f974de1b5a49e8c2ec090bb\"}"
-}
-}
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot
deleted file mode 100644
index 768865f..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VM_RESTART_TIMESTAMP.robot
+++ /dev/null
@@ -1,47 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-Library     XvfbRobot
-Resource    APPC_GLOBAL_VARIABLES.robot
-Resource    gettime.robot
-
-*** Variable ***
-${ResponseCode}
-${var}
-
-*** Test Cases ***
-APPC LCM API VM RESTART
-	[Documentation]	APPC LCM API VM RESTART 
-	Start Virtual Display     1920     1080
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
-	Maximize Browser Window
-#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-	
-	Reload Page
-
-#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
-#	Set Selenium Speed	60
-#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
-
-#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
-#	Set Selenium Speed	60
-#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
-	
-#   Get Server time    ${GLOBAL_VM_RESTART_REQUESTFILE}   
-   
-#   ${file_content}=    OperatingSystem.Get File    ${GLOBAL_VM_RESTART_REQUESTFILE}
-    
-#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
-#	Set Selenium Speed	90
-#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
-#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
-
-#	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
-	
-#	${var}=    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
-#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
-	
-	 
-Tear Down
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt
deleted file mode 100644
index ee9b8d9..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_REQUEST.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-"input" : 
-{
-"common-header" : 
-{
-"timestamp" : "2017-10-07T01:39:54.227000Z",
-"api-ver" : "2.00",
-"originator-id" : "c09ac7d1-de62-0016-2000-e63702155555",
-"request-id" : "c09ac7d1-de62-0016-2000-e63701125555",
-"sub-request-id" : "150",
-"flags" : 
-{
-"force" : "TRUE",
-"ttl" : 60000
-}
-},
-"action" : "Restart",
-"action-identifiers" : 
-{
-"vnf-id" : "ibcx8888v"
-},
-"payload" : "{\"AICIdentity\" : \"http://135.25.246.162:5000/v2.0\", \"vnf-host-ip-address\" : \"135.21.166.46\"}"
-}
-}
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot
deleted file mode 100644
index 15690f0..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/LCM_VNF_RESTART_TIMESTAMP.robot
+++ /dev/null
@@ -1,50 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-Library     XvfbRobot
-Resource   ${CURDIR}/APPC_GLOBAL_VARIABLES.robot
-Resource   ${CURDIR}/gettime.robot
-
-
-
-*** Variable ***
-${ResponseCode}
-${var}
-
-*** Test Cases ***
-    
-APPC LCM API VNF RESTART
-	[Documentation]	APPC LCM API VNF RESTART 
-	Start Virtual Display     1920     1080
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
-	Maximize Browser Window
-#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-	
-	Reload Page
-
-#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
-#	Set Selenium Speed	60
-#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
-
-
-#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
-#	Set Selenium Speed	60
-#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
-	
-#	Get Server time    ${GLOBAL_VNF_RESTART_REQUESTFILE}
-#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_VNF_RESTART_REQUESTFILE}
-    
-#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
-#	Set Selenium Speed	90
-#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
-#	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
-
-#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
-	
-#	${var}=    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre	
-#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
-	
-	 
-Tear Down
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot b/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot
deleted file mode 100644
index 3b8528d..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/__init__.robot
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation    APPC - healthcheck
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot b/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot
deleted file mode 100644
index 9f376f9..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/gettime.robot
+++ /dev/null
@@ -1,40 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-Library    DateTime
-Library    String
-##Library    HttpLibrary.HTTP
-Library    Collections
-
-
-*** Keywords ***
-
-Get Server time
-    [Documentation]    Getting server time to update the json request
-    [Arguments]     ${RequestFile}    
-    
-    ${date}=    Get Current Date    time_zone=local    result_format=%Y-%m-%dT%H:%M:%S.%fZ    exclude_millis=False 
-    
-    #updating the request file with the server time
-    ${file_content}=    OperatingSystem.Get File    ${RequestFile}
-  	@{list}=    Split to lines  ${file_content} 
-	${data}=    Get from list    ${list}    5
-	@{splitted_string}=    Split String    ${data}    :    1
-    ${time}=    Get From List    ${splitted_string}    1
-    Log    ${time}
-    @{splitted_string_time}=    Split String    ${time}    "    2
-    ${times1}=    Get From List    ${splitted_string_time}    1
-    Log    ${times1}
-    ${replaced_string}=    Replace String    ${data}    ${times1}    ${date}
-    @{list1}=    Split to lines  ${file_content} 
-	Remove from list    ${list1}    5
-	Insert into list    ${list1}    5     ${replaced_string}
-	Remove File     ${RequestFile}                                              
-	:FOR    ${line}    IN    @{list1}
-	\      Append to File    ${RequestFile}    ${line}    encoding=UTF-8
-	\      Append to File    ${RequestFile}    ${\n}    encoding=UTF-8
-	      
-   
-
- 
-  
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck_amsterdam/test1.robot b/test/csit/tests/appc/healthcheck_amsterdam/test1.robot
deleted file mode 100644
index 8bd4986..0000000
--- a/test/csit/tests/appc/healthcheck_amsterdam/test1.robot
+++ /dev/null
@@ -1,27 +0,0 @@
-*** Settings ***
-Library           OperatingSystem
-Library           Process
-
-*** Variables ***
-
-${bundle_query}    ${SCRIPTS}/bundle_query.sh
-${health_check}    ${SCRIPTS}/health_check.sh
-${db_query}    ${SCRIPTS}/db_query.sh
-
-
-*** Test Cases ***
-Health check test case for APPC
-    [Documentation]   Health check
-    ${result_hc}=    Run Process   bash ${health_check} > log_hc.txt    shell=yes
-    Should Be Equal As Integers    ${result_hc.rc}    0
-
-Query bundle test case for APPC
-    [Documentation]   Query bundles 
-    ${result_bq}=    Run Process   bash ${bundle_query} > log_bq.txt    shell=yes
-    Should Be Equal As Integers    ${result_bq.rc}    0
-
-Query database test case for APPC
-    [Documentation]   Query database
-    ${result_db}=    Run Process   bash ${db_query} > log_db.txt    shell=yes
-    Should Be Equal As Integers    ${result_db.rc}    0
-
