diff --git a/bootstrap/vagrant-onap/lib/functions b/bootstrap/vagrant-onap/lib/functions
index 49ea037..8fff0c2 100755
--- a/bootstrap/vagrant-onap/lib/functions
+++ b/bootstrap/vagrant-onap/lib/functions
@@ -105,14 +105,14 @@
     fi
     if [ $https_proxy ]; then
         echo "export https_proxy=$https_proxy" >> /etc/default/docker
-        #If you have a socks proxy, then use that to connect to the nexus repo 
+        #If you have a socks proxy, then use that to connect to the nexus repo
         #via a redsocks container
         if [ $socks_proxy ]; then
-          wget https://raw.githubusercontent.com/crops/chameleonsocks/master/chameleonsocks.sh
-          chmod 755 chameleonsocks.sh
-          local socks=$(echo $socks_proxy | sed -e "s/^.*\///" | sed -e "s/:.*$//")
-          local port=$(echo $socks_proxy | sed -e "s/^.*://")
-          PROXY=$socks PORT=$port ./chameleonsocks.sh --install
+            wget https://raw.githubusercontent.com/crops/chameleonsocks/master/chameleonsocks.sh
+            chmod 755 chameleonsocks.sh
+            socks=$(echo $socks_proxy | sed -e "s/^.*\///" | sed -e "s/:.*$//")
+            port=$(echo $socks_proxy | sed -e "s/^.*://")
+            PROXY=$socks PORT=$port ./chameleonsocks.sh --install
         fi
     fi
 
diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc
index fb32708..a879448 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -4,14 +4,18 @@
 
 source /var/onap/functions
 
-src_folder=$git_src_folder/vfc
-vfc_repos=("gvnfm/vnflcm" "gvnfm/vnfmgr" "gvnfm/vnfres" "nfvo/catalog" "nfvo/driver/ems" "nfvo/driver/sfc" \
-            "nfvo/driver/vnfm/gvnfm" "nfvo/driver/vnfm/svnfm" "nfvo/lcm" "nfvo/resmanagement" "nfvo/wfengine")
+vfc_src_folder=$git_src_folder/vfc
+vfc_repos=("gvnfm" "gvnfm/vnflcm" "gvnfm/vnfmgr" "gvnfm/vnfres" "nfvo" \
+"nfvo/catalog" "nfvo/driver" "nfvo/driver/ems" "nfvo/driver/sfc" \
+"nfvo/driver/vnfm" "nfvo/driver/vnfm/gvnfm" "nfvo/driver/vnfm/svnfm" \
+"nfvo/lcm" "nfvo/resmanagement" "nfvo/wfengine")
 
 # clone_all_vfc_repos() - Function that clones VF-C source repo.
 function clone_all_vfc_repos {
+    clone_repo vfc $vfc_src_folder
+
     for dirc in ${vfc_repos[@]}; do
-        clone_repo vfc/$dirc $src_folder/$dirc
+        clone_repo vfc/$dirc $vfc_src_folder/$dirc
     done
 }
 
@@ -22,7 +26,7 @@
     tox_repos=("gvnfm/vnflcm/lcm" "gvnfm/vnfmgr/mgr" "gvnfm/vnfres/res" "nfvo/lcm" \
         "nfvo/driver/vnfm/gvnfm/gvnfmadapter" "nfvo/driver/vnfm/svnfm/zte/vmanager")
     for dirc in ${tox_repos[@]}; do
-        pushd $src_folder/$dirc
+        pushd $vfc_src_folder/$dirc
         tox -e py27
         popd
     done
@@ -39,42 +43,11 @@
     # nfvo/wfengine
 }
 
-# build_gvnfm_lcm_image() - Build VFC GVNFM VNF LCM docker image
-function build_gvnfm_lcm_image {
-    pushd $src_folder/gvnfm/vnflcm/lcm/docker
-    sed -i '$ {s/^/#/}' build_image.sh
-    ./build_image.sh
-    popd
-}
-
-# build_gvnfm_vnfmgr_image() - Build VFC GVNFM VNF Manager docker image
-function build_gvnfm_vnfmgr_image {
-    pushd $src_folder/gvnfm/vnfmgr/mgr/docker
-    sed -i '$ {s/^/#/}' build_image.sh
-    ./build_image.sh
-    popd
-}
-
-# build_gvnfm_vnfres_image() - Build VFC GVNFM VNF Resource Management docker image
-function build_gvnfm_vnfres_image {
-    pushd $src_folder/gvnfm/vnfres/res/docker
-    sed -i '$ {s/^/#/}' build_image.sh
-    ./build_image.sh
-    popd
-}
-
-# build_nfvo_lcm_image() - Build VFC NFVO LCM docker image
-function build_nfvo_lcm_image {
-    pushd $src_folder/nfvo/lcm/docker
-    sed -i '$ {s/^/#/}' build_image.sh
-    ./build_image.sh
-    popd
-}
-
-# build_nfvo_vnfm_gvnfmadapter_image() - Build VFC NFVO General VNF Adapter docker image
-function build_nfvo_vnfm_gvnfmadapter_image {
-    pushd $src_folder/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker
-    sed -i '$ {s/^/#/}' build_image.sh
+# _build_vfc_image() - Build VFC  docker image
+function _build_vfc_image {
+    pushd $vfc_src_folder/$1/docker
+    sed -i "s/^push_image/#push_image/g" build_image.sh
+    sed -i 's|IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"|IMAGE_NAME=${ORG}/${IMAGE}|g' build_image.sh
     ./build_image.sh
     popd
 }
@@ -84,6 +57,12 @@
     if [[ "$build_image" == "True" ]]; then
         install_docker
         # Separate methods are required since the image build process will change.
+        _build_vfc_image gvnfm/vnflcm/lcm onap/nslcm
+        _build_vfc_image gvnfm/vnfmgr/mgr onap/gvnfmdriver
+        _build_vfc_image gvnfm/vnfres/res onap/vnfres
+        _build_vfc_image nfvo/lcm onap/vnflcm
+        _build_vfc_image nfvo/driver/vnfm/gvnfm/gvnfmadapter
+
         build_gvnfm_lcm_image
         build_gvnfm_vnfmgr_image
         build_gvnfm_vnfres_image
diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc
index 8392e70..53d9c0d 100644
--- a/bootstrap/vagrant-onap/tests/test_vfc
+++ b/bootstrap/vagrant-onap/tests/test_vfc
@@ -4,18 +4,28 @@
 source /var/onap/vfc
 
 covered_functions=(
-"clone_all_vfc_repos" "compile_all_vfc_repos" "install_vfc"
-"get_vfc_images" "run_vfc_images" "build_nfvo_lcm_image"
-"build_gvnfm_lcm_image" "build_gvnfm_vnfmgr_image" "build_gvnfm_vnfres_image"
-"build_nfvo_lcm_image" "build_nfvo_vnfm_gvnfmadapter_image"
+"clone_all_vfc_repos" "compile_all_vfc_repos" "install_vfc" "get_vfc_images"
 )
 
 # test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories
 function test_clone_all_vfc_repos {
+    clone_all_vfc_repos
 
-    # TODO(sshank):  Add other asserts
-    asserts_file_exist $src_folder/nfvo/lcm/run.sh
-
+    #asserts_file_exist $vfc_src_folder/pom.xml
+    #asserts_file_exist $vfc_src_folder/gvnfm
+    asserts_file_exist $vfc_src_folder/gvnfm/vnflcm/pom.xml
+    asserts_file_exist $vfc_src_folder/gvnfm/vnfmgr/pom.xml
+    asserts_file_exist $vfc_src_folder/gvnfm/vnfres/pom.xml
+    #asserts_file_exist $vfc_src_folder/nfvo
+    asserts_file_exist $vfc_src_folder/nfvo/catalog/run.sh
+    #asserts_file_exist $vfc_src_folder/nfvo/driver
+    asserts_file_exist $vfc_src_folder/nfvo/driver/ems/pom.xml
+    asserts_file_exist $vfc_src_folder/nfvo/driver/sfc/pom.xml
+    #asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm
+    asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm/gvnfm/pom.xml
+    asserts_file_exist $vfc_src_folder/nfvo/driver/vnfm/svnfm/pom.xml
+    asserts_file_exist $vfc_src_folder/nfvo/lcm/pom.xml
+    asserts_file_exist $vfc_src_folder/nfvo/wfengine/wso2/pom.xml
 }
 
 # test_compile_all_vfc_repos() - Verify that all the VFC modules are compiled properly
@@ -28,28 +38,27 @@
 
 # test_get_vfc_images() - Verify all VFC images are built correctly.
 function test_get_vfc_images {
+    clone_all_vfc_repos
     get_vfc_images
 
-    asserts_image nexus3.onap.org:10003/onap/vfc/nslcm
-    asserts_image nexus3.onap.org:10003/onap/vfc/gvnfmdriver
-    asserts_image nexus3.onap.org:10003/onap/vfc/vnfres
-    asserts_image nexus3.onap.org:10003/onap/vfc/vnfmgr
-    asserts_image nexus3.onap.org:10003/onap/vfc/vnflcm
-
-    # TODO(sshank): Add asserts for other VFC component docker image builds.
+    asserts_image onap/gvnfmdriver
+    asserts_image onap/nslcm
+    asserts_image onap/vnfres
+    asserts_image onap/vnfmgr
+    asserts_image onap/vnflcm
 }
 
 # test_install_vfc() - Verify that the VFC are up and running
 function test_install_vfc {
+    clone_all_vfc_repos
+    get_vfc_images
     install_vfc
 
-    asserts_image_running nexus3.onap.org:10003/onap/vfc/nslcm:latest
-    asserts_image_running nexus3.onap.org:10003/onap/vfc/gvnfmdriver:latest
-    asserts_image_running nexus3.onap.org:10003/onap/vfc/vnfres:latest
-    asserts_image_running nexus3.onap.org:10003/onap/vfc/vnfmgr:latest
-    asserts_image_running nexus3.onap.org:10003/onap/vfc/vnflcm:latest
-
-    # TODO(sshank): Add asserts for other running VFC component docker images.
+    asserts_image_running onap/nslcm
+    asserts_image_running onap/gvnfmdriver
+    asserts_image_running onap/vnfres
+    asserts_image_running onap/vnfmgr
+    asserts_image_running onap/vnflcm
 }
 
 if [ "$1" != '*' ]; then
diff --git a/test/csit/plans/dcae/testsuites/setup.sh b/test/csit/plans/dcaegen2/testsuites/setup.sh
similarity index 97%
rename from test/csit/plans/dcae/testsuites/setup.sh
rename to test/csit/plans/dcaegen2/testsuites/setup.sh
index d7f02bc..3068b50 100755
--- a/test/csit/plans/dcae/testsuites/setup.sh
+++ b/test/csit/plans/dcaegen2/testsuites/setup.sh
@@ -31,7 +31,7 @@
 VESC_IP=`get-instance-ip.sh vesc`
 export VESC_IP=${VESC_IP}
 
-export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/test/csit/tests/dcae/testcases/resources"
+export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/test/csit/tests/dcaegen2/testcases/resources"
 
 # Wait container ready
 sleep 5
diff --git a/test/csit/plans/dcae/testsuites/teardown.sh b/test/csit/plans/dcaegen2/testsuites/teardown.sh
similarity index 100%
rename from test/csit/plans/dcae/testsuites/teardown.sh
rename to test/csit/plans/dcaegen2/testsuites/teardown.sh
diff --git a/test/csit/plans/dcae/testsuites/testplan.txt b/test/csit/plans/dcaegen2/testsuites/testplan.txt
similarity index 84%
copy from test/csit/plans/dcae/testsuites/testplan.txt
copy to test/csit/plans/dcaegen2/testsuites/testplan.txt
index 777842a..fbf0883 100755
--- a/test/csit/plans/dcae/testsuites/testplan.txt
+++ b/test/csit/plans/dcaegen2/testsuites/testplan.txt
@@ -1,3 +1,3 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
-dcae/testcases
+dcaegen2/testcases
diff --git a/test/csit/plans/vid/healthCheck/setup.sh b/test/csit/plans/vid/healthCheck/setup.sh
new file mode 100644
index 0000000..afe9ea7
--- /dev/null
+++ b/test/csit/plans/vid/healthCheck/setup.sh
@@ -0,0 +1,33 @@
+#!/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:
+
+
+source ${WORKSPACE}/test/csit/scripts/vid/clone_and_setup_vid_data.sh
+
+source ${WORKSPACE}/test/csit/scripts/vid/start_vid_containers.sh
+
+
+BE_IP=`get-instance-ip.sh vid-server`
+echo BE_IP=${BE_IP}
+
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v BE_IP:${BE_IP}"
+
diff --git a/test/csit/plans/vid/healthCheck/teardown.sh b/test/csit/plans/vid/healthCheck/teardown.sh
new file mode 100644
index 0000000..e82ef30
--- /dev/null
+++ b/test/csit/plans/vid/healthCheck/teardown.sh
@@ -0,0 +1,22 @@
+#!/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
+#
+
+source ${WORKSPACE}/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
+
+# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging
diff --git a/test/csit/plans/dcae/testsuites/testplan.txt b/test/csit/plans/vid/healthCheck/testplan.txt
old mode 100755
new mode 100644
similarity index 86%
rename from test/csit/plans/dcae/testsuites/testplan.txt
rename to test/csit/plans/vid/healthCheck/testplan.txt
index 777842a..ffbb593
--- a/test/csit/plans/dcae/testsuites/testplan.txt
+++ b/test/csit/plans/vid/healthCheck/testplan.txt
@@ -1,3 +1,3 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
-dcae/testcases
+vid/healthCheck
diff --git a/test/csit/plans/vnfsdk-pkgtools/sanity-check/setup.sh b/test/csit/plans/vnfsdk-pkgtools/sanity-check/setup.sh
new file mode 100755
index 0000000..7e109b7
--- /dev/null
+++ b/test/csit/plans/vnfsdk-pkgtools/sanity-check/setup.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Intel Corp., 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:
+
+# Clone vnfsdk/pkgtools repo and install it
+mkdir -p $WORKSPACE/archives/pkgtools
+cd $WORKSPACE/archives
+git clone -b master --single-branch http://gerrit.onap.org/r/vnfsdk/pkgtools.git pkgtools
+cd $WORKSPACE/archives/pkgtools
+git pull
+python setup.py install
+
+pip freeze | tee $WORKSPACE/archives/_pip-freeze-after-setup.txt
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
+
diff --git a/test/csit/plans/vnfsdk-pkgtools/sanity-check/teardown.sh b/test/csit/plans/vnfsdk-pkgtools/sanity-check/teardown.sh
new file mode 100755
index 0000000..ce0ab6d
--- /dev/null
+++ b/test/csit/plans/vnfsdk-pkgtools/sanity-check/teardown.sh
@@ -0,0 +1,16 @@
+#!/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.
+#
diff --git a/test/csit/plans/dcae/testsuites/testplan.txt b/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
old mode 100755
new mode 100644
similarity index 68%
copy from test/csit/plans/dcae/testsuites/testplan.txt
copy to test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
index 777842a..f47c44e
--- a/test/csit/plans/dcae/testsuites/testplan.txt
+++ b/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
@@ -1,3 +1,3 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
-dcae/testcases
+vnfsdk-pkgtools/tosca-metadata/create_open.robot
diff --git a/test/csit/scripts/vid/clone_and_setup_vid_data.sh b/test/csit/scripts/vid/clone_and_setup_vid_data.sh
new file mode 100644
index 0000000..917016c
--- /dev/null
+++ b/test/csit/scripts/vid/clone_and_setup_vid_data.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                             reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_vid_data.sh"
+
+# Clone sdc enviroment template 
+
+mkdir -p ${WORKSPACE}/data/clone/
+
+cd ${WORKSPACE}/data/clone
+git clone --depth 1 http://gerrit.onap.org/r/vid -b master
+
+
+
+
+
diff --git a/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh b/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
new file mode 100644
index 0000000..33a799d
--- /dev/null
+++ b/test/csit/scripts/vid/kill_containers_and_remove_dataFolders.sh
@@ -0,0 +1,31 @@
+#!/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/vid/kill_and_remove_dataFolder.sh"
+
+#kill and remove all vid dockers
+docker stop $(docker ps -a -q --filter="name=vid")
+docker rm $(docker ps -a -q --filter="name=vid")
+
+
+#delete data folder
+
+rm -rf ${WORKSPACE}/data/*
+
+
diff --git a/test/csit/scripts/vid/start_vid_containers.sh b/test/csit/scripts/vid/start_vid_containers.sh
new file mode 100644
index 0000000..d7f6e38
--- /dev/null
+++ b/test/csit/scripts/vid/start_vid_containers.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                             reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vid/start_vid_containers.sh"
+
+
+RELEASE=vid:1.1-STAGING-latest
+CONFIG_PATH=${WORKSPACE}/data/clone/vid/lf_config
+
+export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'`
+export PREFIX='nexus3.onap.org:10001/openecomp'
+
+#start Maria-DB
+docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp_epsdk -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v ${CONFIG_PATH}/vid-my.cnf:/etc/mysql/my.cnf -v ${CONFIG_PATH}/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10
+
+#start VID server
+
+docker run -e VID_MYSQL_DBNAME=vid_openecomp_epsdk -e VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U --name vid-server -p 8080:8080 --link vid-mariadb:vid-mariadb-docker-instance -d nexus3.onap.org:10001/openecomp/${RELEASE}
+
+# WAIT 5 minutes maximum and test every 5 seconds if VID up using HealthCheck API
+
+TIME_OUT=1200
+INTERVAL=5
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+  response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/vid/healthCheck); echo $response
+
+  if [ "$response" == "200" ]; then
+    echo VID and its database well started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if VID 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 tests...
+fi
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json b/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json
deleted file mode 100644
index d9893a7..0000000
--- a/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-   "eventThrottlingState": {
-      "eventThrottlingMode": "throttled",
-      "eventDomainThrottleSpecificationList": [
-         {
-            "eventDomain": "fault",
-            "suppressedFieldNames": [
-               "alarmInterfaceA",
-               "alarmAdditionalInformation" 
-            ]
-         },
-         {
-            "eventDomain": "thresholdCrossingAlert",
-            "suppressedFieldNames": [
-               "associatedAlertIdList",
-               "possibleRootCause" 
-            ],
-            "suppressedNvPairsList": [
-               {
-                  "nvPairFieldName": "additionalParameters",
-                  "suppressedNvPairNames": [
-                     "someCounterName",
-                     "someOtherCounterName"
-                  ]
-               }
-            ]
-         }
-      ]
-   }
-}
diff --git a/test/csit/tests/dcae/testcases/__init__.robot b/test/csit/tests/dcaegen2/testcases/__init__.robot
similarity index 100%
rename from test/csit/tests/dcae/testcases/__init__.robot
rename to test/csit/tests/dcaegen2/testcases/__init__.robot
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/CommonEventFormat_28.3.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/CommonEventFormat_28.3.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/CommonEventFormat_28.3.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/CommonEventFormat_28.3.json
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/dcae_healthcheck.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/dcae_healthcheck.json
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/ves_vfirewall_measurement.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/ves_vfirewall_measurement.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event_bad.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
rename to test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
diff --git a/test/csit/tests/dcae/testcases/dcae_ves.robot b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot
similarity index 95%
rename from test/csit/tests/dcae/testcases/dcae_ves.robot
rename to test/csit/tests/dcaegen2/testcases/dcae_ves.robot
index 1df67ae..00c5807 100644
--- a/test/csit/tests/dcae/testcases/dcae_ves.robot
+++ b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot
@@ -20,11 +20,11 @@
 ${VES_BATCH_EVENT_PATH}             	 /eventListener/v5/eventBatch
 ${VES_THROTTLE_STATE_EVENT_PATH}         /eventListener/v5/clientThrottlingState
 ${HEADER_STRING}                         content-type=application/json
-${EVENT_DATA_FILE}                       %{WORKSPACE}/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event.json
-${EVENT_MEASURE_FILE}                    %{WORKSPACE}/test/csit/tests/dcae/testcases/assets/json_events/ves_vfirewall_measurement.json
-${EVENT_DATA_FILE_BAD}                   %{WORKSPACE}/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
-${EVENT_BATCH_DATA_FILE}                 %{WORKSPACE}/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
-${EVENT_THROTTLING_STATE_DATA_FILE}      %{WORKSPACE}/test/csit/tests/dcae/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json
+${EVENT_DATA_FILE}                       %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json
+${EVENT_MEASURE_FILE}                    %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json
+${EVENT_DATA_FILE_BAD}                   %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
+${EVENT_BATCH_DATA_FILE}                 %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
+${EVENT_THROTTLING_STATE_DATA_FILE}      %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json
 
 
 #DCAE Health Check
diff --git a/test/csit/tests/dcae/testcases/assets/json_events/CommonEventFormat_28.3.json b/test/csit/tests/dcaegen2/testcases/resources/CommonEventFormat_28.3.json
similarity index 100%
copy from test/csit/tests/dcae/testcases/assets/json_events/CommonEventFormat_28.3.json
copy to test/csit/tests/dcaegen2/testcases/resources/CommonEventFormat_28.3.json
diff --git a/test/csit/tests/dcae/testcases/resources/DMaaP.py b/test/csit/tests/dcaegen2/testcases/resources/DMaaP.py
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/DMaaP.py
rename to test/csit/tests/dcaegen2/testcases/resources/DMaaP.py
diff --git a/test/csit/tests/dcae/testcases/resources/DcaeLibrary.py b/test/csit/tests/dcaegen2/testcases/resources/DcaeLibrary.py
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/DcaeLibrary.py
rename to test/csit/tests/dcaegen2/testcases/resources/DcaeLibrary.py
diff --git a/test/csit/tests/dcae/testcases/resources/DcaeVariables.py b/test/csit/tests/dcaegen2/testcases/resources/DcaeVariables.py
similarity index 80%
rename from test/csit/tests/dcae/testcases/resources/DcaeVariables.py
rename to test/csit/tests/dcaegen2/testcases/resources/DcaeVariables.py
index e2f1867..4d51a8f 100644
--- a/test/csit/tests/dcae/testcases/resources/DcaeVariables.py
+++ b/test/csit/tests/dcaegen2/testcases/resources/DcaeVariables.py
@@ -7,7 +7,7 @@
 DCAE_HEALTH_CHECK_URL = "http://135.205.228.129:8500"
 DCAE_HEALTH_CHECK_URL1 = "http://135.205.228.170:8500"
 
-CommonEventSchemaV5  = GetEnvironmentVariable('WORKSPACE') + "/test/csit/tests/dcae/testcases/assets/json_events/CommonEventFormat_28.3.json"
+CommonEventSchemaV5  = GetEnvironmentVariable('WORKSPACE') + "/test/csit/tests/dcaegen2/testcases/assets/json_events/CommonEventFormat_28.3.json"
 
 HttpServerThread = None
 HTTPD = None
diff --git a/test/csit/tests/dcae/testcases/resources/VES-4.27.2-dataformat.json b/test/csit/tests/dcaegen2/testcases/resources/VES-4.27.2-dataformat.json
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/VES-4.27.2-dataformat.json
rename to test/csit/tests/dcaegen2/testcases/resources/VES-4.27.2-dataformat.json
diff --git a/test/csit/tests/dcae/testcases/resources/VES-5.28.3-dataformat.json b/test/csit/tests/dcaegen2/testcases/resources/VES-5.28.4-dataformat.json
similarity index 91%
rename from test/csit/tests/dcae/testcases/resources/VES-5.28.3-dataformat.json
rename to test/csit/tests/dcaegen2/testcases/resources/VES-5.28.4-dataformat.json
index 7663233..386b5e6 100644
--- a/test/csit/tests/dcae/testcases/resources/VES-5.28.3-dataformat.json
+++ b/test/csit/tests/dcaegen2/testcases/resources/VES-5.28.4-dataformat.json
@@ -1,44 +1,81 @@
 {
 	"self": {
 		"name": "VES_specification",
-		"version": "5.28.3",
-		"description": "VES spec for 5.3"
+		"version": "5.28.4",
+		"description": "VES spec for 5.4"
 	},
 	"dataformatversion": "1.0.0",
 	"jsonschema": {
 		"$schema": "http://json-schema.org/draft-04/schema#",
+		"title": "VES Event Listener",
+		"type": "object",
+		"properties": {
+			"event": {
+				"$ref": "#/definitions/event"
+			},
+			"eventList": {
+				"$ref": "#/definitions/eventList"
+			}
+		},
+
 		"definitions": {
-					"attCopyrightNotice": {
-				"description": "Copyright (c) <2017>, AT&T Intellectual Property. All rights reserved. Licensed under the Apache License, Version 2.0 (the License)",
+			"schemaHeaderBlock": {
+				"description": "schema date, version, author and associated API",
 				"type": "object",
 				"properties": {
-					"useAndRedistribution": {
-						"description": "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",
+					"associatedApi": {
+						"description": "VES Event Listener",
 						"type": "string"
 					},
-					"licenseLink": "http://www.apache.org/licenses/LICENSE-2.0",
-					"condition1": {
-						"description": "Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an AS IS BASIS,",
+					"lastUpdatedBy": {
+						"description": "re2947",
 						"type": "string"
 					},
-					"condition2": {
-						"description": "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
+					"schemaDate": {
+						"description": "September 12, 2017",
 						"type": "string"
 					},
-					"condition3": {
-						"description": "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
-						"type": "string"
-					},
-					"condition4": {
-						"description": "See the License for the specific language governing permissions and limitations under the License.",
-						"type": "string"
-					},
-					"Trademarks": {
-						"description": "ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.",
-						"type": "string"
+					"schemaVersion": {
+						"description": "28.4",
+						"type": "number"
 					}
-				   }
+				}
+			},
+			"attCopyrightNotice": {
+					"description": "Copyright (c) <2017>, AT&T Intellectual Property. All rights reserved. Licensed under the Apache License, Version 2.0 (the License)",
+					"type": "object",
+					"properties": {
+						"useAndRedistribution": {
+							"description": "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",
+							"type": "string"
+						},
+						"licenseLink": {
+						 "description": "http://www.apache.org/licenses/LICENSE-2.0",
+						 "type":"string"
+						},
+						"condition1": {
+							"description": "Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an AS IS BASIS,",
+							"type": "string"
+						},
+						"condition2": {
+							"description": "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
+							"type": "string"
+						},
+						"condition3": {
+							"description": "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+							"type": "string"
+						},
+						"condition4": {
+							"description": "See the License for the specific language governing permissions and limitations under the License.",
+							"type": "string"
+						},
+						"Trademarks": {
+							"description": "ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property.",
+							"type": "string"
+						}
+					}
 				},
+			
 			"codecsInUse": {
 				"description": "number of times an identified codec was used over the measurementInterval",
 				"type": "object",
@@ -50,10 +87,7 @@
 						"type": "integer"
 					}
 				},
-				"required": [
-					"codecIdentifier",
-					"numberInUse"
-				]
+				"required": ["codecIdentifier", "numberInUse"]
 			},
 			"command": {
 				"description": "command from an event collector toward an event source",
@@ -78,9 +112,7 @@
 						"type": "integer"
 					}
 				},
-				"required": [
-					"commandType"
-				]
+				"required": ["commandType"]
 			},
 			"commandList": {
 				"description": "array of commands from an event collector toward an event source",
@@ -176,17 +208,9 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"domain",
-					"eventId",
-					"eventName",
-					"lastEpochMicrosec",
-					"priority",
-					"reportingEntityName",
-					"sequence",
-					"sourceName",
-					"startEpochMicrosec",
-					"version"
+				"required": ["domain", "eventId", "eventName", "lastEpochMicrosec",
+					"priority", "reportingEntityName", "sequence", "sourceName",
+					"startEpochMicrosec", "version"
 				]
 			},
 			"counter": {
@@ -195,10 +219,7 @@
 				"properties": {
 					"criticality": {
 						"type": "string",
-						"enum": [
-							"CRIT",
-							"MAJ"
-						]
+						"enum": ["CRIT", "MAJ"]
 					},
 					"name": {
 						"type": "string"
@@ -210,12 +231,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"criticality",
-					"name",
-					"thresholdCrossed",
-					"value"
-				]
+				"required": ["criticality", "name", "thresholdCrossed", "value"]
 			},
 			"cpuUsage": {
 				"description": "usage of an identified CPU",
@@ -262,10 +278,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"cpuIdentifier",
-					"percentUsage"
-				]
+				"required": ["cpuIdentifier", "percentUsage"]
 			},
 			"diskUsage": {
 				"description": "usage of an identified disk",
@@ -436,9 +449,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"diskIdentifier"
-				]
+				"required": ["diskIdentifier"]
 			},
 			"endOfCallVqmSummaries": {
 				"description": "provides end of call voice quality metrics",
@@ -451,10 +462,7 @@
 					"endpointDescription": {
 						"description": "Either Caller or Callee",
 						"type": "string",
-						"enum": [
-							"Caller",
-							"Callee"
-						]
+						"enum": ["Caller", "Callee"]
 					},
 					"endpointJitter": {
 						"description": "",
@@ -533,10 +541,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"adjacencyName",
-					"endpointDescription"
-				]
+				"required": ["adjacencyName", "endpointDescription"]
 			},
 			"event": {
 				"description": "the root level of the common event format",
@@ -576,9 +581,7 @@
 						"$ref": "#/definitions/voiceQualityFields"
 					}
 				},
-				"required": [
-					"commonEventHeader"
-				]
+				"required": ["commonEventHeader"]
 			},
 			"eventDomainThrottleSpecification": {
 				"description": "specification of what information to suppress within an event domain",
@@ -603,9 +606,7 @@
 						}
 					}
 				},
-				"required": [
-					"eventDomain"
-				]
+				"required": ["eventDomain"]
 			},
 			"eventDomainThrottleSpecificationList": {
 				"description": "array of eventDomainThrottleSpecifications",
@@ -638,9 +639,7 @@
 						"$ref": "#/definitions/eventDomainThrottleSpecificationList"
 					}
 				},
-				"required": [
-					"eventThrottlingMode"
-				]
+				"required": ["eventThrottlingMode"]
 			},
 			"faultFields": {
 				"description": "fields specific to fault events",
@@ -700,13 +699,8 @@
 						]
 					}
 				},
-				"required": [
-					"alarmCondition",
-					"eventSeverity",
-					"eventSourceType",
-					"faultFieldsVersion",
-					"specificProblem",
-					"vfStatus"
+				"required": ["alarmCondition", "eventSeverity", "eventSourceType",
+					"faultFieldsVersion", "specificProblem", "vfStatus"
 				]
 			},
 			"featuresInUse": {
@@ -720,10 +714,7 @@
 						"type": "integer"
 					}
 				},
-				"required": [
-					"featureIdentifier",
-					"featureUtilization"
-				]
+				"required": ["featureIdentifier", "featureUtilization"]
 			},
 			"field": {
 				"description": "name value pair",
@@ -736,10 +727,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"name",
-					"value"
-				]
+				"required": ["name", "value"]
 			},
 			"filesystemUsage": {
 				"description": "disk usage of an identified virtual machine in gigabytes and/or gigabytes per second",
@@ -767,14 +755,8 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"blockConfigured",
-					"blockIops",
-					"blockUsed",
-					"ephemeralConfigured",
-					"ephemeralIops",
-					"ephemeralUsed",
-					"filesystemName"
+				"required": ["blockConfigured", "blockIops", "blockUsed", "ephemeralConfigured",
+					"ephemeralIops", "ephemeralUsed", "filesystemName"
 				]
 			},
 			"gtpPerFlowMetrics": {
@@ -858,8 +840,7 @@
 						"type": "array",
 						"items": {
 							"type": "array",
-							"items": [
-								{
+							"items": [{
 									"type": "string"
 								},
 								{
@@ -900,8 +881,7 @@
 						"type": "array",
 						"items": {
 							"type": "array",
-							"items": [
-								{
+							"items": [{
 									"type": "string"
 								},
 								{
@@ -1002,8 +982,7 @@
 						"type": "array",
 						"items": {
 							"type": "array",
-							"items": [
-								{
+							"items": [{
 									"type": "string"
 								},
 								{
@@ -1024,37 +1003,21 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"avgBitErrorRate",
-					"avgPacketDelayVariation",
-					"avgPacketLatency",
-					"avgReceiveThroughput",
-					"avgTransmitThroughput",
-					"flowActivationEpoch",
-					"flowActivationMicrosec",
-					"flowDeactivationEpoch",
-					"flowDeactivationMicrosec",
-					"flowDeactivationTime",
-					"flowStatus",
-					"maxPacketDelayVariation",
-					"numActivationFailures",
-					"numBitErrors",
-					"numBytesReceived",
-					"numBytesTransmitted",
-					"numDroppedPackets",
-					"numL7BytesReceived",
-					"numL7BytesTransmitted",
-					"numLostPackets",
-					"numOutOfOrderPackets",
-					"numPacketErrors",
+				"required": ["avgBitErrorRate", "avgPacketDelayVariation", "avgPacketLatency",
+					"avgReceiveThroughput", "avgTransmitThroughput",
+					"flowActivationEpoch", "flowActivationMicrosec",
+					"flowDeactivationEpoch", "flowDeactivationMicrosec",
+					"flowDeactivationTime", "flowStatus",
+					"maxPacketDelayVariation", "numActivationFailures",
+					"numBitErrors", "numBytesReceived", "numBytesTransmitted",
+					"numDroppedPackets", "numL7BytesReceived",
+					"numL7BytesTransmitted", "numLostPackets",
+					"numOutOfOrderPackets", "numPacketErrors",
 					"numPacketsReceivedExclRetrans",
 					"numPacketsReceivedInclRetrans",
 					"numPacketsTransmittedInclRetrans",
-					"numRetries",
-					"numTimeouts",
-					"numTunneledL7BytesReceived",
-					"roundTripTime",
-					"timeToFirstByte"
+					"numRetries", "numTimeouts", "numTunneledL7BytesReceived",
+					"roundTripTime", "timeToFirstByte"
 				]
 			},
 			"heartbeatFields": {
@@ -1077,10 +1040,7 @@
 						"type": "integer"
 					}
 				},
-				"required": [
-					"heartbeatFieldsVersion",
-					"heartbeatInterval"
-				]
+				"required": ["heartbeatFieldsVersion", "heartbeatInterval"]
 			},
 			"internalHeaderFields": {
 				"description": "enrichment fields for internal VES Event Listener service use only, not supplied by event sources",
@@ -1118,10 +1078,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"objectInstances",
-					"objectName"
-				]
+				"required": ["objectInstances", "objectName"]
 			},
 			"jsonObjectInstance": {
 				"description": "meta-information about an instance of a jsonObject along with the actual object instance",
@@ -1143,9 +1100,7 @@
 						}
 					}
 				},
-				"required": [
-					"objectInstance"
-				]
+				"required": ["objectInstance"]
 			},
 			"key": {
 				"description": "tuple which provides the name of a key along with its value and relative order",
@@ -1164,9 +1119,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"keyName"
-				]
+				"required": ["keyName"]
 			},
 			"latencyBucketMeasure": {
 				"description": "number of counts falling within a defined latency bucket",
@@ -1182,9 +1135,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"countsInTheBucket"
-				]
+				"required": ["countsInTheBucket"]
 			},
 			"measurementsForVfScalingFields": {
 				"description": "measurementsForVfScaling fields",
@@ -1300,10 +1251,7 @@
 						}
 					}
 				},
-				"required": [
-					"measurementInterval",
-					"measurementsForVfScalingVersion"
-				]
+				"required": ["measurementInterval", "measurementsForVfScalingVersion"]
 			},
 			"memoryUsage": {
 				"description": "memory usage of an identified virtual machine",
@@ -1342,11 +1290,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"memoryFree",
-					"memoryUsed",
-					"vmIdentifier"
-				]
+				"required": ["memoryFree", "memoryUsed", "vmIdentifier"]
 			},
 			"mobileFlowFields": {
 				"description": "mobileFlow fields",
@@ -1487,16 +1431,9 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"flowDirection",
-					"gtpPerFlowMetrics",
-					"ipProtocolType",
-					"ipVersion",
-					"mobileFlowFieldsVersion",
-					"otherEndpointIpAddress",
-					"otherEndpointPort",
-					"reportingEndpointIpAddr",
-					"reportingEndpointPort"
+				"required": ["flowDirection", "gtpPerFlowMetrics", "ipProtocolType", "ipVersion",
+					"mobileFlowFieldsVersion", "otherEndpointIpAddress", "otherEndpointPort",
+					"reportingEndpointIpAddr", "reportingEndpointPort"
 				]
 			},
 			"namedArrayOfFields": {
@@ -1514,10 +1451,7 @@
 						}
 					}
 				},
-				"required": [
-					"name",
-					"arrayOfFields"
-				]
+				"required": ["name", "arrayOfFields"]
 			},
 			"otherFields": {
 				"description": "fields for events belonging to the 'other' domain of the commonEventHeader domain enumeration",
@@ -1549,9 +1483,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"otherFieldsVersion"
-				]
+				"required": ["otherFieldsVersion"]
 			},
 			"requestError": {
 				"description": "standard request error data structure",
@@ -1574,10 +1506,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"messageId",
-					"text"
-				]
+				"required": ["messageId", "text"]
 			},
 			"sipSignalingFields": {
 				"description": "sip signaling fields",
@@ -1619,21 +1548,15 @@
 						"type": "number"
 					},
 					"summarySip": {
-						"description": "the SIP Method or Response (‘INVITE’, ‘200 OK’, ‘BYE’, etc)",
+						"description": "the SIP Method or Response (â€˜INVITEâ€™, â€˜200 OKâ€™, â€˜BYEâ€™, etc)",
 						"type": "string"
 					},
 					"vendorVnfNameFields": {
 						"$ref": "#/definitions/vendorVnfNameFields"
 					}
 				},
-				"required": [
-					"correlator",
-					"localIpAddress",
-					"localPort",
-					"remoteIpAddress",
-					"remotePort",
-					"sipSignalingFieldsVersion",
-					"vendorVnfNameFields"
+				"required": ["correlator", "localIpAddress", "localPort", "remoteIpAddress",
+					"remotePort", "sipSignalingFieldsVersion", "vendorVnfNameFields"
 				]
 			},
 			"stateChangeFields": {
@@ -1674,12 +1597,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"newState",
-					"oldState",
-					"stateChangeFieldsVersion",
-					"stateInterface"
-				]
+				"required": ["newState", "oldState", "stateChangeFieldsVersion", "stateInterface"]
 			},
 			"suppressedNvPairs": {
 				"description": "List of specific NvPairsNames to suppress within a given Name-Value Field for event Throttling",
@@ -1697,17 +1615,14 @@
 						}
 					}
 				},
-				"required": [
-					"nvPairFieldName",
-					"suppressedNvPairNames"
-				]
+				"required": ["nvPairFieldName", "suppressedNvPairNames"]
 			},
 			"syslogFields": {
 				"description": "sysLog fields",
 				"type": "object",
 				"properties": {
 					"additionalFields": {
-						"description": "additional syslog fields if needed provided as name=value delimited by a pipe ‘|’ symbol, for example: 'name1=value1|name2=value2|…'",
+						"description": "additional syslog fields if needed provided as name=value delimited by a pipe â€˜|â€™ symbol, for example: 'name1=value1|name2=value2|â€¦'",
 						"type": "string"
 					},
 					"eventSourceHost": {
@@ -1773,12 +1688,7 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"eventSourceType",
-					"syslogFieldsVersion",
-					"syslogMsg",
-					"syslogTag"
-				]
+				"required": ["eventSourceType", "syslogFieldsVersion", "syslogMsg", "syslogTag"]
 			},
 			"thresholdCrossingAlertFields": {
 				"description": "fields specific to threshold crossing alert events",
@@ -1904,9 +1814,7 @@
 						"type": "string"
 					}
 				},
-				"required": [
-					"vendorName"
-				]
+				"required": ["vendorName"]
 			},
 			"vNicPerformance": {
 				"description": "describes the performance and errors of an identified virtual network interface card",
@@ -2027,20 +1935,14 @@
 					"valuesAreSuspect": {
 						"description": "Indicates whether vNicPerformance values are likely inaccurate due to counter overflow or other condtions",
 						"type": "string",
-						"enum": [
-							"true",
-							"false"
-						]
+						"enum": ["true", "false"]
 					},
 					"vNicIdentifier": {
 						"description": "vNic identification",
 						"type": "string"
 					}
 				},
-				"required": [
-					"valuesAreSuspect",
-					"vNicIdentifier"
-				]
+				"required": ["valuesAreSuspect", "vNicIdentifier"]
 			},
 			"voiceQualityFields": {
 				"description": "provides statistics related to customer facing voice products",
@@ -2084,22 +1986,10 @@
 						"type": "number"
 					}
 				},
-				"required": [
-					"calleeSideCodec",
-					"callerSideCodec",
-					"correlator",
-					"midCallRtcp",
-					"vendorVnfNameFields",
-					"voiceQualityFieldsVersion"
+				"required": ["calleeSideCodec", "callerSideCodec", "correlator", "midCallRtcp",
+					"vendorVnfNameFields", "voiceQualityFieldsVersion"
 				]
 			}
-		},
-		"title": "Event Listener",
-		"type": "object",
-		"properties": {
-			"event": {
-				"$ref": "#/definitions/event"
-			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/test/csit/tests/dcae/testcases/resources/dcae_keywords.robot b/test/csit/tests/dcaegen2/testcases/resources/dcae_keywords.robot
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/dcae_keywords.robot
rename to test/csit/tests/dcaegen2/testcases/resources/dcae_keywords.robot
diff --git a/test/csit/tests/dcae/testcases/resources/dcae_properties.robot b/test/csit/tests/dcaegen2/testcases/resources/dcae_properties.robot
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/dcae_properties.robot
rename to test/csit/tests/dcaegen2/testcases/resources/dcae_properties.robot
diff --git a/test/csit/tests/dcae/testcases/resources/index.htm b/test/csit/tests/dcaegen2/testcases/resources/index.htm
similarity index 100%
rename from test/csit/tests/dcae/testcases/resources/index.htm
rename to test/csit/tests/dcaegen2/testcases/resources/index.htm
diff --git a/test/csit/tests/vfc/gvnfm-vnflcm/jsoninput/create_vnf.json b/test/csit/tests/vfc/gvnfm-vnflcm/jsoninput/create_vnf.json
new file mode 100644
index 0000000..554c417
--- /dev/null
+++ b/test/csit/tests/vfc/gvnfm-vnflcm/jsoninput/create_vnf.json
@@ -0,0 +1,5 @@
+{
+    "vnfdId": "111",
+    "vnfInstanceName": "vFW_01",
+    "vnfInstanceDescription": "vFW in Nanjing TIC Edge"
+}
\ No newline at end of file
diff --git a/test/csit/tests/vfc/gvnfm-vnflcm/test.robot b/test/csit/tests/vfc/gvnfm-vnflcm/test.robot
index 47ff25f..9cfdda0 100644
--- a/test/csit/tests/vfc/gvnfm-vnflcm/test.robot
+++ b/test/csit/tests/vfc/gvnfm-vnflcm/test.robot
@@ -7,15 +7,42 @@
 *** Variables ***
 @{return_ok_list}=   200  201  202
 ${queryswagger_url}    /api/vnflcm/v1/swagger.json
+${create_vnf_url}    /api/vnflcm/v1/vnf_instances
+${delete_vnf_url}    /api/vnflcm/v1/vnf_instances
+
+#json files
+${create_vnf_json}    ./jsoninput/create_vnf.json
 
 *** Test Cases ***
 VnflcmSwaggerTest
-    [Documentation]    query swagger info vnflcm
+    [Documentation]    query swagger info vnflcm by MSB
     ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
-    Create Session    web_session    http://${VNFLCM_IP}:8801    headers=${headers}
+    Create Session    web_session    http://${MSB_IAG_IP}:8801    headers=${headers}
     ${resp}=  Get Request    web_session    ${queryswagger_url}
     ${responese_code}=     Convert To String      ${resp.status_code}
     List Should Contain Value    ${return_ok_list}   ${responese_code}
     ${response_json}    json.loads    ${resp.content}
     ${swagger_version}=    Convert To String      ${response_json['swagger']}
     Should Be Equal    ${swagger_version}    2.0
+
+CreateVnfTest
+    [Documentation]    Create Vnf function test
+    ${json_value}=     json_from_file      ${create_vnf_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${MSB_IAG_IP}:80    headers=${headers}
+    Set Request Body    ${json_string}
+    ${resp}=    Post Request    web_session     ${create_vnf_url}    ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${vnfInstId}=    Convert To String      ${response_json['vnfInstanceId']}
+    Set Global Variable     ${vnfInstId}
+
+DeleteVnfTest
+    [Documentation]    Delete Vnf function test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${MSB_IAG_IP}:80    headers=${headers}
+    ${resp}=    Delete Request    web_session     ${delete_vnf_url}/${vnfInstId}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
\ No newline at end of file
diff --git a/test/csit/tests/vfc/nfvo-driver-ems/test.robot b/test/csit/tests/vfc/nfvo-driver-ems/test.robot
old mode 100644
new mode 100755
index a35a542..fc0f543
--- a/test/csit/tests/vfc/nfvo-driver-ems/test.robot
+++ b/test/csit/tests/vfc/nfvo-driver-ems/test.robot
@@ -12,4 +12,21 @@
 EMSDriverSwaggerTest
     [Documentation]    query swagger info of emsdriver
     ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
-    Should Be Equal    2.0    2.0
+    Create Session    web_session    http://${EMS_DRV_IP}:8206    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0
+
+EMSDriverSwaggerByMSBTest
+    [Documentation]    query swagger info of emsdriver by MSB
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${MSB_IAG_IP}:80    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0	
\ No newline at end of file
diff --git a/test/csit/tests/vid/healthCheck/__init__.robot b/test/csit/tests/vid/healthCheck/__init__.robot
new file mode 100644
index 0000000..b71d350
--- /dev/null
+++ b/test/csit/tests/vid/healthCheck/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    VID - HealthCheck
diff --git a/test/csit/tests/vid/healthCheck/test1.robot b/test/csit/tests/vid/healthCheck/test1.robot
new file mode 100644
index 0000000..8f9448d
--- /dev/null
+++ b/test/csit/tests/vid/healthCheck/test1.robot
@@ -0,0 +1,15 @@
+*** Settings ***
+Library           Collections
+Library           OperatingSystem
+Library           RequestsLibrary
+Library           json
+
+*** Test Cases ***
+Get Requests health check ok
+    [Tags]    get
+    CreateSession    vid    http://localhost:8080
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    ${resp}=    Get Request    vid    /vid/healthCheck    headers=&{headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    Log to console   statusCode: ${resp.json()['statusCode']}
+    Should Be Equal As Strings  ${resp.json()['statusCode']}  200    
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_open.robot b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_open.robot
new file mode 100644
index 0000000..c23fd43
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_open.robot
@@ -0,0 +1,24 @@
+*** settings ***
+Library           OperatingSystem
+
+
+*** Variables ***
+${csarpath}       ${SCRIPTS}/../tests/vnfsdk-pkgtools/tosca-metadata/csar
+${create_output}  ${OUTPUT DIR}/test.csar
+${open_dir}       ${OUTPUT DIR}/extracted
+
+*** Test Cases ***
+Create CSAR package
+    [Documentation]    Create CSAR package
+    ${output}=    Run    vnfsdk csar-create -d ${create_output} --manifest test_entry.mf --history ChangeLog.txt --tests Tests --licenses Licenses ${csarpath} test_entry.yaml
+    Log  ${output}
+    File Should Exist  ${create_output}
+
+Open CSAR package
+    [Documentation]    Open CSAR package
+    ${output}=    Run    vnfsdk csar-open -d ${open_dir} ${create_output}
+    Log  ${output}
+    Directory Should Not Be Empty  ${open_dir}
+    ${rc}  ${output}=    Run and Return RC And Output    diff -r -x TOSCA-Metadata ${open_dir} ${csarpath}
+    Should Be Equal As Integers  ${rc}  0
+    Log  ${output}
diff --git a/test/csit/tests/dcae/testcases/__init__.robot b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/ChangeLog.txt
similarity index 100%
copy from test/csit/tests/dcae/testcases/__init__.robot
copy to test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/ChangeLog.txt
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/Licenses/LICENSE.txt b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/Licenses/LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/Licenses/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
diff --git a/test/csit/tests/dcae/testcases/__init__.robot b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/Tests/test
similarity index 100%
copy from test/csit/tests/dcae/testcases/__init__.robot
copy to test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/Tests/test
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.mf b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.mf
new file mode 100644
index 0000000..710d1a2
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.mf
@@ -0,0 +1,5 @@
+metadata:
+vnf_product_name: test
+vnf_provider_id: test
+vnf_pacakage_version: 1.0
+vnf_release_date_time: 2017.09.15T15:00+8:00
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.yaml b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.yaml
new file mode 100644
index 0000000..d1aed3c
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test_entry.yaml
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
+#
+# 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.
+#
+
+tosca_definitions_version:  tosca_simple_yaml_1_0
+
+topology_template:
+  node_templates:
+    test_node:
+      type: tosca.nodes.Compute
+
diff --git a/test/mocks/sniroemulator/pom.xml b/test/mocks/sniroemulator/pom.xml
index aa43750..f7c91bf 100644
--- a/test/mocks/sniroemulator/pom.xml
+++ b/test/mocks/sniroemulator/pom.xml
@@ -10,12 +10,17 @@
     <description>onap sniro emulator project based on  Spring Boot</description>
 
 <parent>
+        <groupId>org.onap.oparent</groupId>
+        <artifactId>oparent</artifactId>
+        <version>0.1.1</version>
+</parent>
+
+<!-- <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.5.7.RELEASE</version>
-    <relativePath/> <!-- lookup parent from repository -->
 </parent>
-
+-->
 <properties>
     <dockerLocation>${basedir}/target</dockerLocation>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -23,8 +28,51 @@
     <java.version>1.8</java.version>
     <versions.jackson>2.8.9</versions.jackson>
     <jetty.version>9.2.22.v20170606</jetty.version>
+    <start-class>org.onap.integration.test.mocks.sniroemulator.MockApplication</start-class>
 </properties>
 
+<dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-http</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-security</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-xml</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-io</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-continuation</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>1.5.7.RELEASE</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+</dependencyManagement>
+
 <dependencies>
     <dependency>
         <groupId>org.springframework.boot</groupId>
@@ -134,6 +182,16 @@
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
+            <executions>
+                <execution>
+                    <goals>
+                        <goal>repackage</goal>
+                    </goals>
+                </execution>
+            </executions>
+            <configuration>
+                <mainClass>${start-class}</mainClass>
+            </configuration>
         </plugin>
         <plugin>
             <artifactId>maven-dependency-plugin</artifactId>
@@ -170,8 +228,9 @@
             <artifactId>docker-maven-plugin</artifactId>
             <version>0.4.11</version>
             <configuration>
-                <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
+                <imageName>openecomp/${project.artifactId}</imageName>
                 <dockerDirectory>${dockerLocation}</dockerDirectory>
+                <serverId>docker-hub</serverId>
                 <imageTags>
                     <imageTag>latest</imageTag>
                 </imageTags>
diff --git a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/MockApplication.java b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/MockApplication.java
index 5e47c7c..714d3a3 100644
--- a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/MockApplication.java
+++ b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/MockApplication.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.integration
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
 package org.onap.integration.test.mocks.sniroemulator;
 
 import static com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder.responseDefinition;
diff --git a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/WebhookDefinition.java b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/WebhookDefinition.java
index cccf060..60592b3 100644
--- a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/WebhookDefinition.java
+++ b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/WebhookDefinition.java
@@ -1,3 +1,22 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.integration
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
 package org.onap.integration.test.mocks.sniroemulator.extension;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
diff --git a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/Webhooks.java b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/Webhooks.java
index 12d52f4..e3fc286 100644
--- a/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/Webhooks.java
+++ b/test/mocks/sniroemulator/src/main/java/org/onap/integration/test/mocks/sniroemulator/extension/Webhooks.java
@@ -1,3 +1,22 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.integration
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
 package org.onap.integration.test.mocks.sniroemulator.extension;
 
 import com.github.tomakehurst.wiremock.common.Notifier;
diff --git a/test/mocks/sniroemulator/src/test/java/org/onap/integration/test/mocks/sniroemulator/MockApplicationTests.java b/test/mocks/sniroemulator/src/test/java/org/onap/integration/test/mocks/sniroemulator/MockApplicationTests.java
index a5911cb..dfaf68e 100644
--- a/test/mocks/sniroemulator/src/test/java/org/onap/integration/test/mocks/sniroemulator/MockApplicationTests.java
+++ b/test/mocks/sniroemulator/src/test/java/org/onap/integration/test/mocks/sniroemulator/MockApplicationTests.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.integration
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
 package org.onap.integration.test.mocks.sniroemulator;
 
 import org.junit.Test;
@@ -10,7 +30,6 @@
 public class MockApplicationTests {
 
 	@Test
-	public void contextLoads() {
+    public void contextLoads() {
 	}
-
 }
