diff --git a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
index ab887d9..9662e83 100644
--- a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
+++ b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
@@ -3,15 +3,39 @@
     jobs:
      - 'java-{project}'
     project:
+     - 'aaf_authz':
+         repo: 'aaf/authz'
+         pom: 'pom.xml'
+     - 'aaf_cadi':
+         repo: 'aaf/cadi'
+         pom: 'pom.xml'
+     - 'aaf_inno':
+         repo: 'aaf/inno'
+         pom: 'pom.xml'
+     - 'aaf_luaplugin':
+         repo: 'aaf/luaplugin'
+         pom: 'pom.xml'
      - 'aai_aai-common':
          repo: 'aai/aai-common'
          pom: 'pom.xml'
      - 'aai_aai-service':
          repo: 'aai/aai-service'
          pom: 'pom.xml'
+     - 'aai_champ':
+         repo: 'aai/champ'
+         pom: 'pom.xml'
      - 'aai_data-router':
          repo: 'aai/data-router'
          pom: 'pom.xml'
+     - 'aai_esr-gui':
+         repo: 'aai/esr-gui'
+         pom: 'pom.xml'
+     - 'aai_esr-server':
+         repo: 'aai/esr-server'
+         pom: 'pom.xml'
+     - 'aai_gizmo':
+         repo: 'aai/gizmo'
+         pom: 'pom.xml'
      - 'aai_logging-service':
          repo: 'aai/logging-service'
          pom: 'pom.xml'
@@ -45,12 +69,45 @@
      - 'appc_deployment':
          repo: 'appc/deployment'
          pom: 'pom.xml'
+     - 'ccsdk_dashboard':
+         repo: 'ccsdk/dashboard'
+         pom: 'pom.xml'
+     - 'ccsdk_distribution':
+         repo: 'ccsdk/distribution'
+         pom: 'pom.xml'
      - 'ccsdk_parent':
          repo: 'ccsdk/parent'
          pom: 'pom.xml'
+     - 'ccsdk_platform_blueprints':
+         repo: 'ccsdk/platform/blueprints'
+         pom: 'pom.xml'
+     - 'ccsdk_platform_nbapi':
+         repo: 'ccsdk/platform/nbapi'
+         pom: 'pom.xml'
+     - 'ccsdk_platform_plugins':
+         repo: 'ccsdk/platform/plugins'
+         pom: 'pom.xml'
+     - 'ccsdk_sli_adaptors':
+         repo: 'ccsdk/sli/adaptors'
+         pom: 'pom.xml'
      - 'ccsdk_sli_core':
          repo: 'ccsdk/sli/core'
          pom: 'pom.xml'
+     - 'ccsdk_sli_northbound':
+         repo: 'ccsdk/sli/northbound'
+         pom: 'pom.xml'
+     - 'ccsdk_sli_plugins':
+         repo: 'ccsdk/sli/plugins'
+         pom: 'pom.xml'
+     - 'ccsdk_storage_esaas':
+         repo: 'ccsdk/storage/esaas'
+         pom: 'pom.xml'
+     - 'ccsdk_storage_pgaas':
+         repo: 'ccsdk/storage/pgaas'
+         pom: 'pom.xml'
+     - 'ccsdk_utils':
+         repo: 'ccsdk/utils'
+         pom: 'pom.xml'
      - 'clamp':
          repo: 'clamp'
          pom: 'pom.xml'
@@ -87,24 +144,135 @@
      - 'dcae_pgaas_cdf_src_cdf-prop-value_cdf-util':
          repo: 'dcae/pgaas'
          pom: 'cdf/src/cdf-prop-value/cdf-util/pom.xml'
+     - 'dcaegen2':
+         repo: 'dcaegen2'
+         pom: 'pom.xml'
+     - 'dcaegen2_analytics':
+         repo: 'dcaegen2/analytics'
+         pom: 'pom.xml'
+     - 'dcaegen2_analytics_tca':
+         repo: 'dcaegen2/analytics/tca'
+         pom: 'pom.xml'
+     - 'dcaegen2_collectors':
+         repo: 'dcaegen2/collectors'
+         pom: 'pom.xml'
+     - 'dcaegen2_collectors_snmptrap':
+         repo: 'dcaegen2/collectors/snmptrap'
+         pom: 'pom.xml'
+     - 'dcaegen2_collectors_ves':
+         repo: 'dcaegen2/collectors/ves'
+         pom: 'pom.xml'
+     - 'dcaegen2_deployments':
+         repo: 'dcaegen2/deployments'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform':
+         repo: 'dcaegen2/platform'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_blueprints':
+         repo: 'dcaegen2/platform/blueprints'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_cdapbroker':
+         repo: 'dcaegen2/platform/cdapbroker'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_cli':
+         repo: 'dcaegen2/platform/cli'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_configbinding':
+         repo: 'dcaegen2/platform/configbinding'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_deployment-handler':
+         repo: 'dcaegen2/platform/deployment-handler'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_inventory-api':
+         repo: 'dcaegen2/platform/inventory-api'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_plugins':
+         repo: 'dcaegen2/platform/plugins'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_policy-handler':
+         repo: 'dcaegen2/platform/policy-handler'
+         pom: 'pom.xml'
+     - 'dcaegen2_platform_servicechange-handler':
+         repo: 'dcaegen2/platform/servicechange-handler'
+         pom: 'pom.xml'
+     - 'dcaegen2_utils':
+         repo: 'dcaegen2/utils'
+         pom: 'pom.xml'
      - 'demo':
          repo: 'demo'
          pom: 'pom.xml'
+     - 'dmaap_buscontroller':
+         repo: 'dmaap/buscontroller'
+         pom: 'pom.xml'
+     - 'dmaap_datarouter':
+         repo: 'dmaap/datarouter'
+         pom: 'pom.xml'
+     - 'dmaap_dbcapi':
+         repo: 'dmaap/dbcapi'
+         pom: 'pom.xml'
+     - 'dmaap_messagerouter_dmaapclient':
+         repo: 'dmaap/messagerouter/dmaapclient'
+         pom: 'pom.xml'
+     - 'dmaap_messagerouter_messageservice':
+         repo: 'dmaap/messagerouter/messageservice'
+         pom: 'pom.xml'
+     - 'dmaap_messagerouter_mirroragent':
+         repo: 'dmaap/messagerouter/mirroragent'
+         pom: 'pom.xml'
+     - 'dmaap_messagerouter_msgrtr':
+         repo: 'dmaap/messagerouter/msgrtr'
+         pom: 'pom.xml'
      - 'ecompsdkos_ecomp-sdk':
          repo: 'ecompsdkos'
          pom: 'ecomp-sdk/pom.xml'
+     - 'holmes_common':
+         repo: 'holmes/common'
+         pom: 'pom.xml'
+     - 'holmes_dsa':
+         repo: 'holmes/dsa'
+         pom: 'pom.xml'
+     - 'holmes_engine-management':
+         repo: 'holmes/engine-management'
+         pom: 'pom.xml'
+     - 'holmes_rule-management':
+         repo: 'holmes/rule-management'
+         pom: 'pom.xml'
+     - 'integration':
+         repo: 'integration'
+         pom: 'pom.xml'
+     - 'modeling_toscaparsers_javatoscachecker':
+         repo: 'modeling/toscaparsers'
+         pom: 'javatoscachecker/pom.xml'
+     - 'modeling_toscaparsers_nfvparser':
+         repo: 'modeling/toscaparsers'
+         pom: 'nfvparser/pom.xml'
      - 'msb_apigateway':
          repo: 'msb/apigateway'
          pom: 'pom.xml'
      - 'msb_discovery':
          repo: 'msb/discovery'
          pom: 'pom.xml'
+     - 'msb_java-sdk':
+         repo: 'msb/java-sdk'
+         pom: 'pom.xml'
+     - 'msb_swagger-sdk':
+         repo: 'msb/swagger-sdk'
+         pom: 'pom.xml'
      - 'mso':
          repo: 'mso'
          pom: 'pom.xml'
      - 'mso_libs':
          repo: 'mso/libs'
          pom: 'pom.xml'
+     - 'multicloud_framework':
+         repo: 'multicloud/framework'
+         pom: 'pom.xml'
+     - 'multicloud_openstack':
+         repo: 'multicloud/openstack'
+         pom: 'pom.xml'
+     - 'multicloud_openstack_vmware':
+         repo: 'multicloud/openstack/vmware'
+         pom: 'pom.xml'
      - 'ncomp_cdap':
          repo: 'ncomp/cdap'
          pom: 'pom.xml'
@@ -126,9 +294,18 @@
      - 'ncomp_utils':
          repo: 'ncomp/utils'
          pom: 'pom.xml'
+     - 'oom_registrator':
+         repo: 'oom'
+         pom: 'registrator/pom.xml'
+     - 'oom_registrator':
+         repo: 'oom/registrator'
+         pom: 'pom.xml'
      - 'oparent':
          repo: 'oparent'
          pom: 'pom.xml'
+     - 'policy_api':
+         repo: 'policy/api'
+         pom: 'pom.xml'
      - 'policy_common':
          repo: 'policy/common'
          pom: 'pom.xml'
@@ -144,9 +321,21 @@
      - 'policy_engine':
          repo: 'policy/engine'
          pom: 'pom.xml'
+     - 'policy_gui':
+         repo: 'policy/gui'
+         pom: 'pom.xml'
+     - 'policy_pap':
+         repo: 'policy/pap'
+         pom: 'pom.xml'
+     - 'policy_pdp':
+         repo: 'policy/pdp'
+         pom: 'pom.xml'
      - 'portal':
          repo: 'portal'
          pom: 'pom.xml'
+     - 'portal_sdk_ecomp-sdk':
+         repo: 'portal/sdk'
+         pom: 'ecomp-sdk/pom.xml'
      - 'sdc':
          repo: 'sdc'
          pom: 'pom.xml'
@@ -156,12 +345,18 @@
      - 'sdc_sdc-distribution-client':
          repo: 'sdc/sdc-distribution-client'
          pom: 'pom.xml'
+     - 'sdc_sdc-docker-base':
+         repo: 'sdc/sdc-docker-base'
+         pom: 'pom.xml'
      - 'sdc_sdc-titan-cassandra':
          repo: 'sdc/sdc-titan-cassandra'
          pom: 'pom.xml'
      - 'sdc_sdc-tosca':
          repo: 'sdc/sdc-tosca'
          pom: 'pom.xml'
+     - 'sdc_sdc-workflow-designer':
+         repo: 'sdc/sdc-workflow-designer'
+         pom: 'pom.xml'
      - 'sdc_sdc_common':
          repo: 'sdc/sdc_common'
          pom: 'pom.xml'
@@ -186,45 +381,75 @@
      - 'so_libs':
          repo: 'so/libs'
          pom: 'pom.xml'
+     - 'testsuite_heatbridge':
+         repo: 'testsuite'
+         pom: 'heatbridge/pom.xml'
+     - 'testsuite_heatbridge':
+         repo: 'testsuite/heatbridge'
+         pom: 'pom.xml'
      - 'ui_dmaapbc':
          repo: 'ui/dmaapbc'
          pom: 'pom.xml'
-     - 'vfc_gvnfm_vnflcm_lcm':
+     - 'usecase-ui':
+         repo: 'usecase-ui'
+         pom: 'pom.xml'
+     - 'vfc_gvnfm_vnflcm':
          repo: 'vfc/gvnfm/vnflcm'
-         pom: 'lcm/pom.xml'
-     - 'vfc_gvnfm_vnfmgr_mgr':
+         pom: 'pom.xml'
+     - 'vfc_gvnfm_vnfmgr':
          repo: 'vfc/gvnfm/vnfmgr'
-         pom: 'mgr/pom.xml'
-     - 'vfc_gvnfm_vnfres_res':
+         pom: 'pom.xml'
+     - 'vfc_gvnfm_vnfres':
          repo: 'vfc/gvnfm/vnfres'
-         pom: 'res/pom.xml'
-     - 'vfc_nfvo_driver_ems_ems_sems_boco_ems-driver':
+         pom: 'pom.xml'
+     - 'vfc_nfvo_catalog':
+         repo: 'vfc/nfvo/catalog'
+         pom: 'pom.xml'
+     - 'vfc_nfvo_driver_ems':
          repo: 'vfc/nfvo/driver/ems'
-         pom: 'ems/sems/boco/ems-driver/pom.xml'
-     - 'vfc_nfvo_driver_sfc_zte_sfc-driver':
+         pom: 'pom.xml'
+     - 'vfc_nfvo_driver_sfc':
          repo: 'vfc/nfvo/driver/sfc'
-         pom: 'zte/sfc-driver/pom.xml'
-     - 'vfc_nfvo_driver_vnfm_gvnfm_gvnfmadapter':
+         pom: 'pom.xml'
+     - 'vfc_nfvo_driver_vnfm_gvnfm':
          repo: 'vfc/nfvo/driver/vnfm/gvnfm'
-         pom: 'gvnfmadapter/pom.xml'
-     - 'vfc_nfvo_driver_vnfm_gvnfm_juju_juju-vnfmadapter':
-         repo: 'vfc/nfvo/driver/vnfm/gvnfm'
-         pom: 'juju/juju-vnfmadapter/pom.xml'
-     - 'vfc_nfvo_driver_vnfm_svnfm_huawei_vnfmadapter':
+         pom: 'pom.xml'
+     - 'vfc_nfvo_driver_vnfm_svnfm':
          repo: 'vfc/nfvo/driver/vnfm/svnfm'
-         pom: 'huawei/vnfmadapter/pom.xml'
-     - 'vfc_nfvo_driver_vnfm_svnfm_zte_vmanager':
-         repo: 'vfc/nfvo/driver/vnfm/svnfm'
-         pom: 'zte/vmanager/pom.xml'
+         pom: 'pom.xml'
      - 'vfc_nfvo_lcm':
          repo: 'vfc/nfvo/lcm'
          pom: 'pom.xml'
      - 'vfc_nfvo_resmanagement':
          repo: 'vfc/nfvo/resmanagement'
          pom: 'pom.xml'
+     - 'vfc_nfvo_wfengine_activiti-extension':
+         repo: 'vfc/nfvo/wfengine'
+         pom: 'activiti-extension/pom.xml'
+     - 'vfc_nfvo_wfengine_wfenginemgrservice':
+         repo: 'vfc/nfvo/wfengine'
+         pom: 'wfenginemgrservice/pom.xml'
+     - 'vfc_nfvo_wfengine_wso2':
+         repo: 'vfc/nfvo/wfengine'
+         pom: 'wso2/pom.xml'
      - 'vid':
          repo: 'vid'
          pom: 'pom.xml'
      - 'vid_asdcclient':
          repo: 'vid/asdcclient'
          pom: 'pom.xml'
+     - 'vnfsdk_functest':
+         repo: 'vnfsdk/functest'
+         pom: 'pom.xml'
+     - 'vnfsdk_lctest':
+         repo: 'vnfsdk/lctest'
+         pom: 'pom.xml'
+     - 'vnfsdk_pkgtools':
+         repo: 'vnfsdk/pkgtools'
+         pom: 'pom.xml'
+     - 'vnfsdk_refrepo':
+         repo: 'vnfsdk/refrepo'
+         pom: 'pom.xml'
+     - 'vnfsdk_validation':
+         repo: 'vnfsdk/validation'
+         pom: 'pom.xml'
diff --git a/bootstrap/jenkins/vagrant/settings.xml b/bootstrap/jenkins/vagrant/settings.xml
index 41da9be..60fd7e8 100644
--- a/bootstrap/jenkins/vagrant/settings.xml
+++ b/bootstrap/jenkins/vagrant/settings.xml
@@ -33,6 +33,17 @@
             <enabled>true</enabled>
           </snapshots>
         </repository>
+		<repository>
+          <id>open-o-thirdparty</id>
+          <name>open-o-thirdparty</name>
+          <url>https://nexus.open-o.org/content/repositories/thirdparty/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
       </repositories>
       <pluginRepositories>
         <pluginRepository>
diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index 08c5a57..c48190a 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -56,6 +56,7 @@
 | vid        | Virtual Infrastructure Development  |
 | vfc        | Virtual Function Controller         |
 | multicloud | Multi Cloud                         |
+| ccsdk      | Common Controller SDK               |
 | all_in_one | All ONAP services in a VM           |
 | testing    | Unit Test VM                        |
 
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
index ff35908..8417cc9 100644
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -160,7 +160,7 @@
       end
       all_in_one.vm.provision 'shell' do |s|
         s.path = 'vagrant_utils/postinstall.sh'
-        s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc']
+        s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc', 'ccsdk']
         s.env = conf
       end
     end
@@ -345,6 +345,7 @@
       vfc.vm.provider "openstack" do |v|
         v.server_name = 'vfc'
       end
+      vfc.vm.provision 'docker'
       vfc.vm.provision 'shell' do |s|
         s.path = 'vagrant_utils/postinstall.sh'
         s.args = ['vfc']
@@ -365,6 +366,19 @@
       end
     end
 
+    config.vm.define :ccsdk do |ccsdk|
+      ccsdk.vm.hostname = 'ccsdk'
+      ccsdk.vm.network :private_network, ip: '192.168.50.17'
+      ccsdk.vm.provider "openstack" do |v|
+        v.server_name = 'ccsdk'
+      end
+      ccsdk.vm.provision 'shell' do |s|
+        s.path = 'vagrant_utils/postinstall.sh'
+        s.args = ['ccsdk']
+        s.env = conf
+      end
+    end
+
   when 'testing'
 
     config.vm.define :testing do |testing|
diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions
index 9e06010..18a4659 100755
--- a/bootstrap/vagrant-onap/lib/_onap_functions
+++ b/bootstrap/vagrant-onap/lib/_onap_functions
@@ -28,6 +28,15 @@
     docker logout
 }
 
+# pull_onap_image() - Pull Docker container image from a Docker Registry Hub
+function pull_onap_image {
+    local image=$1
+    local tag=$2
+    docker_openecomp_login
+    pull_docker_image $nexus_docker_repo/onap/${image}:$docker_version $tag
+    docker logout
+}
+
 # configure_bind()- Configure bind utils
 function configure_bind {
     _install_bind
diff --git a/bootstrap/vagrant-onap/lib/ccsdk b/bootstrap/vagrant-onap/lib/ccsdk
new file mode 100755
index 0000000..6ea829f
--- /dev/null
+++ b/bootstrap/vagrant-onap/lib/ccsdk
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+set -o xtrace
+
+source /var/onap/functions
+
+ccsdk_src_folder=$git_src_folder/ccsdk
+ccsdk_repos=("dashboard" "distribution" "parent" "platform/blueprints" "platform/nbapi" "platform/plugins" "sli" "sli/adaptors" "sli/core" "sli/northbound" "sli/plugins" "storage" "storage/esaas" "storage/pgaas" "utils")
+
+# clone_ccsdk_repos() - Function that clones the CCSDK repositories
+function clone_ccsdk_repos {
+    clone_repo ccsdk $ccsdk_src_folder
+
+    for dirc in ${ccsdk_repos[@]}; do
+        clone_repo ccsdk/$dirc $ccsdk_src_folder/$dirc
+    done
+}
+
+# compile_ccsdk_repos() - 
+function compile_ccsdk_repos {
+    compile_src ccsdk $ccsdk_src_folder
+
+    for dirc in ${ccsdk_repos[@]}; do
+        compile_src $ccsdk_src_folder/$dirc
+    done
+}
+
+# _build_ccsdk_images() - Build CCSDK Docker images from source code
+function _build_ccsdk_images {
+    install_package unzip
+    clone_repo ccsdk/distribution $ccsdk_src_folder/distribution
+    compile_src $ccsdk_src_folder/distribution
+    for image in ubuntu opendaylight odlsli dgbuilder-docker; do
+        build_docker_image $ccsdk_src_folder/distribution/$image docker
+    done
+}
+
+# get_ccsdk_images() - Get CCSDK Docker images
+function get_ccsdk_images {
+    if [[ "$build_image" == "True" ]]; then
+        _build_ccsdk_images
+    else
+        for image in ubuntu odl dgbuilder; do
+            pull_onap_image ccsdk-$image-image
+        done
+    fi
+
+}
+
+# install_ccsdk() - 
+function install_ccsdk {
+    echo "pass"
+}
+
+# init_ccsdk() - Function that initialize Multi Cloud services
+function init_ccsdk {
+    if [[ "$clone_repo" == "True" ]]; then
+        clone_ccsdk_repos
+        if [[ "$compile_repo" == "True" ]]; then
+            compile_ccsdk_repos
+        fi
+    fi
+    install_ccsdk
+}
diff --git a/bootstrap/vagrant-onap/lib/robot b/bootstrap/vagrant-onap/lib/robot
index 4102680..34b431a 100755
--- a/bootstrap/vagrant-onap/lib/robot
+++ b/bootstrap/vagrant-onap/lib/robot
@@ -2,12 +2,34 @@
 
 set -o xtrace
 
-# install_testsuite_properties() - Download and install testsuite properties
-function install_testsuite_properties {
+source /var/onap/functions
+
+robot_src_folder=$git_src_folder/testsuite
+robot_repos=("heatbridge" "properties" "python-testing-utils")
+
+# clone_robot_repos() - Function that clones Robot source repo.
+function clone_robot_repos {
+    clone_repo testsuite $robot_src_folder
+
+    for dirc in ${robot_repos[@]}; do
+        clone_repo testsuite/$dirc $robot_src_folder/$dirc
+    done
+}
+
+# compile_robot_repos() - Function that compile Robot source repo.
+function compile_robot_repos {
+    install_python_package tox
+    compile_src $robot_src_folder
+
+    for dirc in ${robot_repos[@]}; do
+        compile_src $robot_src_folder/$dirc
+    done
+}
+
+# _setup_ete_folder() - Create and copy ete folder structure
+function _setup_ete_folder {
     mkdir -p /opt/eteshare/config
 
-    local src_folder=/opt/testsuite/properties
-    clone_repo testsuite/properties $src_folder
     cp $src_folder/integration_* /opt/eteshare/config
     cp $src_folder/vm_config2robot.sh /opt/eteshare/config
     cp $src_folder/ete.sh /opt
@@ -17,15 +39,26 @@
     chmod +x /opt/demo.sh
 }
 
-# run_testsuite_image() - Pull and run testsuite docker image
-function run_testsuite_image {
+# get_robot_images() - Pull or build the Robot Docker images
+function get_robot_images {
     pull_openecomp_image testsuite
+}
+
+# install_robot() - Run Robot services
+function install_robot {
     docker rm -f openecompete_container
     docker run -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version
 }
 
 # init_robot() - Function that initialize Robot services
 function init_robot {
-    install_testsuite_properties
-    run_testsuite_image
+    if [[ "$clone_repo" == "True" ]]; then
+        clone_robot_repos
+        _setup_ete_folder
+        if [[ "$compile_repo" == "True" ]]; then
+            compile_robot_repos
+        fi
+    fi
+    get_robot_images
+    install_robot
 }
diff --git a/bootstrap/vagrant-onap/lib/sdnc b/bootstrap/vagrant-onap/lib/sdnc
index c7c2745..770f6be 100755
--- a/bootstrap/vagrant-onap/lib/sdnc
+++ b/bootstrap/vagrant-onap/lib/sdnc
@@ -3,6 +3,7 @@
 set -o xtrace
 
 source /var/onap/functions
+source /var/onap/ccsdk
 
 sdnc_src_folder=$git_src_folder/openecomp/sdnc
 sdnc_repos=("core" "adaptors" "northbound" "plugins" "oam")
@@ -28,6 +29,7 @@
 function _build_sdnc_images {
     local folder=$sdnc_src_folder/oam
 
+    get_ccsdk_images
     install_package unzip
     clone_repo sdnc/oam $folder
     # The OAM code depends on all the SDNC repos which should be downloaded and compiled first
diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc
index 9c232be..2d14182 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -19,18 +19,15 @@
 function compile_all_vfc_repos {
     install_python_package tox
 
-    pushd $src_folder/gvnfm/vnflcm/lcm
-    tox -e py27
-    popd
+    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
+        tox -e py27
+        popd
+    done
 
-    # TODO(sshank): Add compile for other vfc_repos. (Both Java and Python based.)
-    # Python based:
-    # gvnfm/vnflcm/lcm
-    # gvnfm/vnfmgr/mgr
-    # gvnfm/vnfres/res
-    # nfvo/driver/vnfm/gvnfm/gvnfmadapter
-    # nfvo/driver/vnfm/svnfm/zte/vmanager
-    # nfvo/lcm
+    # TODO(sshank): Add compile for other vfc_repos. (Java based.)
 
     # Java based:
     # nfvo/catalog
@@ -42,10 +39,81 @@
     # 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_image.sh
+    popd
+}
+
+# get_vfc_images() - Build VFC docker images
+function get_vfc_images {
+    if [[ "$build_image" == "True" ]]; then
+        install_docker
+        # Separate methods are required since the image build process will change.
+        build_gvnfm_lcm_image
+        build_gvnfm_vnfmgr_image
+        build_gvnfm_vnfres_image
+        build_nfvo_lcm_image
+        build_nfvo_vnfm_gvnfmadapter_image
+        # TODO(sshank): Add other VFC component docker image builds.
+    else
+        pull_onap_image vfc/gvnfm/vnflcm/lcm
+        pull_onap_image vfc/gvnfm/vnfmgr/mgr
+        pull_onap_image vfc/gvnfm/vnfres/res
+        pull_onap_image vfc/nfvo/lcm
+        pull_onap_image vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter
+    fi
+}
+
 # install_vfc() - Download and install vfc service from source code
 function install_vfc {
-    # TODO(sshank): Add further installation steps if necessary.
-    echo ""
+    nslcm_image=`docker images | grep nslcm | grep latest| awk '{print $1 ":" $2}'`
+    vnflcm_image=`docker images | grep vnflcm | grep latest| awk '{print $1 ":" $2}'`
+    vnfmgr_image=`docker images | grep vnfmgr | grep latest| awk '{print $1 ":" $2}'`
+    vnfres_image=`docker images | grep vnfres | grep latest| awk '{print $1 ":" $2}'`
+    gvnfmdriver_image=`docker images | grep gvnfmdriver | grep latest| awk '{print $1 ":" $2}'`
+
+    docker run -d --name vfc-nslcm -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image
+    docker run -d --name vfc-vnflcm -p 8801:8801 -e MSB_ADDR=127.0.0.1 $vnflcm_image
+    docker run -d --name vfc-vnfmgr -p 8803:8803 -e MSB_ADDR=127.0.0.1 $vnfmgr_image
+    docker run -d --name vfc-vnfres -p 8802:8802 -e MSB_ADDR=127.0.0.1 $vnfres_image
+    docker run -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=127.0.0.1 $gvnfmdriver_image
+
+    # TODO(sshank): Run other VFC component docker images.
 }
 
 # init_vfc() - Function that initialize VF-C services
@@ -54,10 +122,11 @@
 
     if [[ "$clone_repo" == "True" ]]; then
         clone_all_vfc_repos
-        if [[ "$compile_repo" == "False" ]]; then
+        if [[ "$compile_repo" == "True" ]]; then
             compile_all_vfc_repos
         fi
     fi
 
+    get_vfc_images
     install_vfc
 }
diff --git a/bootstrap/vagrant-onap/tests/test_aai b/bootstrap/vagrant-onap/tests/test_aai
index 0fa82d5..5ff62c1 100644
--- a/bootstrap/vagrant-onap/tests/test_aai
+++ b/bootstrap/vagrant-onap/tests/test_aai
@@ -4,7 +4,8 @@
 source /var/onap/aai
 
 covered_functions=(
-"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "start_aai_microservices" "install_hbase" "install_ajsc_aai" "install_model_loader"
+#"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "start_aai_microservices" "install_hbase" "install_ajsc_aai" "install_model_loader"
+"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "install_hbase" "install_ajsc_aai" "install_model_loader"
 )
 
 # TODO(electrocucaracha): Remove/Modify functions that doesn't support proxy settings
@@ -61,23 +62,11 @@
     asserts_file_exist $aai_src_folder/aai-common/aai-core/target/aai-core-1.1.0-SNAPSHOT.jar
     asserts_file_exist $aai_src_folder/aai-common/aai-schema/target/aai-schema-1.1.0-SNAPSHOT.jar
 
-    asserts_file_exist $aai_src_folder/aai-service/aai-schema/target/aai-schema-1.1.0-SNAPSHOT.jar
-    asserts_file_exist $aai_src_folder/aai-service/ajsc-aai/target/aai.jar
-    asserts_file_exist $aai_src_folder/aai-service/annotations/target/annotations-1.1.0-SNAPSHOT.jar
-
-    asserts_file_exist $aai_src_folder/data-router/target/data-router-1.1.0-SNAPSHOT.jar
-
     asserts_file_exist $aai_src_folder/logging-service/common-logging/target/common-logging-1.1.0-SNAPSHOT.jar
     asserts_file_exist $aai_src_folder/logging-service/eelf-logging/target/eelf-logging-1.1.0-SNAPSHOT.jar
     asserts_file_exist $aai_src_folder/logging-service/logging-api/target/logging-api-1.1.0-SNAPSHOT.jar
 
-    asserts_file_exist $aai_src_folder/model-loader/target/model-loader-1.1.0-SNAPSHOT.jar
     asserts_file_exist $aai_src_folder/resources/aai-resources/target/aai-resources.jar
-    asserts_file_exist $aai_src_folder/rest-client/target/rest-client-1.1.0-SNAPSHOT.jar
-    asserts_file_exist $aai_src_folder/router-core/target/router-core-1.1.0-SNAPSHOT.jar
-    asserts_file_exist $aai_src_folder/search-data-service/target/search-data-service-1.1.0-SNAPSHOT.jar
-    asserts_file_exist $aai_src_folder/sparky-be/target/sparky-be-1.0-SNAPSHOT.jar
-    asserts_file_exist $aai_src_folder/sparky-fe/target/sparky-fe-1.0.0-SNAPSHOT.war
     asserts_file_exist $aai_src_folder/traversal/aai-traversal/target/traversal.jar
 }
 
diff --git a/bootstrap/vagrant-onap/tests/test_appc b/bootstrap/vagrant-onap/tests/test_appc
index 0d46ef4..2290f16 100644
--- a/bootstrap/vagrant-onap/tests/test_appc
+++ b/bootstrap/vagrant-onap/tests/test_appc
@@ -36,7 +36,7 @@
     asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-sshd/target/appc-ssh-adapter-sshd-1.1.0-SNAPSHOT.jar
     asserts_file_exist $appc_src_folder/appc-adapters/appc-ssh-adapter/appc-ssh-adapter-tests/target/appc-ssh-adapter-tests-1.1.0-SNAPSHOT.jar
 
-    for component in appc-asdc-listener appc-event-listener appc-oam appc-provider; do
+    for component in appc-event-listener appc-oam appc-provider; do
         asserts_file_exist $appc_src_folder/$component/$component-bundle/target/$component-bundle-1.1.0-SNAPSHOT.jar
         asserts_file_exist $appc_src_folder/$component/$component-features/target/$component-features-1.1.0-SNAPSHOT.jar
         asserts_file_exist $appc_src_folder/$component/$component-installer/target/$component-1.1.0-SNAPSHOT.zip
@@ -45,8 +45,6 @@
         asserts_file_exist $appc_src_folder/$component/$component-model/target/$component-model-1.1.0-SNAPSHOT.jar
     done
 
-    asserts_file_exist $appc_src_folder/appc-asdc-listener/appc-yang-generator/target/appc-yang-generator-1.1.0-SNAPSHOT.jar
-
     asserts_file_exist $appc_src_folder/appc-common/target/appc-common-1.1.0-SNAPSHOT.jar
 
     asserts_file_exist $appc_src_folder/appc-dg/appc-dg-shared/appc-dg-dependency-model/target/appc-dg-dependency-model-1.1.0-SNAPSHOT.jar
@@ -85,9 +83,7 @@
     get_appc_images
     install_appc
 
-    asserts_image_running openecomp/dgbuilder-sdnc-image
     asserts_image_running openecomp/appc-image
-    asserts_image_running mysql/mysql-server:5.6
 }
 
 if [ "$1" != '*' ]; then
diff --git a/bootstrap/vagrant-onap/tests/test_ccsdk b/bootstrap/vagrant-onap/tests/test_ccsdk
new file mode 100644
index 0000000..2d2b87a
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_ccsdk
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/ccsdk
+
+covered_functions=(
+"clone_ccsdk_repos" "compile_ccsdk_repos" "get_ccsdk_images"
+)
+
+# test_clone_ccsdk_repos() - Verify that CCSDL repositories are retrieved properly
+function test_clone_ccsdk_repos {
+    clone_ccsdk_repos
+
+    asserts_file_exist $ccsdk_src_folder/dashboard/pom.xml
+    asserts_file_exist $ccsdk_src_folder/distribution/pom.xml
+    asserts_file_exist $ccsdk_src_folder/parent/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/blueprints/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/nbapi/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/plugins/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/adaptors/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/core/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/plugins/pom.xml
+    asserts_file_exist $ccsdk_src_folder/storage/esaas/pom.xml
+    asserts_file_exist $ccsdk_src_folder/storage/pgaas/pom.xml
+    asserts_file_exist $ccsdk_src_folder/utils/pom.xml
+}
+
+# test_compile_ccsdk_repos() - Verify the compilation of CCSDK repositories
+function compile_ccsdk_repos {
+    clone_ccsdk_repos
+    compile_ccsdk_repos
+
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-common/target/oom-app-common-1.1.0-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-os/target/oom-app-os-1.1.0-SNAPSHOT.war
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-overlay/target/oom-app-overlay-1.1.0-SNAPSHOT.war
+    asserts_file_exist $ccsdk_src_folder/distribution/dgbuilder/target/dgbuilder.0.1.0-SNAPSHOT.zip
+    asserts_file_exist $ccsdk_src_folder/distribution/platform-logic/installer/target/platform-logic-installer-0.1.0-SNAPSHOT.zip
+    asserts_file_exist $ccsdk_src_folder/platform/nbapi/target/commonnbapi-0.0.3.war
+
+    for adaptor in aai-service mdsal-resource resource-assignment sql-resource; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/$component/target/$adaptor-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/installer/target/sdnc-$adaptor-0.1.0-SNAPSHOT-installer.zip
+    done
+
+    for core in dblib filters sli sliapi sliPluginUtils; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/core/$core/$component/target/$core-$component-0.1.2-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/core/$core/installer/target/sdnc-$core-0.1.2-SNAPSHOT-installer.zip
+    done
+    asserts_file_exist $ccsdk_src_folder/sli/core/sli/common/target/sli-common-0.1.2-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/core/sli/recording/target/sli-recording-0.1.2-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/core/sliapi/model/target/sliapi-model-0.1.2-SNAPSHOT.jar
+
+    for northbound in asdcApi dataChange; do
+        for component in features model provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/$component/target/$northbound-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/installer/target/sdnc-$northbound-0.1.0-SNAPSHOT-installer.zip
+    done
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/dmaap-listener/target/dmaap-listener-0.1.0-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/ueb-listener/target/ueb-listener-0.1.0-SNAPSHOT.jar
+
+    for plugin in properties-node restapi-call-node; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/$component/target/$plugin-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/installer/target/sdnc-$plugin-0.1.0-SNAPSHOT-installer.zip
+    done
+}
+
+# test_get_ccsdk_images() - Verify that CCSDK images are retrieved or built properly
+function test_get_ccsdk_images {
+    clone_ccsdk_repos
+    get_ccsdk_images
+
+    for image in dgbuilder odlsli odl ubuntu; do
+        asserts_image onap/ccsdk-$image-image
+    done
+}
+
+if [ "$1" != '*' ]; then
+    unset covered_functions
+    covered_functions=$1
+fi
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tests/test_functions b/bootstrap/vagrant-onap/tests/test_functions
index ea26892..17a6631 100644
--- a/bootstrap/vagrant-onap/tests/test_functions
+++ b/bootstrap/vagrant-onap/tests/test_functions
@@ -102,7 +102,6 @@
     install_python
     asserts_installed_package python2.7
     asserts_installed_package python-dev
-    asserts_file_exist /usr/local/bin/tox
 }
 
 # test_install_docker() - Verify the correct installation of Docker
@@ -158,13 +157,12 @@
 
 # test_build_docker_image() - Verify that a docker image is created from source code
 function test_build_docker_image {
-    clone_repo portal
-    compile_src $git_src_folder/portal/ecomp-portal-widget-ms
-    build_docker_image $git_src_folder/portal/ecomp-portal-widget-ms
+    clone_repo ccsdk/distribution
+    build_docker_image $git_src_folder/ccsdk/distribution/ubuntu docker
 
-    asserts_image widget-ms
+    asserts_image onap/ccsdk-ubuntu-image
 
-    docker rmi -f widget-ms
+    docker rmi -f onap/ccsdk-ubuntu-image
 }
 
 if [ "$1" != '*' ]; then
diff --git a/bootstrap/vagrant-onap/tests/test_multicloud b/bootstrap/vagrant-onap/tests/test_multicloud
index 4767152..3d60533 100644
--- a/bootstrap/vagrant-onap/tests/test_multicloud
+++ b/bootstrap/vagrant-onap/tests/test_multicloud
@@ -22,7 +22,6 @@
     compile_multicloud_repos
 
     asserts_file_exist $multicloud_src_folder/openstack/newton/target/multicloud-openstack-newton-1.0.0-SNAPSHOT.zip
-    asserts_file_exist $multicloud_src_folder/openstack/vmware/vio/target/multivimdriver-vio-1.1.0-SNAPSHOT.zip
 }
 
 # test_install_multicloud() - Verify the built and start of Multi Cloud services
diff --git a/bootstrap/vagrant-onap/tests/test_robot b/bootstrap/vagrant-onap/tests/test_robot
new file mode 100644
index 0000000..702401e
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_robot
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/robot
+
+covered_functions=(
+"clone_robot_repos" "compile_robot_repos" "get_robot_images" "install_robot"
+)
+
+# test_clone_robot_repos() - Verify that Robot repositories are cloned properly
+function test_clone_robot_repos {
+    clone_robot_repos
+
+    asserts_file_exist $robot_src_folder/LICENSE.TXT
+    asserts_file_exist $robot_src_folder/heatbridge/pom.xml
+    asserts_file_exist $robot_src_folder/properties/LICENSE.TXT
+    asserts_file_exist $robot_src_folder/python-testing-utils/LICENSE.TXT
+}
+
+# test_compile_robot_repos() - Verify that Robot source code can be compiled properly
+function test_compile_robot_repos {
+    clone_robot_repos
+    compile_robot_repos
+
+    asserts_file_exist $robot_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl
+}
+
+# test_get_robot_images() - Verify that Robot Docker images are retrieved
+function test_get_mr_images {
+    get_robot_images
+
+    asserts_image testsuite
+}
+
+# test_install_robot() - Verify the built and start of Robot services
+function test_install_message_router {
+    clone_robot_repos
+    get_robot_images
+    install_robot
+
+    asserts_image_running testsuite
+}
+
+if [ "$1" != '*' ]; then
+    unset covered_functions
+    covered_functions=$1
+fi
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tests/test_sdnc b/bootstrap/vagrant-onap/tests/test_sdnc
index a60145f..bc742fa 100644
--- a/bootstrap/vagrant-onap/tests/test_sdnc
+++ b/bootstrap/vagrant-onap/tests/test_sdnc
@@ -60,9 +60,9 @@
     clone_all_sdnc_repos
     get_sdnc_images
 
-    asserts_image openecomp/sdnc-image
-    asserts_image openecomp/admportal-sdnc-image
-    asserts_image openecomp/dgbuilder-sdnc-image
+    asserts_image onap/sdnc-image
+    asserts_image onap/admportal-sdnc-image
+    asserts_image onap/dgbuilder-sdnc-image
     asserts_image mysql/mysql-server:5.6
 }
 
@@ -72,9 +72,9 @@
     get_sdnc_images
     install_sdnc
 
-    asserts_image_running openecomp/dgbuilder-sdnc-image
-    asserts_image_running openecomp/admportal-sdnc-image
-    asserts_image_running openecomp/sdnc-image
+    asserts_image_running onap/ccsdk-dgbuilder-image
+    asserts_image_running onap/admportal-sdnc-image
+    asserts_image_running onap/sdnc-image
     asserts_image_running mysql/mysql-server:5.6
 }
 
diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc
index 3382809..8392e70 100644
--- a/bootstrap/vagrant-onap/tests/test_vfc
+++ b/bootstrap/vagrant-onap/tests/test_vfc
@@ -5,12 +5,17 @@
 
 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"
 )
 
 # test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories
 function test_clone_all_vfc_repos {
-    # TODO(sshank)
-    echo ""
+
+    # TODO(sshank):  Add other asserts
+    asserts_file_exist $src_folder/nfvo/lcm/run.sh
+
 }
 
 # test_compile_all_vfc_repos() - Verify that all the VFC modules are compiled properly
@@ -21,11 +26,30 @@
     # TODO(electrocucaracha): Add asserts_file_exist
 }
 
+# test_get_vfc_images() - Verify all VFC images are built correctly.
+function test_get_vfc_images {
+    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.
+}
+
 # test_install_vfc() - Verify that the VFC are up and running
 function test_install_vfc {
     install_vfc
 
-    # TODO(electrocucaracha): Add whatever asserts are needed
+    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.
 }
 
 if [ "$1" != '*' ]; then
diff --git a/bootstrap/vagrant-onap/tools/Run.ps1 b/bootstrap/vagrant-onap/tools/Run.ps1
index 103dfee..8e6c94f 100644
--- a/bootstrap/vagrant-onap/tools/Run.ps1
+++ b/bootstrap/vagrant-onap/tools/Run.ps1
@@ -25,7 +25,7 @@
 #>
 
 Param(
-    [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "testing")]
+    [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "testing")]
     [Parameter(Mandatory=$True,Position=0)]
     [ValidateNotNullOrEmpty()]
     [String]
diff --git a/bootstrap/vagrant-onap/tools/run.sh b/bootstrap/vagrant-onap/tools/run.sh
index 094577f..08eae01 100755
--- a/bootstrap/vagrant-onap/tools/run.sh
+++ b/bootstrap/vagrant-onap/tools/run.sh
@@ -12,7 +12,7 @@
         Test case to use in testing mode.
 Commands:
     all_in_one  Deploy in all-in-one mode.
-    dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud  Deploy chosen service.
+    dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud|ccsdk  Deploy chosen service.
     testing  Deploy in testing mode.
 EOF
 }
@@ -55,7 +55,7 @@
     "all_in_one" )
         export DEPLOY_MODE='all-in-one'
         ;;
-    "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "multicloud" )
+    "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "multicloud" | "ccsdk" )
         export DEPLOY_MODE='individual'
         ;;
     "testing" )
diff --git a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
index b0e64ad..89a69dd 100755
--- a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
+++ b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
@@ -6,7 +6,6 @@
 
 create_configuration_files
 install_dev_tools
-install_java
 configure_bind
 
 for serv in $@; do
diff --git a/documentation/api-dependencies/onapapidependencies.dot b/documentation/api-dependencies/onapapidependencies.dot
index 99efa94..aa66b3c 100644
--- a/documentation/api-dependencies/onapapidependencies.dot
+++ b/documentation/api-dependencies/onapapidependencies.dot
@@ -15,7 +15,7 @@
  */
 
 /*
-Usage: dot -T png -O onapapidependecies.dot   This cmd will generate a png graph dependency file.
+Usage: dot -T png -O onapapidependencies.dot   This cmd will generate a png graph dependency file.
 Graphiz is the open source tool used to generate the graph.
 Graphiz is available and documented at http://www.graphviz.org
 This text file represents the API dependencies between ONAP projects
@@ -61,6 +61,8 @@
 appc -> aai;			//https://wiki.onap.org/pages/viewpage.action?pageId=6593279#APPCM1ReleasePlanning(AmsterdamRelease)-APIIncomingDependencies
 appc -> multicloud;
 appc -> sdc;
+appc -> ccsdk;
+appc -> dmaap;
 ccsdk -> aai;			//https://wiki.onap.org/display/DW/Release+Planning+Template+%3A+CCSDK+Amsterdam+Release#ReleasePlanningTemplate:CCSDKAmsterdamRelease-APIIncomingDependencies
 ccsdk -> sdc;
 clamp -> dcaegen2;		//https://wiki.onap.org/display/DW/CLAMP+Release+Planning+M1#CLAMPReleasePlanningM1-APIIncomingDependencies
@@ -72,7 +74,8 @@
 dcaegen2 -> dmaap;		//https://wiki.onap.org/display/DW/DCAE+R1+Release+Planning#DCAER1ReleasePlanning-APIIncomingDependencies
 dcaegen2 -> multicloud;
 dcaegen2 -> policy;
-dcaegen2 -> sdc;			
+dcaegen2 -> sdc;
+dmaap -> aaf;			//https://wiki.onap.org/display/DW/DMaaP+Amsterdam+M1+Release#DMaaPAmsterdamM1Release-APIIncomingDependencies			
 extapi -> so;			//https://wiki.onap.org/pages/viewpage.action?pageId=8227006#ExternalAPIFrameworkM1ReleasePlanning(AmsterdamRelease)-APIIncomingDependencies		
 extapi -> sdc;
 holmes -> aai;			//https://wiki.onap.org/pages/viewpage.action?pageId=6593583#HolmesReleasePlanningforAmsterdam-APIIncomingDependencies		
@@ -85,11 +88,13 @@
 policy -> aai;			//https://wiki.onap.org/display/DW/Policy+Framework+R1+-+M1+Release+Planning+Template#PolicyFrameworkR1-M1ReleasePlanningTemplate-APIIncomingDependencies
 policy -> appc;
 policy -> dcaegen2;
+policy -> dmaap;
 policy -> vfc;
 policy -> so;
 portal -> aaf;			//https://wiki.onap.org/pages/viewpage.action?pageId=8227559#PortalPlatformM1ReleasePlanning(AmsterdamRelease)-APIIncomingDependencies
 sdnc -> aai;			//https://wiki.onap.org/display/DW/Release+Planning+Template+%3A+SDNC+Amsterdam+Release#ReleasePlanningTemplate:SDNCAmsterdamRelease-APIIncomingDependencies
 sdnc -> sdc;
+sdnc -> dmaap;
 so -> aai;				//https://wiki.onap.org/display/DW/Service+Orchestrator+Release+Planning#ServiceOrchestratorReleasePlanning-APIIncomingDependencies
 so -> appc;
 so -> multicloud;
diff --git a/pom.xml b/pom.xml
index c19d699..3e0aea3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.onap.oparent</groupId>
     <artifactId>oparent</artifactId>
-    <version>0.1.0</version>
+    <version>0.1.1</version>
   </parent>
   <name>integration</name>
   <groupId>org.onap.integration</groupId>
diff --git a/test/csit/plans/aai/resources/docker-compose.yml b/test/csit/plans/aai/resources/docker-compose.yml
new file mode 100644
index 0000000..ab78236
--- /dev/null
+++ b/test/csit/plans/aai/resources/docker-compose.yml
@@ -0,0 +1,70 @@
+version: '2'
+services:
+  aai-resources.api.simpledemo.openecomp.org:
+    image: ${DOCKER_REGISTRY}/openecomp/aai-resources
+    hostname: aai-resources.api.simpledemo.openecomp.org
+    environment:
+      - AAI_CHEF_ENV=simpledemo
+      - AAI_CHEF_LOC=/var/chef/aai-data/environments
+      - CHEF_BRANCH=master
+      - CHEF_GIT_URL=http://gerrit.onap.org/r/aai
+      - AAI_CORE_VERSION=1.1.0-SNAPSHOT
+    ports:
+      - 8447:8447
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+  aai-traversal.api.simpledemo.openecomp.org:
+    image: ${DOCKER_REGISTRY}/openecomp/aai-traversal
+    hostname: aai-traversal.api.simpledemo.openecomp.org
+    environment:
+      - AAI_CHEF_ENV=simpledemo
+      - AAI_CHEF_LOC=/var/chef/aai-data/environments
+      - CHEF_BRANCH=master
+      - CHEF_GIT_URL=http://gerrit.onap.org/r/aai
+      - AAI_CORE_VERSION=1.1.0-SNAPSHOT
+    ports:
+      - 8446:8446
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+  aai.api.simpledemo.openecomp.org:
+    image: ${AAI_HAPROXY_IMAGE}
+    hostname: aai.api.simpledemo.openecomp.org
+    ports:
+      - 8443:8443
+    links:
+      - aai-resources.api.simpledemo.openecomp.org
+      - aai-traversal.api.simpledemo.openecomp.org
+    volumes:
+      - /dev/log:/dev/log
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+  aai.hbase.simpledemo.openecomp.org:
+    image: ${HBASE_IMAGE}
+    hostname: aai.hbase.simpledemo.openecomp.org
+    ports:
+      - 2181:2181
+      - 8080:8080
+      - 8085:8085
+      - 9090:9090
+      - 16000:16000
+      - 16010:16010
+      - 16201:16201
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+networks:
+  default:
+      driver: bridge
+      driver_opts:
+        com.docker.network.driver.mtu: ${MTU}
diff --git a/test/csit/plans/aai/resources/setup.sh b/test/csit/plans/aai/resources/setup.sh
new file mode 100644
index 0000000..30b4b29
--- /dev/null
+++ b/test/csit/plans/aai/resources/setup.sh
@@ -0,0 +1,95 @@
+#!/bin/bash
+#
+# Copyright © 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.
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+source ${SCRIPTS}/common_functions.sh
+
+NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt)
+NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt)
+NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt)
+DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt)
+DOCKER_REGISTRY=${NEXUS_DOCKER_REPO}
+DOCKER_IMAGE_VERSION=1.1-STAGING-latest
+
+function wait_for_container() {
+
+    CONTAINER_NAME="$1";
+    START_TEXT="$2";
+
+    TIMEOUT=240
+
+    # wait for the real startup
+    AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
+    while [[ ${AMOUNT_STARTUP} -ne 1 ]];
+    do
+        echo "Waiting for '$CONTAINER_NAME' deployment to finish ..."
+        AMOUNT_STARTUP=$(docker logs ${CONTAINER_NAME} 2>&1 | grep "$START_TEXT" | wc -l)
+        if [ "$TIMEOUT" = "0" ];
+        then
+            docker logs ${CONTAINER_NAME};
+            echo "ERROR: $CONTAINER_NAME deployment failed."
+            exit 1
+        fi
+        let TIMEOUT-=1
+        sleep 1
+    done
+}
+
+DOCKER_COMPOSE_CMD="docker-compose";
+export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1);
+export DOCKER_REGISTRY="nexus3.onap.org:10001";
+export AAI_HAPROXY_IMAGE="${AAI_HAPROXY_IMAGE:-aaionap/haproxy}";
+export HBASE_IMAGE="${HBASE_IMAGE:-harisekhon/hbase}";
+
+docker pull ${DOCKER_REGISTRY}/openecomp/aai-resources:${DOCKER_IMAGE_VERSION};
+docker tag ${DOCKER_REGISTRY}/openecomp/aai-resources:${DOCKER_IMAGE_VERSION} ${DOCKER_REGISTRY}/openecomp/aai-resources:latest;
+
+docker pull ${DOCKER_REGISTRY}/openecomp/aai-traversal:${DOCKER_IMAGE_VERSION};
+docker tag ${DOCKER_REGISTRY}/openecomp/aai-traversal:${DOCKER_IMAGE_VERSION} ${DOCKER_REGISTRY}/openecomp/aai-traversal:latest;
+
+${DOCKER_COMPOSE_CMD} stop
+${DOCKER_COMPOSE_CMD} rm -f -v
+
+# Start the hbase where the data will be stored
+HBASE_CONTAINER_NAME=$(${DOCKER_COMPOSE_CMD} up -d aai.hbase.simpledemo.openecomp.org 2>&1 | grep 'Creating' | grep -v 'volume' | grep -v 'network' | awk '{ print $2; }' | head -1);
+wait_for_container ${HBASE_CONTAINER_NAME} ' Started SelectChannelConnector@0.0.0.0:8085';
+wait_for_container ${HBASE_CONTAINER_NAME} ' Started SelectChannelConnector@0.0.0.0:8080';
+wait_for_container ${HBASE_CONTAINER_NAME} ' Started SelectChannelConnector@0.0.0.0:9095';
+
+# Start the resources microservice
+RESOURCES_CONTAINER_NAME=$(${DOCKER_COMPOSE_CMD} up -d aai-resources.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | grep -v 'volume' | grep -v 'network' | awk '{ print $2; }' | head -1);
+wait_for_container ${RESOURCES_CONTAINER_NAME} '0.0.0.0:8447';
+docker logs ${CONTAINER_NAME};
+
+# Start the traversal microservice
+GRAPH_CONTAINER_NAME=$(${DOCKER_COMPOSE_CMD} up -d aai-traversal.api.simpledemo.openecomp.org 2>&1 | grep 'Creating' | awk '{ print $2; }' | head -1);
+wait_for_container ${GRAPH_CONTAINER_NAME} '0.0.0.0:8446';
+
+# Start the haproxy to route requests between resources and traversal
+HAPROXY_CONTAINER_NAME=$(${DOCKER_COMPOSE_CMD} up -d aai.api.simpledemo.openecomp.org 2>&1 |grep 'Creating' | grep -v 'volume' | grep -v 'network' | awk '{ print $2; }' | head -1);
+
+echo "A&AI Microservices, resources and traversal, are up and running along with HAProxy";
+
+docker exec $GRAPH_CONTAINER_NAME "/opt/app/aai-traversal/scripts/install/updateQueryData.sh" && {
+	echo "Successfully loaded the widget related data into db";
+} || {
+	echo "Unable to load widget related data into db";
+}
+
+# Set the host ip for robot from the haproxy
+ROBOT_VARIABLES="-v HOST_IP:`ip addr show docker0 | head -3 | tail -1 | cut -d' ' -f6 | cut -d'/' -f1`"
diff --git a/test/csit/plans/aai/resources/teardown.sh b/test/csit/plans/aai/resources/teardown.sh
new file mode 100644
index 0000000..8dd6358
--- /dev/null
+++ b/test/csit/plans/aai/resources/teardown.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Copyright © 2017 AT&T Intellectual Property.
+# Copyright © 2017 Amdocs
+# 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.
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+DOCKER_COMPOSE_CMD="docker-compose";
+export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1);
+export DOCKER_REGISTRY="nexus3.onap.org:10001";
+
+$DOCKER_COMPOSE_CMD stop
+$DOCKER_COMPOSE_CMD rm -f -v
+
diff --git a/test/csit/plans/aai/resources/testplan.txt b/test/csit/plans/aai/resources/testplan.txt
new file mode 100644
index 0000000..7f6727d
--- /dev/null
+++ b/test/csit/plans/aai/resources/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+aai/resources/suite1
+aai/resources/suite2
diff --git a/test/csit/plans/appc/healthcheck/db_query.sh b/test/csit/plans/appc/healthcheck/db_query.sh
new file mode 100755
index 0000000..87e0ac3
--- /dev/null
+++ b/test/csit/plans/appc/healthcheck/db_query.sh
@@ -0,0 +1,66 @@
+#!/usr/bin/env bash
+###############################################################################
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###############################################################################
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo $SCRIPTS
+
+sdnctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l)
+
+appcctl_num_tables=$(docker exec -i sdnc_db_container mysql -s -D appcctl -u appcctl -pappcctl <<<'show tables;' 2>/dev/null | grep -v ERROR | wc -l)
+
+
+
+docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"show tables" 2>/dev/null | ( while read table_name; do 
+export $table_name="$(docker exec -i sdnc_db_container mysql -s -D sdnctl -u sdnctl -pgamma <<<"select count(*) from $table_name" 2>/dev/null)"
+done 
+
+if [ "$sdnctl_num_tables" -ge "1" ]; then
+  echo "There are $sdnctl_num_tables tables in the sdnctl database. "
+else
+  echo "Database sdnctl is not available."
+  exit 1;
+fi
+
+if [ "$appcctl_num_tables" -ge "1" ]; then
+  echo "There is $appcctl_num_tables table in the appcctl database. "
+else
+  echo "Database appcctl is not available."
+  exit 1;
+fi
+
+if [ "$NODE_TYPES" -eq "0" ]; then
+  echo "There is no data in table NODE_TYPES. "
+  exit 1;
+fi
+
+if [ "$SVC_LOGIC" -eq "0" ] ; then
+  echo "There is no data in table SVC_LOGIC. "
+  exit 1;
+fi
+
+if [ "$VNF_DG_MAPPING" -eq "0" ]; then
+  echo "There is no data in table VNF_DG_MAPPING. "
+  exit 1;
+fi 
+
+echo "Expected table data is present."
+exit 0 )
+
+if [ "$?" -eq "1" ]; then
+  exit 1;
+fi
+
+exit 0
diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index b91baa3..3c57cef 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -22,6 +22,10 @@
 
 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
@@ -42,7 +46,7 @@
 docker tag nexus3.onap.org:10001/openecomp/dgbuilder-sdnc-image:1.1-STAGING-latest openecomp/dgbuilder-sdnc-image:latest
 
 # start APPC containers with docker compose and configuration from docker-compose.yml
-/opt/docker/docker-compose up -d
+docker-compose up -d
 
 # WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API
 TIME_OUT=500
diff --git a/test/csit/plans/cli/sanity-check/setup.sh b/test/csit/plans/cli/sanity-check/setup.sh
new file mode 100644
index 0000000..ca18f51
--- /dev/null
+++ b/test/csit/plans/cli/sanity-check/setup.sh
@@ -0,0 +1,32 @@
+#!/bin/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.
+#
+# Place the scripts in run order:
+source ${SCRIPTS}/common_functions.sh
+
+# Start auth
+docker run -d --name cli -e CLI_MODE=daemon nexus3.onap.org:10001/onap/cli:1.1-STAGING-latest
+
+# Wait for cli initialization
+echo Wait for CLI initialization
+for i in {1..40}; do
+    sleep 1
+done
+
+CLI_IP=`get-instance-ip.sh cli`
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v CLI_IP:${CLI_IP}"
diff --git a/test/csit/plans/cli/sanity-check/teardown.sh b/test/csit/plans/cli/sanity-check/teardown.sh
new file mode 100644
index 0000000..70fb6ff
--- /dev/null
+++ b/test/csit/plans/cli/sanity-check/teardown.sh
@@ -0,0 +1,17 @@
+#!/bin/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.
+#
+kill-instance.sh cli
\ No newline at end of file
diff --git a/test/csit/plans/cli/sanity-check/testplan.txt b/test/csit/plans/cli/sanity-check/testplan.txt
new file mode 100644
index 0000000..477ddab
--- /dev/null
+++ b/test/csit/plans/cli/sanity-check/testplan.txt
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+cli/startup/startup_check.robot
diff --git a/test/csit/plans/integration/vCPE/setup.sh b/test/csit/plans/integration/vCPE/setup.sh
new file mode 100755
index 0000000..1b9cc34
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/setup.sh
@@ -0,0 +1,21 @@
+#!/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.
+#
+# Place the scripts in run order:
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES=""
+
diff --git a/test/csit/plans/integration/vCPE/teardown.sh b/test/csit/plans/integration/vCPE/teardown.sh
new file mode 100755
index 0000000..8beb6e1
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/teardown.sh
@@ -0,0 +1,18 @@
+#!/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/integration/vCPE/testplan.txt b/test/csit/plans/integration/vCPE/testplan.txt
new file mode 100644
index 0000000..2b3d4ad
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+integration/vCPE
diff --git a/test/csit/plans/msb/iag-redirect-discovery/setup.sh b/test/csit/plans/msb/iag-redirect-discovery/setup.sh
new file mode 100644
index 0000000..e14c28f
--- /dev/null
+++ b/test/csit/plans/msb/iag-redirect-discovery/setup.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Start rest example service
+docker run -d -p 9090:9090 --name i-rest-example zhaohuabing/rest-example
+REST_EXAMPLE_IP=`get-instance-ip.sh i-rest-example`
+echo REST_EXAMPLE_IP=${REST_EXAMPLE_IP}
+
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+#Need some time for the initialization of MSB services
+sleep 60
+
+curl -X POST \
+  -H "Content-Type: application/json" \
+  -d '{"serviceName": "test", "version": "v1", "url": "/","protocol": "REST", "lb_policy":"round-robin","nodes": [ {"ip": "'${REST_EXAMPLE_IP}'","port": "9090"}]}' \
+  "http://${MSB_IAG_IP}:80/api/microservices/v1/services"
+
+# Pass any variables required by Robot  suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v REST_EXAMPLE_IP:${REST_EXAMPLE_IP}"
\ No newline at end of file
diff --git a/test/csit/plans/msb/iag-redirect-discovery/teardown.sh b/test/csit/plans/msb/iag-redirect-discovery/teardown.sh
new file mode 100644
index 0000000..b794567
--- /dev/null
+++ b/test/csit/plans/msb/iag-redirect-discovery/teardown.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+kill-instance.sh msb_consul
+kill-instance.sh msb_discovery
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh i-rest-example
diff --git a/test/csit/plans/msb/iag-redirect-discovery/testplan.txt b/test/csit/plans/msb/iag-redirect-discovery/testplan.txt
new file mode 100644
index 0000000..54bb307
--- /dev/null
+++ b/test/csit/plans/msb/iag-redirect-discovery/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+msb/rest-service-discovery
+msb/rest-service-api-gateway
\ No newline at end of file
diff --git a/test/csit/plans/msb/rest-service/setup.sh b/test/csit/plans/msb/rest-service/setup.sh
new file mode 100644
index 0000000..9682cde
--- /dev/null
+++ b/test/csit/plans/msb/rest-service/setup.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Start rest example service
+docker run -d -p 9090:9090 --name i-rest-example zhaohuabing/rest-example
+REST_EXAMPLE_IP=`get-instance-ip.sh i-rest-example`
+echo REST_EXAMPLE_IP=${REST_EXAMPLE_IP}
+
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+#Need some time for the initialization of MSB services
+sleep 60
+
+curl -X POST \
+  -H "Content-Type: application/json" \
+  -d '{"serviceName": "test", "version": "v1", "url": "/","protocol": "REST", "lb_policy":"round-robin","nodes": [ {"ip": "'${REST_EXAMPLE_IP}'","port": "9090"}]}' \
+  "http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services"
+
+# Pass any variables required by Robot  suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v REST_EXAMPLE_IP:${REST_EXAMPLE_IP}"
\ No newline at end of file
diff --git a/test/csit/plans/msb/rest-service/teardown.sh b/test/csit/plans/msb/rest-service/teardown.sh
new file mode 100644
index 0000000..b794567
--- /dev/null
+++ b/test/csit/plans/msb/rest-service/teardown.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+kill-instance.sh msb_consul
+kill-instance.sh msb_discovery
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh i-rest-example
diff --git a/test/csit/plans/msb/rest-service/testplan.txt b/test/csit/plans/msb/rest-service/testplan.txt
new file mode 100644
index 0000000..54bb307
--- /dev/null
+++ b/test/csit/plans/msb/rest-service/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+msb/rest-service-discovery
+msb/rest-service-api-gateway
\ No newline at end of file
diff --git a/test/csit/plans/msb/sanity-check/setup.sh b/test/csit/plans/msb/sanity-check/setup.sh
new file mode 100644
index 0000000..21bb18f
--- /dev/null
+++ b/test/csit/plans/msb/sanity-check/setup.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+#wait for container initalization
+sleep 30
+
+#Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP}"
diff --git a/test/csit/plans/msb/sanity-check/teardown.sh b/test/csit/plans/msb/sanity-check/teardown.sh
new file mode 100644
index 0000000..609eaf6
--- /dev/null
+++ b/test/csit/plans/msb/sanity-check/teardown.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+kill-instance.sh msb_consul
+kill-instance.sh msb_discovery
+kill-instance.sh msb_internal_apigateway
\ No newline at end of file
diff --git a/test/csit/plans/msb/sanity-check/testplan.txt b/test/csit/plans/msb/sanity-check/testplan.txt
new file mode 100644
index 0000000..0ef7507
--- /dev/null
+++ b/test/csit/plans/msb/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+msb/startup
diff --git a/test/csit/plans/msb/tcp-service/setup.sh b/test/csit/plans/msb/tcp-service/setup.sh
new file mode 100644
index 0000000..1a315e5
--- /dev/null
+++ b/test/csit/plans/msb/tcp-service/setup.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Start Message Broker
+docker run -d -p 61616:61616 --name i-activemq webcenter/activemq 
+ 
+ACTIVEMQ_IP=`get-instance-ip.sh i-activemq`
+echo ACTIVEMQ_IP=${ACTIVEMQ_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+#wait for container initalization
+sleep 30
+
+curl -H "Content-Type: application/json" -X POST -d '{"serviceName": "ActiveMQ","protocol": "TCP","nodes": [{"ip": "'${ACTIVEMQ_IP}'","port": "61616"}]}' http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services
+
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v ACTIVEMQ_IP:${ACTIVEMQ_IP}"
\ No newline at end of file
diff --git a/test/csit/plans/msb/tcp-service/teardown.sh b/test/csit/plans/msb/tcp-service/teardown.sh
new file mode 100644
index 0000000..36ee889
--- /dev/null
+++ b/test/csit/plans/msb/tcp-service/teardown.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE, Inc. and others.
+#
+# 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.
+#
+
+kill-instance.sh msb_consul
+kill-instance.sh msb_discovery
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh i-activemq
diff --git a/test/csit/plans/msb/tcp-service/testplan.txt b/test/csit/plans/msb/tcp-service/testplan.txt
new file mode 100644
index 0000000..ba8f6f2
--- /dev/null
+++ b/test/csit/plans/msb/tcp-service/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+msb/tcp-service-discovery
+msb/tcp-service-access
\ No newline at end of file
diff --git a/test/csit/plans/multicloud-ocata/functionality1/setup.sh b/test/csit/plans/multicloud-ocata/functionality1/setup.sh
new file mode 100644
index 0000000..5630849
--- /dev/null
+++ b/test/csit/plans/multicloud-ocata/functionality1/setup.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright (c) 2017 Wind River Systems, Inc.
+#
+# 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.
+
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+# start multicloud-ocata
+docker run -d --name multicloud-ocata nexus3.onap.org:10001/onap/multicloud/openstack-ocata
+SERVICE_IP=`get-instance-ip.sh multicloud-ocata`
+SERVICE_PORT=9004
+
+for i in {1..50}; do
+    curl -sS ${SERVICE_IP}:${SERVICE_PORT} && break
+    echo sleep $i
+    sleep $i
+done
+
+echo SCRIPTS
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES+="-v SERVICE_IP:${SERVICE_IP} "
+ROBOT_VARIABLES+="-v SERVICE_PORT:${SERVICE_PORT} "
diff --git a/test/csit/plans/multicloud-ocata/functionality1/teardown.sh b/test/csit/plans/multicloud-ocata/functionality1/teardown.sh
new file mode 100644
index 0000000..6ecb74e
--- /dev/null
+++ b/test/csit/plans/multicloud-ocata/functionality1/teardown.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+#
+# Copyright (c) 2017 Wind River Systems, Inc.
+#
+# 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.
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh multicloud-ocata
diff --git a/test/csit/plans/multicloud-ocata/functionality1/testplan.txt b/test/csit/plans/multicloud-ocata/functionality1/testplan.txt
new file mode 100644
index 0000000..fcd795d
--- /dev/null
+++ b/test/csit/plans/multicloud-ocata/functionality1/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+multicloud-ocata/provision/sanity_test_multicloud.robot
diff --git a/test/csit/plans/multicloud/functionality1/setup.sh b/test/csit/plans/multicloud/functionality1/setup.sh
index b43f4b8..993a39f 100755
--- a/test/csit/plans/multicloud/functionality1/setup.sh
+++ b/test/csit/plans/multicloud/functionality1/setup.sh
@@ -17,17 +17,10 @@
 # Place the scripts in run order:
 # Start all process required for executing test case
 
-# start msb
-# Replace this when msb is ready for onap
-docker run -d --name i-msb -p 80:80 openoint/common-services-msb
-MSB_IP=`get-instance-ip.sh i-msb`
-
-# start esr
-# docker run -d --name i-esr -e MSB_ADDR=${MSB_IP}:80 openoint/common-services-extsys
+source ${SCRIPTS}/common_functions.sh
 
 # start multivim-broker
-# Replace this when multivim-broker container is ready
-docker run -d --name multivim-broker -e MSB_ADDR=${MSB_IP}:80 openoint/multivim-broker
+docker run -d --name multivim-broker nexus3.onap.org:10001/onap/multicloud/framework
 BROKER_IP=`get-instance-ip.sh multivim-broker`
 for i in {1..50}; do
     curl -sS ${BROKER_IP}:9001 && break
@@ -37,4 +30,4 @@
 
 echo SCRIPTS
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v MSB_IP:${MSB_IP}"
+ROBOT_VARIABLES="-v BROKER_IP:${BROKER_IP}"
diff --git a/test/csit/plans/multicloud/functionality1/teardown.sh b/test/csit/plans/multicloud/functionality1/teardown.sh
index 4ca6dbc..1732649 100755
--- a/test/csit/plans/multicloud/functionality1/teardown.sh
+++ b/test/csit/plans/multicloud/functionality1/teardown.sh
@@ -16,5 +16,4 @@
 #
 
 # This script is sourced by run-csit.sh after Robot test completion.
-kill-instance.sh i-msb
 kill-instance.sh multivim-broker
diff --git a/test/csit/plans/portal/testsuite/.env b/test/csit/plans/portal/testsuite/.env
new file mode 100644
index 0000000..fa30768
--- /dev/null
+++ b/test/csit/plans/portal/testsuite/.env
@@ -0,0 +1,17 @@
+# Environment settings
+# used by docker-compose AND by other shell scripts
+
+# Host directory with config files
+PROJECT_DIR=/PROJECT/OpenSource/UbuntuEP
+
+# Directory within containers
+WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps
+
+# Following are ALSO used in demo/boot/portal_vm_init.sh
+EP_IMG_NAME=portal-apps
+DB_IMG_NAME=portal-db
+WMS_IMG_NAME=portal-wms
+# Tag all images with this
+PORTAL_TAG=1.1.0
+
+NEXUS_REPO=nexus3.onap.org:10003
diff --git a/test/csit/plans/portal/testsuite/portal b/test/csit/plans/portal/testsuite/portal
new file mode 160000
index 0000000..e65a5d4
--- /dev/null
+++ b/test/csit/plans/portal/testsuite/portal
@@ -0,0 +1 @@
+Subproject commit e65a5d4a4852cbd0056fb3b881613f0a4dba4ecf
diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh
new file mode 100644
index 0000000..a6c1ba4
--- /dev/null
+++ b/test/csit/plans/portal/testsuite/setup.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Starts docker containers for ONAP Portal in Rackspace.
+# Version for Amsterdam/R1 uses docker-compose.
+
+# be verbose
+set -x
+
+# Establish environment variables
+NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt)
+NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt)
+NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt)
+DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt)
+
+# Refresh configuration and scripts
+cd /opt/portal
+git pull
+cd deliveries
+
+# Get image names used below from docker-compose environment file
+source .env
+
+# Copy property files
+ETC=/PROJECT/OpenSource/UbuntuEP/etc
+mkdir -p $ETC
+cp -r properties_rackspace/* $ETC
+
+# Refresh images
+docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+docker pull $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION
+docker pull $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION
+docker pull $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION
+
+# Tag them as expected by docker-compose file
+docker tag $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG
+docker tag $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG
+docker tag $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG
+
+# docker-compose is not in /usr/bin
+/opt/docker/docker-compose down
+/opt/docker/docker-compose up -d
diff --git a/test/csit/plans/portal/testsuite/teardown.sh b/test/csit/plans/portal/testsuite/teardown.sh
new file mode 100644
index 0000000..4214c82
--- /dev/null
+++ b/test/csit/plans/portal/testsuite/teardown.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright 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.
+#
+
+kill-instance.sh i-mock
+
+
diff --git a/test/csit/plans/portal/testsuite/testplan.txt b/test/csit/plans/portal/testsuite/testplan.txt
new file mode 100644
index 0000000..5aba316
--- /dev/null
+++ b/test/csit/plans/portal/testsuite/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+portal/Healthcheck
diff --git a/test/csit/plans/so/sanity-check/setup.sh b/test/csit/plans/so/sanity-check/setup.sh
index a9c42fb..77a33bf 100644
--- a/test/csit/plans/so/sanity-check/setup.sh
+++ b/test/csit/plans/so/sanity-check/setup.sh
@@ -17,21 +17,18 @@
 # Place the scripts in run order:
 # Start all process required for executing test case
 
-source ${SCRIPTS}/common_functions.sh
+#start so
+docker run -d -i -t --name=so -p 8080:8080 nexus3.onap.org:10001/openecomp/mso
 
-#Start gso
-run-instance.sh openoint/gso-service-manager gso " -i -t -e MSB_ADDR=${MSB_IP}:80 -e MYSQL_ADDR=${INV_ADDR}:3306"
-sleep_msg="Waiting_for_so"
-curl_path='http://'${MSB_IP}':80/api/so/v1/services'
-wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' REPEAT_NUMBER=25 GREP_STRING="\["
+SO_IP=`get-instance-ip.sh so`
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${SO_IP}:1080 && break
+    echo sleep $i
+    sleep $i
+done
 
-#run simulator
-docker run -d -i -t --name gso_csit_simulator -e SIMULATOR_JSON=Stubs/testcase/so/main.json -p 18009:18009 -p 18008:18008  openoint/simulate-test-docker
-SIMULATOR_IP=`get-instance-ip.sh gso_csit_simulator`
-sleep_msg="Waiting_for_simulator"
-curl_path='http://'${SIMULATOR_IP}':18009/api/extsys/v1/vims'
-wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' REPEAT_NUMBER=16 GREP_STRING="\["
-
-
-ROBOT_VARIABLES="-v MSB_IP:${MSB_IP}  -v SCRIPTS:${SCRIPTS}  -v SIMULATOR_IP:${SIMULATOR_IP}"
-robot ${ROBOT_VARIABLES} ${SCRIPTS}/../tests/so/sanity-check/register_simulator_to_msb.robot
+#REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' so`
+REPO_IP='127.0.0.1'
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}"
diff --git a/test/csit/plans/so/sanity-check/teardown.sh b/test/csit/plans/so/sanity-check/teardown.sh
index 5cd82b7..a924a07 100644
--- a/test/csit/plans/so/sanity-check/teardown.sh
+++ b/test/csit/plans/so/sanity-check/teardown.sh
@@ -15,10 +15,4 @@
 # limitations under the License.
 #
 
-#copy the logs files
-docker cp so:/service/logs/lifecyclemgr.log ${SCRIPTS}/../../../archives
-# kill micro service
-kill-instance.sh i-msb
 kill-instance.sh so
-
-
diff --git a/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/setup.sh b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/setup.sh
new file mode 100755
index 0000000..634c327
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/setup.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# wait for container initalization
+echo sleep 30
+sleep 30
+
+# start vfc-vnflcm
+docker run -d --name vfc-vnflcm -v /var/lib/mysql -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/vnflcm
+VNFLCM_IP=`get-instance-ip.sh vfc-vnflcm`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS -m 1 ${VNFLCM_IP}:8801 && break
+    echo sleep $i
+    sleep $i
+done
+
+docker cp vfc-vnflcm:/service/vfc/gvnfm/vnflcm/lcm/logs/runtime_lcm.log ./
+cat runtime_lcm.log
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v VNFLCM_IP:${VNFLCM_IP}"
diff --git a/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/teardown.sh b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/teardown.sh
new file mode 100755
index 0000000..f78acd3
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-vnflcm
diff --git a/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/testplan.txt b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/testplan.txt
new file mode 100644
index 0000000..0aa2e3e
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnflcm/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/gvnfm-vnflcm/test.robot
diff --git a/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh
new file mode 100755
index 0000000..ec315a2
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+#login to the onap nexus docker repo
+docker login -u docker -p docker nexus3.onap.org:10001
+
+# Start MSB
+docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base
+CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo CONSUL_IP=${CONSUL_IP}
+docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${DISCOVERY_IP}
+docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IP==`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IP=${MSB_IP}
+
+# start vfc-vnfmgr
+docker run -d --name vfc-vnfmgr -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfmgr
+VNFMGR_IP=`get-instance-ip.sh vfc-vnfmgr`
+for i in {1..10}; do
+    curl -sS ${VNFMGR_IP}:8803 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v VNFMGR_IP:${VNFMGR_IP}"
diff --git a/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh
new file mode 100755
index 0000000..572c2f3
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-vnfmgr
diff --git a/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt
new file mode 100644
index 0000000..960f732
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/gvnfm-vnfmgr/test.robot
diff --git a/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh
new file mode 100755
index 0000000..0139bcd
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/setup.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo MSB_DISCOVERY_IP=${MSB_DISCOVERY_IP}
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-vnfres
+docker run -d --name vfc-vnfres -v /var/lib/mysql -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/vnfres
+VNFRES_IP=`get-instance-ip.sh vfc-vnfres`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${VNFRES_IP}:8802 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v VNFRES_IP:${VNFRES_IP}"
diff --git a/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/teardown.sh b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/teardown.sh
new file mode 100755
index 0000000..edd857d
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-vnfres
diff --git a/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/testplan.txt b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/testplan.txt
new file mode 100644
index 0000000..e94e294
--- /dev/null
+++ b/test/csit/plans/vfc-gvnfm-vnfres/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/gvnfm-vnfres/test.robot
diff --git a/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh
new file mode 100644
index 0000000..6374b88
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-catalog/sanity-check/setup.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+#login to the onap nexus docker repo
+docker login -u docker -p docker nexus3.onap.org:10001
+
+# start msb
+docker run -d -p 8500:8500 --name msb_consul consul
+CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo CONSUL_IP=${CONSUL_IP}
+
+docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IP==`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IP=${MSB_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${CONSUL_IP}:8500 && curl -sS -m 1 ${DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Need some time so service info can be synced from discovery to api gateway
+echo sleep 60
+sleep 60
+
+# start vfc-catalog
+docker run -d --name vfc-catalog -v /var/lib/mysql -e MSB_ADDR=${DISCOVERY_IP}:10081 nexus3.onap.org:10001/onap/vfc/catalog
+CATALOG_IP=`get-instance-ip.sh vfc-catalog`
+for i in {1..10}; do
+    curl -sS ${CATALOG_IP}:8806 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v CATALOG_IP:${CATALOG_IP} -v MSB_DISCOVERY_IP:${DISCOVERY_IP}"
diff --git a/test/csit/plans/vfc-nfvo-catalog/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-catalog/sanity-check/teardown.sh
new file mode 100644
index 0000000..68d5b60
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-catalog/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-catalog
diff --git a/test/csit/plans/vfc-nfvo-catalog/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-catalog/sanity-check/testplan.txt
new file mode 100644
index 0000000..6c8c54a
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-catalog/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/nfvo-catalog/test.robot
diff --git a/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/setup.sh
new file mode 100755
index 0000000..09978ca
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/setup.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Need some time so service info can be synced from discovery to api gateway
+echo sleep 60
+sleep 60
+
+# start vfc-emsdriver
+docker run -d --name vfc-emsdriver -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/emsdriver
+EMS_DRV_IP=`get-instance-ip.sh vfc-emsdriver`
+docker logs -f vfc-emsdriver > emsdriver.log &
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS -m 1 ${EMS_DRV_IP}:8206 && break
+    echo sleep $i
+    sleep $i
+done
+
+echo "==============="
+cat emsdriver.log
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v EMS_DRV_IP:${EMS_DRV_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/teardown.sh
new file mode 100755
index 0000000..aa676b2
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-emsdriver
diff --git a/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/testplan.txt
new file mode 100644
index 0000000..747f868
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-ems/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/nfvo-driver-ems/test.robot
diff --git a/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/setup.sh
new file mode 100755
index 0000000..45ad0cb
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/setup.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Need some time so service info can be synced from discovery to api gateway
+echo sleep 60
+sleep 60
+
+# start vfc-ztesdncdriver
+docker run -d --name vfc-ztesdncdriver -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/ztesdncdriver
+SFC_DRV_IP=`get-instance-ip.sh vfc-ztesdncdriver`
+docker logs -f vfc-ztesdncdriver > ztesdncdriver.log &
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS -m 1 ${SFC_DRV_IP}:8411 && break
+    echo sleep $i
+    sleep $i
+done
+
+echo "==============================="
+cat ztesdncdriver.log
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v SFC_DRV_IP:${SFC_DRV_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/teardown.sh
new file mode 100755
index 0000000..ce5402e
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-ztesdncdriver
diff --git a/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/testplan.txt
new file mode 100644
index 0000000..9de2acc
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-sfc/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/nfvo-driver-sfc/test.robot
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh
new file mode 100644
index 0000000..283cb0d
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/setup.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo MSB_DISCOVERY_IP=${MSB_DISCOVERY_IP}
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-gvnfmdriver
+docker run -d --name vfc-gvnfmdriver -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/gvnfmdriver
+GVNFMDRIVER_IP=`get-instance-ip.sh vfc-gvnfmdriver`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${GVNFMDRIVER_IP}:8484 && break
+    echo sleep $i
+    sleep $i
+done
+
+# start vfc-jujudriver
+docker run -d --name vfc-jujudriver -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/jujudriver
+JUJUDRIVER_IP=`get-instance-ip.sh vfc-jujudriver`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${JUJUDRIVER_IP}:8483 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v GVNFMDRIVER_IP:${GVNFMDRIVER_IP} -v JUJUDRIVER_IP:${JUJUDRIVER_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh
new file mode 100644
index 0000000..78d7c5a
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh  vfc-gvnfmdriver
+
+kill-instance.sh vfc-jujudriver
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt
new file mode 100644
index 0000000..e7bee51
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-gvnfm/sanity-check/testplan.txt
@@ -0,0 +1,6 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+
+vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
+
+vfc/nfvo-driver-gvnfm/jujudriver.robot
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh
new file mode 100644
index 0000000..382cb7a
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/setup.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo MSB_DISCOVERY_IP=${MSB_DISCOVERY_IP}
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+
+# start vfc-ztevmanagerdriver
+docker run -d --name vfc-ztevmanagerdriver -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/ztevmanagerdriver
+ZTEVMANAGERDRIVER_IP=`get-instance-ip.sh vfc-ztevmanagerdriver`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${ZTEVMANAGERDRIVER_IP}:8410 && break
+    echo sleep $i
+    sleep $i
+done
+
+
+# Start svnfm-huawei
+docker run -d --name vfc-svnfm-huawei -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei
+SERVICE_IP=`get-instance-ip.sh vfc-svnfm-huawei`
+for i in {1..10}; do
+    curl -sS ${SERVICE_IP}:8482 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v ZTEVMANAGERDRIVER_IP:${ZTEVMANAGERDRIVER_IP} -v MSB_IP:${MSB_IAG_IP} -v SERVICE_IP:${SERVICE_IP}"
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh
new file mode 100644
index 0000000..e440068
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/teardown.sh
@@ -0,0 +1,24 @@
+#!/bin/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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh  vfc-ztevmanagerdriver
+
+kill-instance.sh vfc-svnfm-huawei
diff --git a/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt
new file mode 100644
index 0000000..7eb861e
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-driver-vnfm-svnfm/sanity-check/testplan.txt
@@ -0,0 +1,6 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+
+vfc/nfvo-driver-svnfm/ztevmanager.robot
+
+vfc/nfvo-driver-svnfm/huawei.robot
diff --git a/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh
new file mode 100755
index 0000000..3cc5398
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+#start msb
+docker run -d -p 8500:8500  --name msb_consul consul
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+
+docker run -d  -p 10081:10081  -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${MSB_DISCOVERY_IP}
+
+docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IAG_IP=${MSB_IAG_IP}
+
+# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway)
+for i in {1..10}; do
+    curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Need some time so service info can be synced from discovery to api gateway
+echo sleep 60
+sleep 60
+
+# start vfc-nslcm
+docker run -d --name vfc-nslcm -v /var/lib/mysql -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/nslcm
+NSLCM_IP=`get-instance-ip.sh vfc-nslcm`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS -m 1 ${NSLCM_IP}:8403 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v NSLCM_IP:${NSLCM_IP} -v SCRIPTS:${SCRIPTS}"
diff --git a/test/csit/plans/vfc-nfvo-lcm/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-lcm/sanity-check/teardown.sh
new file mode 100755
index 0000000..c74850d
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-lcm/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-nslcm
diff --git a/test/csit/plans/vfc-nfvo-lcm/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-lcm/sanity-check/testplan.txt
new file mode 100644
index 0000000..fc261e1
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-lcm/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/nfvo-lcm/test.robot
diff --git a/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/setup.sh
new file mode 100644
index 0000000..a18562e
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/setup.sh
@@ -0,0 +1,44 @@
+#!/bin/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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+#login to the onap nexus docker repo
+docker login -u docker -p docker nexus3.onap.org:10001
+
+# Start MSB
+docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base
+CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo CONSUL_IP=${CONSUL_IP}
+docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
+DISCOVERY_IP=`get-instance-ip.sh msb_discovery`
+echo DISCOVERY_IP=${DISCOVERY_IP}
+docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway
+MSB_IP==`get-instance-ip.sh msb_internal_apigateway`
+echo MSB_IP=${MSB_IP}
+
+# Start resmgr
+docker run -d --name vfc-resmanagement -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/resmanagement
+RESMGR_IP=`get-instance-ip.sh vfc-resmanagement`
+for i in {1..10}; do
+    curl -sS ${RESMGR_IP}:8480 && break
+    echo sleep $i
+    sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v RESMGR_IP:${RESMGR_IP}"
diff --git a/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/teardown.sh b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/teardown.sh
new file mode 100644
index 0000000..2ad95c6
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-resmanagement
diff --git a/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/testplan.txt b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/testplan.txt
new file mode 100644
index 0000000..98dac63
--- /dev/null
+++ b/test/csit/plans/vfc-nfvo-resmanagement/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+vfc/nfvo-resmanagement/test.robot
\ No newline at end of file
diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh b/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh
index b54ea56..91e931e 100644
--- a/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh
+++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh
@@ -21,10 +21,16 @@
 #Start market place
 docker run -d -i -t --name=refrepo   -p 8702:8702 nexus3.onap.org:10001/onap/refrepo:1.0-STAGING-latest
 
+# Wait for Market place initialization
+echo Wait for VNF Repository initialization
+for i in {1..30}; do
+    sleep 1
+done
+
 REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' refrepo`
 
 
 # Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v SCRIPTS:{SCRIPTS} -v REPO_IP:${REPO_IP}"
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REPO_IP:${REPO_IP}"
 echo ${ROBOT_VARIABLES}
 
diff --git a/test/csit/run-csit.sh b/test/csit/run-csit.sh
index 8033f30..5c094f8 100755
--- a/test/csit/run-csit.sh
+++ b/test/csit/run-csit.sh
@@ -93,6 +93,12 @@
     source ${ROBOT_VENV}/bin/activate
 fi
 
+# install eteutils
+mkdir -p ${ROBOT_VENV}/src/onap
+rm -rf ${ROBOT_VENV}/src/onap/testsuite
+git clone https://gerrit.onap.org/r/testsuite/python-testing-utils.git ${ROBOT_VENV}/src/onap/testsuite/python-testing-utils
+pip install --upgrade ${ROBOT_VENV}/src/onap/testsuite/python-testing-utils
+
 
 WORKDIR=`mktemp -d --suffix=-robot-workdir`
 cd ${WORKDIR}
diff --git a/test/csit/scripts/clamp/start_clamp_containers.sh b/test/csit/scripts/clamp/start_clamp_containers.sh
index 23d3c56..02abe26 100755
--- a/test/csit/scripts/clamp/start_clamp_containers.sh
+++ b/test/csit/scripts/clamp/start_clamp_containers.sh
@@ -28,7 +28,7 @@
 docker-compose up -d
 
 # WAIT 5 minutes maximum and test every 5 seconds if Clamp up using HealthCheck API
-TIME_OUT=600
+TIME_OUT=1200
 INTERVAL=5
 TIME=0
 while [ "$TIME" -lt "$TIME_OUT" ]; do
diff --git a/test/csit/scripts/cli/startup.sh b/test/csit/scripts/cli/startup.sh
new file mode 100644
index 0000000..6e29a0e
--- /dev/null
+++ b/test/csit/scripts/cli/startup.sh
@@ -0,0 +1,18 @@
+#!/bin/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.
+#
+# $1 nickname for the MSB instance
+echo "This is ${WORKSPACE}/test/csit/scripts/cli/startup.sh"
diff --git a/test/csit/tests/aai/resources/suite1/__init__.robot b/test/csit/tests/aai/resources/suite1/__init__.robot
new file mode 100644
index 0000000..538def8
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite1/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Resources - Pserver Suite
diff --git a/test/csit/tests/aai/resources/suite1/aai.crt b/test/csit/tests/aai/resources/suite1/aai.crt
new file mode 100644
index 0000000..6a28bbb
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite1/aai.crt
@@ -0,0 +1,70 @@
+Bag Attributes
+    friendlyName: aaiopenecomp
+    localKeyID: 54 69 6D 65 20 31 35 30 34 38 33 32 34 34 33 32 39 32 
+subject=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=SimpleDemo/CN=aai.api.simpledemo.openecomp.org/emailAddress=aai-host@api.simpledemo.openecomp.org
+issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
+-----BEGIN CERTIFICATE-----
+MIIEiTCCA3GgAwIBAgIJAIPKfDLcn3MpMA0GCSqGSIb3DQEBCwUAMIGtMQswCQYD
+VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
+BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzEqMCgGA1UEAwwhT3Bl
+bkVDT01QIHNpbXBsZWRlbW8gU2VydmVyIENBIFgxMScwJQYJKoZIhvcNAQkBFhhz
+aW1wbGVkZW1vQG9wZW5lY29tcC5vcmcwHhcNMTYxMTMwMTUzODM5WhcNMTcxMTMw
+MTUzODM5WjCBuTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5KMRMwEQYDVQQHDApC
+ZWRtaW5zdGVyMRIwEAYDVQQKDAlPcGVuRUNPTVAxEzARBgNVBAsMClNpbXBsZURl
+bW8xKTAnBgNVBAMMIGFhaS5hcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAub3JnMTQw
+MgYJKoZIhvcNAQkBFiVhYWktaG9zdEBhcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAu
+b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwQrQl8A0rT0Jjlos
+Mr/7LEhT5UOif4GGPOk+3NCIxT3lOqAbUf+d9ZXyT2jWFRiKWua03vQ+Dxc8c2h2
+RRuH8LwEiOiWqPjWRxNqsARzZMI3ryHFCFBZh0FcpjH9kEeKVlLDYuV68k+ZucKd
+NiqUNn61lD7kbmEGwvzKwf91FrJ09+CBMx1OnWKm3gCNKDqAEFMZCOdn2MgesJYB
+/03lzPBS1jDfBXImXRcTBzpgA+wdCLn0cIQ1eLWUwS5tUqUJNh36nHdVyJ0P2Yjd
+JLuxhFcmBKOz1ShyyO+BBtKBO8EGbU6qKflOiwOw0Fsn8LjKcrHQ58NPui5y04BU
+Rypf3QIDAQABo4GdMIGaMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgO4MB0G
+A1UdDgQWBBQyMUOsE2J+CKzK0qd8KFBD2gaWyjBbBgNVHSAEVDBSMFAGBFUdIAAw
+SDBGBggrBgEFBQcCAjA6GjhLZWVwIGF3YXkgZnJvbSBjaGlsZHJlbi4gIFRoaXMg
+Y2VydGlmaWNhdGUgaXMgbm90IGEgdG95LjANBgkqhkiG9w0BAQsFAAOCAQEAnkoy
+2tWJOyyyIQwtVojUxv1GWQPnw3WCUcKpuX4CJhHXLxNErW1fBg7bmo08BNmBPPpq
+WrJsy5lbBgUo9kgpViux5Stfy1rRIRsRLfl/icgCvJmUAxkmRCZL7yUvwG4K7s+8
+DwT+nW/XuWNP6Hd/qHccexB6COJ8KwvTdVoxAkCdX8qw4MCb/f7Kb1yle/vwBM5Q
+UUONCJ4bEns1vnb9DGlNDUJNwCfwORAaVJpVS38Mv4UnSTmb2KMePtCWcx/dNsYR
+2XrSGqLDnTvHwOpyhbfFTmackysGoSuDytORXy8YbwEiF13BwEK8i3rgNN0Z2ojf
+cpmE2xxmaa+A2uuN6g==
+-----END CERTIFICATE-----
+Bag Attributes
+    friendlyName: root
+    2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
+subject=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
+issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Root Certification Authority/emailAddress=simpledemo@openecomp.org
+-----BEGIN CERTIFICATE-----
+MIIFpTCCA42gAwIBAgIJAJqx8dKnCZZoMA0GCSqGSIb3DQEBCwUAMIG9MQswCQYD
+VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
+BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzE6MDgGA1UEAwwxT3Bl
+bkVDT01QIHNpbXBsZWRlbW8gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEn
+MCUGCSqGSIb3DQEJARYYc2ltcGxlZGVtb0BvcGVuZWNvbXAub3JnMB4XDTE2MTEy
+ODIxMTQyNloXDTIxMTEyNzIxMTQyNlowga0xCzAJBgNVBAYTAlVTMQswCQYDVQQI
+DAJOSjETMBEGA1UEBwwKQmVkbWluc3RlcjESMBAGA1UECgwJT3BlbkVDT01QMRMw
+EQYDVQQLDApzaW1wbGVkZW1vMSowKAYDVQQDDCFPcGVuRUNPTVAgc2ltcGxlZGVt
+byBTZXJ2ZXIgQ0EgWDExJzAlBgkqhkiG9w0BCQEWGHNpbXBsZWRlbW9Ab3BlbmVj
+b21wLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALr4rivKQuRk
+YNf5Ig40e1nqj6s6LB1vgMOYbKfRziOFpPcUpsHPOhusHowiUsrU1vdFSzPz6Ej7
+PjlmNSg2Qka8YCn9kd6QgM7U0KcPJvIucBp+qjifH3EvP0jgDPhDeVRYxzV454dv
+5kQ9uCpswJP7YAnX51dkWeH8nwPUoagt31bOl9LXENSrgxEThxdLYMJnQJWk2CmV
+otXM4tT1dxyJxFUrZ6uJCEAYw5VtlplqihHf8lHy+sWQavtsLz/4dc+sGeXSTfoI
+voKvoh3uZ5gEhGV8yfJxk1veX5y5/AxP80vQ+smWYjTnQL5QQ57y4bciez4XVBmQ
+SWimWtOi4e8CAwEAAaOBtTCBsjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
+AwIBhjAdBgNVHQ4EFgQUTqdsYgGNGubdJHq9tsaJhM9HE5wwcAYDVR0gBGkwZzBl
+BgRVHSAAMF0wWwYIKwYBBQUHAgIwTxpNSWYgeW91IHRydXN0IHRoaXMgY2VydCB0
+aGVuIHdlIGhhdmUgYSBicmlkZ2UgdGhhdCB5b3UgbWlnaHQgYmUgaW50ZXJlc3Rl
+ZCBpbi4wDQYJKoZIhvcNAQELBQADggIBAKNNlRqFuE/JgV1BHyYK0xoSXH4aZP/7
+IoHtDVcSaZAOOuFOUrwVMUbzRBebbb6RpFwt/X+NLFUGysd+XNLF7W7lzxKtmFNX
+n4OpNkBe0y5O7yurus8rERHzu3jiOSgVo+WzDlGpYSRnG3hI2qPWqD+Puzx/WwI8
+XUTuzEQQ3gUSyVFfXHpay3VpYmLZiLJ9WKY5SDw7Ie6Sxrju4Qm1HwnFY8wHZGcs
+2KMQzorJ1ZNQf523yUTghbT0rKaSFaD8zugPtI2ONfFG/QgrkQXo78opzPsHnHwa
+SxGSiAgeLbwAUCvPNl27zr6k6+7TcNjV0VUivAs0OG3VEAdgi7UWYB+30KfWwHwE
+zGmvd4IAGqIqlqLcSVArN5z8JK1B5nfjQn5UrclU1vK+dnuiKE2X4rKuBTRYRFR/
+km+mj4koYFPKFHndmJl1uv2OCJK9l5CSIuKWeI1qv8BASKqgNdoT/SKBXqxgYlCb
+o+j4IDjxrxChRO+e5vl9lA7INfRrbljCkUjfLRa+v2q9tWQ3+EQUwwnSrSfihh2T
+j0Tksr6b8dDsvMlCdOKG1B+JPcEXORSFKNXVTEfjqpJG8s16kFAocWt3S6xO0k1t
+qbQp+3tWQgW2TGnX0rMZzB6NGRNfWhlYmq2zHgXkiCIZ26Ztgt/LNbwEvN3+VlLo
+z/Rd+SKtlrfb
+-----END CERTIFICATE-----
diff --git a/test/csit/tests/aai/resources/suite1/aai.key b/test/csit/tests/aai/resources/suite1/aai.key
new file mode 100644
index 0000000..02724df
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite1/aai.key
@@ -0,0 +1,32 @@
+Bag Attributes
+    friendlyName: aaiopenecomp
+    localKeyID: 54 69 6D 65 20 31 35 30 34 38 33 32 34 34 33 32 39 32 
+Key Attributes: <No Attributes>
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBCtCXwDStPQmO
+Wiwyv/ssSFPlQ6J/gYY86T7c0IjFPeU6oBtR/531lfJPaNYVGIpa5rTe9D4PFzxz
+aHZFG4fwvASI6Jao+NZHE2qwBHNkwjevIcUIUFmHQVymMf2QR4pWUsNi5XryT5m5
+wp02KpQ2frWUPuRuYQbC/MrB/3UWsnT34IEzHU6dYqbeAI0oOoAQUxkI52fYyB6w
+lgH/TeXM8FLWMN8FciZdFxMHOmAD7B0IufRwhDV4tZTBLm1SpQk2Hfqcd1XInQ/Z
+iN0ku7GEVyYEo7PVKHLI74EG0oE7wQZtTqop+U6LA7DQWyfwuMpysdDnw0+6LnLT
+gFRHKl/dAgMBAAECggEBAJko2HkeIW01mUhdWOXnFgR7WjzzXZEmlffr41lVBr7f
+rejGsQZs9cms73R7rCdOsi8PDoA6bqaQfADg571K659fvYVWbHqh+3im+iWvUlKm
+GYIVG/vNrEq43CZsUU7Qw/xba/QiOFraNxCATTV1sORPwgddouXEi5XW9ZPX9/FJ
+wORx4L/K0DfHX1rr+rtOoHCJdZYhn3Ij87kmR8Mwg0fNeWhHqtxUEyM/itRjCvOe
+mgt2V8DORhmq12L4+5QJctBrkBVRp9Rh6YSZZBGnKbTSgf4q648BdkJDLSK4cguT
+D6BAw3gxj5V4wt5W0wn2JpjadFwnixrTzvMP/yAqfK0CgYEA93nBAoUPw8nzQkwk
+8iWBjfJ999Rw92hnnvk3xbcQcGfgUYuB4dxwe6FQTmFIVylt81er1YUvMb3ao7fo
+5ZcGnI5p1idjsd27kbZJLxb5Oh919hKu5IfkfYsVgnC0UdKCTgH5CaH0U4ATuXwt
+RL6qm0XcLALs5y2OO6z3s+mYhisCgYEAx7EQ8MA45bkXnRQiHBhGcIIcr2sRDfVJ
+OhHmGxx3EcYgtsIYKTqtQOyIt/nQxo6iyNL9bzfzBTybFJLuj63ZG1Ef4LosJedl
+eAU2NsKv5MlKYDSdNbLAJ0Op9I2Xu/pXQecPwY/3MkIQArdQCLevMLEGywCsuJTn
+BjkJNDkb9hcCgYAhoFiaiAwJVYKJSqFmibQd3opBR4uGApi54DE021gPff3b9rHS
+R8q88cFgtRVISqfW/d2qaKtt/dcckdvCfo/2a99zqux/+ZoIBZXSITQCMs4rfoRn
+JxPj/ycQD1JhH9J22QvGxEvXoLqNZJMeGS5DZO2yyT75dpYyA6Gwv5fq+wKBgQC5
+AhV917lfLELyZurLOLpaFlHZO8rLMcusH1UfHRo7v2IjsGOOHyzRD9QDD1IcA55R
+jRj8Z8uhuGq9fvvC5gBVTK3KGPI6E85wifOWfH1V7CAaTeSxEXDxb8EQL/a6U89v
+4VE5tdYCHC6VNZzS1staw0hV38QmJt57Z3Bdj+OV9QKBgE/b9fxpo+SVQ37BzNNY
+SEKTTijaddz8fdomApg6a2eFJL93Ej/op7N7gnHtPWMivPnRRza9ZjfnG+aZ7n2J
+sWyBiZK9xliS2TsF3l3q9Z0Vaq3i1nOlV7Bd20ZS8KjQjDtKnIRfLkQDkvmXbU5L
+emwkdsQZbpPFJch3mCGtI7JW
+-----END PRIVATE KEY-----
diff --git a/test/csit/tests/aai/resources/suite1/pserver.robot b/test/csit/tests/aai/resources/suite1/pserver.robot
new file mode 100644
index 0000000..55e57bc
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite1/pserver.robot
@@ -0,0 +1,65 @@
+*** Settings ***
+Library       OperatingSystem
+Library       RequestsLibrary
+Library       requests
+Library       Collections
+
+*** Variables ***
+${TARGETURL}  https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/pservers/pserver/pserver-test1
+${PSERVERDATA}  {"hostname": "pserver-test1"}
+
+*** Test Cases ***
+
+Run AAI Put Pserver
+    [Documentation]             Create an pserver object
+    ${resp}=                    PutWithCert              ${TARGETURL}              ${PSERVERDATA}
+    log                         ${TARGETURL}
+    log                         ${resp.text}
+    Should Be Equal As Strings  ${resp.status_code}      201
+
+Run AAI Get Pserver
+    [Documentation]             Get the pserver object just created
+    ${resp}                     GetWithCert              ${TARGETURL}
+    log                         ${resp}
+    log                         ${resp.json()}
+    Should Be Equal As Strings  ${resp.status_code}      200
+    ${resource_version}=        Evaluate                 $resp.json().get('resource-version')
+    Set Global Variable			${resource_version}
+
+Run AAI Delete Pserver
+    [Documentation]             Delete the pserver just created
+    ${resp}=                    DeleteWithCert           ${TARGETURL}?resource-version=${resource_version}
+    log                         ${resp.text}
+    Should Be Equal As Strings  ${resp.status_code}      204
+
+*** Keywords ***
+PutWithCert
+    [Arguments]      ${url}      ${data}
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.put('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+
+PostWithCert
+    [Arguments]      ${url}      ${data}
+    ${auth}=         Create List  AAI AAI
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.post('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+
+GetWithCert
+    [Arguments]      ${url}
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.get('${url}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+
+DeleteWithCert
+    [Arguments]      ${url}
+    ${auth}=         Create List  AAI AAI
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.delete('${url}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+    
diff --git a/test/csit/tests/aai/resources/suite2/__init__.robot b/test/csit/tests/aai/resources/suite2/__init__.robot
new file mode 100644
index 0000000..de8f659
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite2/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Resources - complex Suite
diff --git a/test/csit/tests/aai/resources/suite2/aai.crt b/test/csit/tests/aai/resources/suite2/aai.crt
new file mode 100644
index 0000000..6a28bbb
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite2/aai.crt
@@ -0,0 +1,70 @@
+Bag Attributes
+    friendlyName: aaiopenecomp
+    localKeyID: 54 69 6D 65 20 31 35 30 34 38 33 32 34 34 33 32 39 32 
+subject=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=SimpleDemo/CN=aai.api.simpledemo.openecomp.org/emailAddress=aai-host@api.simpledemo.openecomp.org
+issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
+-----BEGIN CERTIFICATE-----
+MIIEiTCCA3GgAwIBAgIJAIPKfDLcn3MpMA0GCSqGSIb3DQEBCwUAMIGtMQswCQYD
+VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
+BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzEqMCgGA1UEAwwhT3Bl
+bkVDT01QIHNpbXBsZWRlbW8gU2VydmVyIENBIFgxMScwJQYJKoZIhvcNAQkBFhhz
+aW1wbGVkZW1vQG9wZW5lY29tcC5vcmcwHhcNMTYxMTMwMTUzODM5WhcNMTcxMTMw
+MTUzODM5WjCBuTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5KMRMwEQYDVQQHDApC
+ZWRtaW5zdGVyMRIwEAYDVQQKDAlPcGVuRUNPTVAxEzARBgNVBAsMClNpbXBsZURl
+bW8xKTAnBgNVBAMMIGFhaS5hcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAub3JnMTQw
+MgYJKoZIhvcNAQkBFiVhYWktaG9zdEBhcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAu
+b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwQrQl8A0rT0Jjlos
+Mr/7LEhT5UOif4GGPOk+3NCIxT3lOqAbUf+d9ZXyT2jWFRiKWua03vQ+Dxc8c2h2
+RRuH8LwEiOiWqPjWRxNqsARzZMI3ryHFCFBZh0FcpjH9kEeKVlLDYuV68k+ZucKd
+NiqUNn61lD7kbmEGwvzKwf91FrJ09+CBMx1OnWKm3gCNKDqAEFMZCOdn2MgesJYB
+/03lzPBS1jDfBXImXRcTBzpgA+wdCLn0cIQ1eLWUwS5tUqUJNh36nHdVyJ0P2Yjd
+JLuxhFcmBKOz1ShyyO+BBtKBO8EGbU6qKflOiwOw0Fsn8LjKcrHQ58NPui5y04BU
+Rypf3QIDAQABo4GdMIGaMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgO4MB0G
+A1UdDgQWBBQyMUOsE2J+CKzK0qd8KFBD2gaWyjBbBgNVHSAEVDBSMFAGBFUdIAAw
+SDBGBggrBgEFBQcCAjA6GjhLZWVwIGF3YXkgZnJvbSBjaGlsZHJlbi4gIFRoaXMg
+Y2VydGlmaWNhdGUgaXMgbm90IGEgdG95LjANBgkqhkiG9w0BAQsFAAOCAQEAnkoy
+2tWJOyyyIQwtVojUxv1GWQPnw3WCUcKpuX4CJhHXLxNErW1fBg7bmo08BNmBPPpq
+WrJsy5lbBgUo9kgpViux5Stfy1rRIRsRLfl/icgCvJmUAxkmRCZL7yUvwG4K7s+8
+DwT+nW/XuWNP6Hd/qHccexB6COJ8KwvTdVoxAkCdX8qw4MCb/f7Kb1yle/vwBM5Q
+UUONCJ4bEns1vnb9DGlNDUJNwCfwORAaVJpVS38Mv4UnSTmb2KMePtCWcx/dNsYR
+2XrSGqLDnTvHwOpyhbfFTmackysGoSuDytORXy8YbwEiF13BwEK8i3rgNN0Z2ojf
+cpmE2xxmaa+A2uuN6g==
+-----END CERTIFICATE-----
+Bag Attributes
+    friendlyName: root
+    2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
+subject=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
+issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Root Certification Authority/emailAddress=simpledemo@openecomp.org
+-----BEGIN CERTIFICATE-----
+MIIFpTCCA42gAwIBAgIJAJqx8dKnCZZoMA0GCSqGSIb3DQEBCwUAMIG9MQswCQYD
+VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
+BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzE6MDgGA1UEAwwxT3Bl
+bkVDT01QIHNpbXBsZWRlbW8gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEn
+MCUGCSqGSIb3DQEJARYYc2ltcGxlZGVtb0BvcGVuZWNvbXAub3JnMB4XDTE2MTEy
+ODIxMTQyNloXDTIxMTEyNzIxMTQyNlowga0xCzAJBgNVBAYTAlVTMQswCQYDVQQI
+DAJOSjETMBEGA1UEBwwKQmVkbWluc3RlcjESMBAGA1UECgwJT3BlbkVDT01QMRMw
+EQYDVQQLDApzaW1wbGVkZW1vMSowKAYDVQQDDCFPcGVuRUNPTVAgc2ltcGxlZGVt
+byBTZXJ2ZXIgQ0EgWDExJzAlBgkqhkiG9w0BCQEWGHNpbXBsZWRlbW9Ab3BlbmVj
+b21wLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALr4rivKQuRk
+YNf5Ig40e1nqj6s6LB1vgMOYbKfRziOFpPcUpsHPOhusHowiUsrU1vdFSzPz6Ej7
+PjlmNSg2Qka8YCn9kd6QgM7U0KcPJvIucBp+qjifH3EvP0jgDPhDeVRYxzV454dv
+5kQ9uCpswJP7YAnX51dkWeH8nwPUoagt31bOl9LXENSrgxEThxdLYMJnQJWk2CmV
+otXM4tT1dxyJxFUrZ6uJCEAYw5VtlplqihHf8lHy+sWQavtsLz/4dc+sGeXSTfoI
+voKvoh3uZ5gEhGV8yfJxk1veX5y5/AxP80vQ+smWYjTnQL5QQ57y4bciez4XVBmQ
+SWimWtOi4e8CAwEAAaOBtTCBsjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
+AwIBhjAdBgNVHQ4EFgQUTqdsYgGNGubdJHq9tsaJhM9HE5wwcAYDVR0gBGkwZzBl
+BgRVHSAAMF0wWwYIKwYBBQUHAgIwTxpNSWYgeW91IHRydXN0IHRoaXMgY2VydCB0
+aGVuIHdlIGhhdmUgYSBicmlkZ2UgdGhhdCB5b3UgbWlnaHQgYmUgaW50ZXJlc3Rl
+ZCBpbi4wDQYJKoZIhvcNAQELBQADggIBAKNNlRqFuE/JgV1BHyYK0xoSXH4aZP/7
+IoHtDVcSaZAOOuFOUrwVMUbzRBebbb6RpFwt/X+NLFUGysd+XNLF7W7lzxKtmFNX
+n4OpNkBe0y5O7yurus8rERHzu3jiOSgVo+WzDlGpYSRnG3hI2qPWqD+Puzx/WwI8
+XUTuzEQQ3gUSyVFfXHpay3VpYmLZiLJ9WKY5SDw7Ie6Sxrju4Qm1HwnFY8wHZGcs
+2KMQzorJ1ZNQf523yUTghbT0rKaSFaD8zugPtI2ONfFG/QgrkQXo78opzPsHnHwa
+SxGSiAgeLbwAUCvPNl27zr6k6+7TcNjV0VUivAs0OG3VEAdgi7UWYB+30KfWwHwE
+zGmvd4IAGqIqlqLcSVArN5z8JK1B5nfjQn5UrclU1vK+dnuiKE2X4rKuBTRYRFR/
+km+mj4koYFPKFHndmJl1uv2OCJK9l5CSIuKWeI1qv8BASKqgNdoT/SKBXqxgYlCb
+o+j4IDjxrxChRO+e5vl9lA7INfRrbljCkUjfLRa+v2q9tWQ3+EQUwwnSrSfihh2T
+j0Tksr6b8dDsvMlCdOKG1B+JPcEXORSFKNXVTEfjqpJG8s16kFAocWt3S6xO0k1t
+qbQp+3tWQgW2TGnX0rMZzB6NGRNfWhlYmq2zHgXkiCIZ26Ztgt/LNbwEvN3+VlLo
+z/Rd+SKtlrfb
+-----END CERTIFICATE-----
diff --git a/test/csit/tests/aai/resources/suite2/aai.key b/test/csit/tests/aai/resources/suite2/aai.key
new file mode 100644
index 0000000..02724df
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite2/aai.key
@@ -0,0 +1,32 @@
+Bag Attributes
+    friendlyName: aaiopenecomp
+    localKeyID: 54 69 6D 65 20 31 35 30 34 38 33 32 34 34 33 32 39 32 
+Key Attributes: <No Attributes>
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBCtCXwDStPQmO
+Wiwyv/ssSFPlQ6J/gYY86T7c0IjFPeU6oBtR/531lfJPaNYVGIpa5rTe9D4PFzxz
+aHZFG4fwvASI6Jao+NZHE2qwBHNkwjevIcUIUFmHQVymMf2QR4pWUsNi5XryT5m5
+wp02KpQ2frWUPuRuYQbC/MrB/3UWsnT34IEzHU6dYqbeAI0oOoAQUxkI52fYyB6w
+lgH/TeXM8FLWMN8FciZdFxMHOmAD7B0IufRwhDV4tZTBLm1SpQk2Hfqcd1XInQ/Z
+iN0ku7GEVyYEo7PVKHLI74EG0oE7wQZtTqop+U6LA7DQWyfwuMpysdDnw0+6LnLT
+gFRHKl/dAgMBAAECggEBAJko2HkeIW01mUhdWOXnFgR7WjzzXZEmlffr41lVBr7f
+rejGsQZs9cms73R7rCdOsi8PDoA6bqaQfADg571K659fvYVWbHqh+3im+iWvUlKm
+GYIVG/vNrEq43CZsUU7Qw/xba/QiOFraNxCATTV1sORPwgddouXEi5XW9ZPX9/FJ
+wORx4L/K0DfHX1rr+rtOoHCJdZYhn3Ij87kmR8Mwg0fNeWhHqtxUEyM/itRjCvOe
+mgt2V8DORhmq12L4+5QJctBrkBVRp9Rh6YSZZBGnKbTSgf4q648BdkJDLSK4cguT
+D6BAw3gxj5V4wt5W0wn2JpjadFwnixrTzvMP/yAqfK0CgYEA93nBAoUPw8nzQkwk
+8iWBjfJ999Rw92hnnvk3xbcQcGfgUYuB4dxwe6FQTmFIVylt81er1YUvMb3ao7fo
+5ZcGnI5p1idjsd27kbZJLxb5Oh919hKu5IfkfYsVgnC0UdKCTgH5CaH0U4ATuXwt
+RL6qm0XcLALs5y2OO6z3s+mYhisCgYEAx7EQ8MA45bkXnRQiHBhGcIIcr2sRDfVJ
+OhHmGxx3EcYgtsIYKTqtQOyIt/nQxo6iyNL9bzfzBTybFJLuj63ZG1Ef4LosJedl
+eAU2NsKv5MlKYDSdNbLAJ0Op9I2Xu/pXQecPwY/3MkIQArdQCLevMLEGywCsuJTn
+BjkJNDkb9hcCgYAhoFiaiAwJVYKJSqFmibQd3opBR4uGApi54DE021gPff3b9rHS
+R8q88cFgtRVISqfW/d2qaKtt/dcckdvCfo/2a99zqux/+ZoIBZXSITQCMs4rfoRn
+JxPj/ycQD1JhH9J22QvGxEvXoLqNZJMeGS5DZO2yyT75dpYyA6Gwv5fq+wKBgQC5
+AhV917lfLELyZurLOLpaFlHZO8rLMcusH1UfHRo7v2IjsGOOHyzRD9QDD1IcA55R
+jRj8Z8uhuGq9fvvC5gBVTK3KGPI6E85wifOWfH1V7CAaTeSxEXDxb8EQL/a6U89v
+4VE5tdYCHC6VNZzS1staw0hV38QmJt57Z3Bdj+OV9QKBgE/b9fxpo+SVQ37BzNNY
+SEKTTijaddz8fdomApg6a2eFJL93Ej/op7N7gnHtPWMivPnRRza9ZjfnG+aZ7n2J
+sWyBiZK9xliS2TsF3l3q9Z0Vaq3i1nOlV7Bd20ZS8KjQjDtKnIRfLkQDkvmXbU5L
+emwkdsQZbpPFJch3mCGtI7JW
+-----END PRIVATE KEY-----
diff --git a/test/csit/tests/aai/resources/suite2/complex.robot b/test/csit/tests/aai/resources/suite2/complex.robot
new file mode 100644
index 0000000..3602f73
--- /dev/null
+++ b/test/csit/tests/aai/resources/suite2/complex.robot
@@ -0,0 +1,72 @@
+*** Settings ***
+Library       OperatingSystem
+Library       RequestsLibrary
+Library       requests
+Library       Collections
+
+*** Variables ***
+${COMPLEXKEYVALUE}  complex-integration-test1
+${COMPLEXURL}  https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/complexes/complex/${COMPLEXKEYVALUE}
+${COMPLEXDATA}  {"physical-location-id":"${COMPLEXKEYVALUE}","data-center-code":"example-data-center-code-val-77883","complex-name":"example-complex-name-val-12992","identity-url":"example-identity-url-val-74366","physical-location-type":"example-physical-location-type-val-32854","street1":"example-street1-val-26496","street2":"example-street2-val-6629","city":"example-city-val-30262","state":"example-state-val-9058","postal-code":"example-postal-code-val-44893","country":"example-country-val-98673","region":"example-region-val-10014","latitude":"example-latitude-val-47555","longitude":"example-longitude-val-76903","elevation":"example-elevation-val-63385","lata":"example-lata-val-90935"}
+
+*** Test Cases ***
+
+Run AAI Put complex
+    [Documentation]             Create an complex object
+    ${resp}=                    PutWithCert              ${COMPLEXURL}              ${COMPLEXDATA}
+    log                         ${COMPLEXURL}
+    log                         ${resp.text}
+    Should Be Equal As Strings  ${resp.status_code}      201
+
+Run AAI Get complex
+    [Documentation]             Get the complex object just created
+    ${resp}                     GetWithCert              ${COMPLEXURL}
+    log                         ${resp}
+    log                         ${resp.json()}
+    Should Be Equal As Strings  ${resp.status_code}      200
+    ${resource_version}=        Evaluate                 $resp.json().get('resource-version')
+    Set Global Variable			${resource_version}
+
+Run AAI Delete complex
+    [Documentation]             Delete the complex just created
+    ${resp}=                    DeleteWithCert           ${COMPLEXURL}?resource-version=${resource_version}
+    log                         ${resp.text}
+    Should Be Equal As Strings  ${resp.status_code}      204
+
+*** Keywords ***
+PutWithCert
+    [Arguments]      ${url}      ${data}
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.put('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+	
+PatchWithCert
+    [Arguments]      ${url}      ${data}
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/merge-patch+json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.patch('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}	
+
+PostWithCert
+    [Arguments]      ${url}      ${data}
+    ${auth}=         Create List  AAI AAI
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.post('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+
+GetWithCert
+    [Arguments]      ${url}
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.get('${url}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
+
+DeleteWithCert
+    [Arguments]      ${url}
+    ${auth}=         Create List  AAI AAI
+    ${headers}=      Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=integration-aai    X-FromAppId=integration-aai   Authorization=Basic QUFJOkFBSQ==
+    ${certinfo}=     Evaluate    ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
+    ${resp}=         Evaluate    requests.delete('${url}', headers=${headers}, cert=${certinfo}, verify=False)    requests
+    [return]         ${resp}
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/test1.robot b/test/csit/tests/appc/healthcheck/test1.robot
index 05eee5b..8bd4986 100644
--- a/test/csit/tests/appc/healthcheck/test1.robot
+++ b/test/csit/tests/appc/healthcheck/test1.robot
@@ -6,6 +6,7 @@
 
 ${bundle_query}    ${SCRIPTS}/bundle_query.sh
 ${health_check}    ${SCRIPTS}/health_check.sh
+${db_query}    ${SCRIPTS}/db_query.sh
 
 
 *** Test Cases ***
@@ -19,4 +20,8 @@
     ${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
 
diff --git a/test/csit/tests/appc/testsuite/APPC_Netstat.robot b/test/csit/tests/appc/testsuite/APPC_Netstat.robot
new file mode 100644
index 0000000..5544fb5
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/APPC_Netstat.robot
@@ -0,0 +1,19 @@
+*** Settings ***
+Library    SSHLibrary
+Library    OperatingSystem
+*** Variables ***
+${HOST}    104.130.138.49
+${USERNAME}    test            
+${private_key}    H:\\TestSuite\\testsuite\\robot\\testsuites               
+*** Test Cases ***
+APPC Netstat 
+   Open Connection    ${HOST}
+   ${password}=    Get File    ${private_key}
+   Login    ${USERNAME}    ${password}
+   log to console      \nConnected Successfully
+   ${cmd} =    set variable    netstat -a | grep -E '8443 | grep LISTEN
+   execute command     ${cmd}
+       
+Tear Down
+    [Documentation]   Close all connections
+    Close All connections
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
new file mode 100644
index 0000000..c3594ef
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
@@ -0,0 +1,33 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\Healthchk.json
+
+
+*** Test Cases ***
+    
+APPC LCM Health check
+	[Documentation]	APPC HealthCheck 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome
+	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
+	
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	
+	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')]
+	Click Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
+	
+	${HealthChk}=    Get File    ${RequestJSON}
+	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
+	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    ${HealthChk}
+	
+	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]
+	Click 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]
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
new file mode 100644
index 0000000..997ba17
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
@@ -0,0 +1,31 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    /LearningSamples/Resources/VMRestart.json
+
+
+*** Test Cases ***
+    
+APPC API VM RESTART
+	[Documentation]	APPC VM LCM Restart 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
+	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
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23"]/div[1]/h3/span[2]/a
+	${VM_LCM_RESTART}     Get File    ${RequestJSON}
+	Input Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/table/tbody/tr/td[2]/textarea     ${VM_LCM_RESTART}
+	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/div[2]/input
+	# Get Text locator
+	${ResponseCode}    Get Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
+	${var}    Get Value    xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
+	Log     Value-->    ${ResponseCode}
+	Log     var-->    ${var}
+	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre     400     expected
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
new file mode 100644
index 0000000..1bb2c13
--- /dev/null
+++ b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
@@ -0,0 +1,45 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+
+*** Variable ***
+${ResponseCode}
+${var}
+${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\VNFRestart.json
+
+
+*** Test Cases ***
+    
+APPC API VM RESTART
+	[Documentation]	APPC VM LCM Restart 
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
+	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
+	
+	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
+	
+	
+	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')]        
+	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]
+	
+	
+	${VNF_LCM_RESTART}=     Get File    ${RequestJSON}
+	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')]//following::table
+	
+	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table//tbody/tr/td[2]/textarea     ${VNF_LCM_RESTART}
+	
+	# 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')]/form/div[2]/input    
+	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]
+	
+	# Get Text locator
+	${ResponseCode}    Get Text     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
+	
+	# //*[@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')]//following-sibling::div//pre
+	${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
+	Log     Value-->    ${ResponseCode}
+	Log     var-->    ${var}
+	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1]     200     expected
+	
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/clamp/TCA/test1.robot b/test/csit/tests/clamp/TCA/01__TCA.robot
similarity index 98%
rename from test/csit/tests/clamp/TCA/test1.robot
rename to test/csit/tests/clamp/TCA/01__TCA.robot
index b1fb0f4..45f20f2 100644
--- a/test/csit/tests/clamp/TCA/test1.robot
+++ b/test/csit/tests/clamp/TCA/01__TCA.robot
@@ -3,7 +3,6 @@
 Library     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     HttpLibrary.HTTP
 
 
 *** Test Cases ***
diff --git a/test/csit/tests/clamp/TCA/data/createTemplate1.json b/test/csit/tests/clamp/TCA/data/createTemplate1.json
index 0b08d58..b6363ef 100644
--- a/test/csit/tests/clamp/TCA/data/createTemplate1.json
+++ b/test/csit/tests/clamp/TCA/data/createTemplate1.json
@@ -2,6 +2,6 @@
   "name": "template1",
   "controlNamePrefix": "ClosedLoop-",
   "bpmnText": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_1\" targetNamespace=\"http://bpmn.io/schema/bpmn\">  <bpmn:process id=\"Process_1\" isExecutable=\"false\">    <bpmn:startEvent id=\"StartEvent_1\">      <bpmn:outgoing>SequenceFlow_0wokvsg</bpmn:outgoing>    </bpmn:startEvent>    <bpmn:collector id=\"Collector_04kan6k\">      <bpmn:incoming>SequenceFlow_0wokvsg</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0w8129u</bpmn:outgoing>    </bpmn:collector>    <bpmn:tCA id=\"TCA_0laok3g\">      <bpmn:incoming>SequenceFlow_0w8129u</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0bdkahu</bpmn:outgoing>    </bpmn:tCA>    <bpmn:policy id=\"Policy_1u1q61z\">      <bpmn:incoming>SequenceFlow_0bdkahu</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_039geog</bpmn:outgoing>    </bpmn:policy>    <bpmn:endEvent id=\"EndEvent_1jhpt6o\">      <bpmn:incoming>SequenceFlow_039geog</bpmn:incoming>    </bpmn:endEvent>    <bpmn:sequenceFlow id=\"SequenceFlow_0wokvsg\" sourceRef=\"StartEvent_1\" targetRef=\"Collector_04kan6k\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0w8129u\" sourceRef=\"Collector_04kan6k\" targetRef=\"TCA_0laok3g\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0bdkahu\" sourceRef=\"TCA_0laok3g\" targetRef=\"Policy_1u1q61z\" />    <bpmn:sequenceFlow id=\"SequenceFlow_039geog\" sourceRef=\"Policy_1u1q61z\" targetRef=\"EndEvent_1jhpt6o\" />  </bpmn:process>  <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">    <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">      <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">        <dc:Bounds x=\"50\" y=\"162\" width=\"36\" height=\"36\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Collector_04kan6k_di\" bpmnElement=\"Collector_04kan6k\">        <dc:Bounds x=\"156\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"TCA_0laok3g_di\" bpmnElement=\"TCA_0laok3g\">        <dc:Bounds x=\"372\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Policy_1u1q61z_di\" bpmnElement=\"Policy_1u1q61z\">        <dc:Bounds x=\"603\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"EndEvent_1jhpt6o_di\" bpmnElement=\"EndEvent_1jhpt6o\">        <dc:Bounds x=\"874\" y=\"162\" width=\"36\" height=\"36\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"847\" y=\"198\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNShape>      <bpmndi:BPMNEdge id=\"SequenceFlow_0wokvsg_di\" bpmnElement=\"SequenceFlow_0wokvsg\">        <di:waypoint xsi:type=\"dc:Point\" x=\"86\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"156\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"76\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0w8129u_di\" bpmnElement=\"SequenceFlow_0w8129u\">        <di:waypoint xsi:type=\"dc:Point\" x=\"276\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"372\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"279\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0bdkahu_di\" bpmnElement=\"SequenceFlow_0bdkahu\">        <di:waypoint xsi:type=\"dc:Point\" x=\"492\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"603\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"502.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_039geog_di\" bpmnElement=\"SequenceFlow_039geog\">        <di:waypoint xsi:type=\"dc:Point\" x=\"723\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"874\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"753.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>    </bpmndi:BPMNPlane>  </bpmndi:BPMNDiagram></bpmn:definitions>",
-  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
+  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
   "imageText":"<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- created with bpmn-js / http://bpmn.io --><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"873\" height=\"92\" viewBox=\"44 134 873 92\" version=\"1.1\"><defs><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkekx\"><path d=\"M 1 5 L 11 10 L 1 15 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"6\" refY=\"6\" id=\"markerSj6f0mkekz\"><circle cx=\"6\" cy=\"6\" r=\"3.5\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"8.5\" refY=\"5\" id=\"markerSj6f0mkek11\"><path d=\"m 1 5 l 0 -3 l 7 3 l -7 3 z\" style=\"stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkek13\"><path d=\"M 1 5 L 11 10 L 1 15\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-1\" refY=\"10\" id=\"markerSj6f0mkek15\"><path d=\"M 0 10 L 8 6 L 16 10 L 8 14 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-5\" refY=\"10\" id=\"markerSj6f0mkek17\"><path d=\"M 1 4 L 5 16\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\" stroke=\"#000000\"/></marker></defs><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1\" transform=\"matrix(1,0,0,1,50,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1_label\" transform=\"matrix(1,0,0,1,23,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Collector_04kan6k\" transform=\"matrix(1,0,0,1,156,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"120,80 120,20 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><polyline points=\"20,0 20,80 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"35.5\" y=\"43.5\">Collector</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"TCA_0laok3g\" transform=\"matrix(1,0,0,1,372,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,60 120,60 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"48\" y=\"43.5\">TCA</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Policy_1u1q61z\" transform=\"matrix(1,0,0,1,603,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,40 60,0 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"43.5\" y=\"43.5\">Policy</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape selected\" data-element-id=\"EndEvent_1jhpt6o\" transform=\"matrix(1,0,0,1,874,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 4;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect><g class=\" djs-resizer djs-resizer-nw\" transform=\"matrix(1,0,0,1,0,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-ne\" transform=\"matrix(0,1,-1,0,36,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-se\" transform=\"matrix(-1,0,0,-1,36,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-sw\" transform=\"matrix(0,-1,1,0,0,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"EndEvent_1jhpt6o_label\" transform=\"matrix(1,0,0,1,847,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0wokvsg\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"80\" y=\"174\" width=\"82\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  86,180L156,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"86,180 156,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0wokvsg_label\" transform=\"matrix(1,0,0,1,76,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0w8129u\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"270\" y=\"174\" width=\"108\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  276,180L372,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"276,180 372,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0w8129u_label\" transform=\"matrix(1,0,0,1,279,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0bdkahu\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"486\" y=\"174\" width=\"123\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  492,180L603,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"492,180 603,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0bdkahu_label\" transform=\"matrix(1,0,0,1,502.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_039geog\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"717\" y=\"174\" width=\"163\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  723,180L874,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"723,180 874,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_039geog_label\" transform=\"matrix(1,0,0,1,753.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g></svg>"
 }
\ No newline at end of file
diff --git a/test/csit/tests/clamp/TCA/data/createTemplate2.json b/test/csit/tests/clamp/TCA/data/createTemplate2.json
index 84f7c06..b246fdc 100644
--- a/test/csit/tests/clamp/TCA/data/createTemplate2.json
+++ b/test/csit/tests/clamp/TCA/data/createTemplate2.json
@@ -2,6 +2,6 @@
   "name": "template2",
   "controlNamePrefix": "ClosedLoop-",
   "bpmnText": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_1\" targetNamespace=\"http://bpmn.io/schema/bpmn\">  <bpmn:process id=\"Process_1\" isExecutable=\"false\">    <bpmn:startEvent id=\"StartEvent_1\">      <bpmn:outgoing>SequenceFlow_0wokvsg</bpmn:outgoing>    </bpmn:startEvent>    <bpmn:collector id=\"Collector_04kan6k\">      <bpmn:incoming>SequenceFlow_0wokvsg</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0w8129u</bpmn:outgoing>    </bpmn:collector>    <bpmn:tCA id=\"TCA_0laok3g\">      <bpmn:incoming>SequenceFlow_0w8129u</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0bdkahu</bpmn:outgoing>    </bpmn:tCA>    <bpmn:policy id=\"Policy_1u1q61z\">      <bpmn:incoming>SequenceFlow_0bdkahu</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_039geog</bpmn:outgoing>    </bpmn:policy>    <bpmn:endEvent id=\"EndEvent_1jhpt6o\">      <bpmn:incoming>SequenceFlow_039geog</bpmn:incoming>    </bpmn:endEvent>    <bpmn:sequenceFlow id=\"SequenceFlow_0wokvsg\" sourceRef=\"StartEvent_1\" targetRef=\"Collector_04kan6k\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0w8129u\" sourceRef=\"Collector_04kan6k\" targetRef=\"TCA_0laok3g\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0bdkahu\" sourceRef=\"TCA_0laok3g\" targetRef=\"Policy_1u1q61z\" />    <bpmn:sequenceFlow id=\"SequenceFlow_039geog\" sourceRef=\"Policy_1u1q61z\" targetRef=\"EndEvent_1jhpt6o\" />  </bpmn:process>  <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">    <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">      <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">        <dc:Bounds x=\"50\" y=\"162\" width=\"36\" height=\"36\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Collector_04kan6k_di\" bpmnElement=\"Collector_04kan6k\">        <dc:Bounds x=\"156\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"TCA_0laok3g_di\" bpmnElement=\"TCA_0laok3g\">        <dc:Bounds x=\"372\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Policy_1u1q61z_di\" bpmnElement=\"Policy_1u1q61z\">        <dc:Bounds x=\"603\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"EndEvent_1jhpt6o_di\" bpmnElement=\"EndEvent_1jhpt6o\">        <dc:Bounds x=\"874\" y=\"162\" width=\"36\" height=\"36\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"847\" y=\"198\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNShape>      <bpmndi:BPMNEdge id=\"SequenceFlow_0wokvsg_di\" bpmnElement=\"SequenceFlow_0wokvsg\">        <di:waypoint xsi:type=\"dc:Point\" x=\"86\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"156\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"76\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0w8129u_di\" bpmnElement=\"SequenceFlow_0w8129u\">        <di:waypoint xsi:type=\"dc:Point\" x=\"276\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"372\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"279\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0bdkahu_di\" bpmnElement=\"SequenceFlow_0bdkahu\">        <di:waypoint xsi:type=\"dc:Point\" x=\"492\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"603\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"502.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_039geog_di\" bpmnElement=\"SequenceFlow_039geog\">        <di:waypoint xsi:type=\"dc:Point\" x=\"723\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"874\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"753.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>    </bpmndi:BPMNPlane>  </bpmndi:BPMNDiagram></bpmn:definitions>",
-  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
+  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
   "imageText":"<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- created with bpmn-js / http://bpmn.io --><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"873\" height=\"92\" viewBox=\"44 134 873 92\" version=\"1.1\"><defs><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkekx\"><path d=\"M 1 5 L 11 10 L 1 15 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"6\" refY=\"6\" id=\"markerSj6f0mkekz\"><circle cx=\"6\" cy=\"6\" r=\"3.5\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"8.5\" refY=\"5\" id=\"markerSj6f0mkek11\"><path d=\"m 1 5 l 0 -3 l 7 3 l -7 3 z\" style=\"stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkek13\"><path d=\"M 1 5 L 11 10 L 1 15\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-1\" refY=\"10\" id=\"markerSj6f0mkek15\"><path d=\"M 0 10 L 8 6 L 16 10 L 8 14 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-5\" refY=\"10\" id=\"markerSj6f0mkek17\"><path d=\"M 1 4 L 5 16\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\" stroke=\"#000000\"/></marker></defs><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1\" transform=\"matrix(1,0,0,1,50,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1_label\" transform=\"matrix(1,0,0,1,23,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Collector_04kan6k\" transform=\"matrix(1,0,0,1,156,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"120,80 120,20 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><polyline points=\"20,0 20,80 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"35.5\" y=\"43.5\">Collector</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"TCA_0laok3g\" transform=\"matrix(1,0,0,1,372,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,60 120,60 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"48\" y=\"43.5\">TCA</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Policy_1u1q61z\" transform=\"matrix(1,0,0,1,603,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,40 60,0 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"43.5\" y=\"43.5\">Policy</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape selected\" data-element-id=\"EndEvent_1jhpt6o\" transform=\"matrix(1,0,0,1,874,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 4;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect><g class=\" djs-resizer djs-resizer-nw\" transform=\"matrix(1,0,0,1,0,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-ne\" transform=\"matrix(0,1,-1,0,36,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-se\" transform=\"matrix(-1,0,0,-1,36,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-sw\" transform=\"matrix(0,-1,1,0,0,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"EndEvent_1jhpt6o_label\" transform=\"matrix(1,0,0,1,847,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0wokvsg\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"80\" y=\"174\" width=\"82\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  86,180L156,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"86,180 156,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0wokvsg_label\" transform=\"matrix(1,0,0,1,76,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0w8129u\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"270\" y=\"174\" width=\"108\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  276,180L372,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"276,180 372,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0w8129u_label\" transform=\"matrix(1,0,0,1,279,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0bdkahu\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"486\" y=\"174\" width=\"123\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  492,180L603,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"492,180 603,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0bdkahu_label\" transform=\"matrix(1,0,0,1,502.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_039geog\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"717\" y=\"174\" width=\"163\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  723,180L874,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"723,180 874,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_039geog_label\" transform=\"matrix(1,0,0,1,753.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g></svg>"
 }
\ No newline at end of file
diff --git a/test/csit/tests/clamp/UIs/01__Create_template.robot b/test/csit/tests/clamp/UIs/01__Create_template.robot
new file mode 100644
index 0000000..d740ac9
--- /dev/null
+++ b/test/csit/tests/clamp/UIs/01__Create_template.robot
@@ -0,0 +1,81 @@
+*** Settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     Selenium2Library
+Library     XvfbRobot
+
+
+*** Test Cases ***
+Get Requests health check ok
+    CreateSession   clamp  http://localhost:8080
+    ${resp}=    Get Request    clamp   /restservices/clds/v1/clds/healthcheck
+    Should Be Equal As Strings  ${resp.status_code}     200
+
+Open Browser
+# Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line.
+    Start Virtual Display    1920    1080
+    Open Browser    http://localhost:8080/designer/index.html    browser=firefox
+    Set Selenium Speed      .2 seconds
+    Set Window Size    1920    1080
+    ${title}=    Get Title
+    Should Be Equal    CLDS    ${title}
+
+Bad Login to Clamp UI and Verify not logged in
+    Input Text      locator=username    text=bad_login
+    Input Text      locator=password    text=This_is_bad_password
+    Press Key    locator=password       key=\\13
+    Wait Until Element Is Visible       locator=username       timeout=5
+    Page Should Not Contain Element      xpath=//*[@class="navbar-brand logo_name ng-binding"]       expected=*Hello:admin*
+
+Good Login to Clamp UI and Verify logged in
+    Input Text      locator=username    text=admin
+    Input Text      locator=password    text=password
+    Press Key    locator=password       key=\\13
+    Wait Until Element Is Visible       xpath=//*[@class="navbar-brand logo_name ng-binding"]       timeout=60
+    Element Text Should Be      xpath=//*[@class="navbar-brand logo_name ng-binding"]       expected=Hello:admin
+
+Create Template from Menu
+    Wait Until Element Is Visible       xpath=//*[@id="navbar"]/ul/li[1]/a       timeout=60
+    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
+    Wait Until Element Is Visible       locator=Create Template       timeout=60
+    Click Element    locator=Create Template
+    Input Text      locator=modelName       text=template
+    Click Button    locator=OK
+
+Drag and Drop Boxes for template
+    Wait Until Element Is Visible       xpath=//*[@class="entry icon-collector-node"]       timeout=60
+    Drag And Drop By Offset     xpath=//*[@class="entry icon-collector-node"]       280      280
+    Drag And Drop By Offset     xpath=//*[@class="entry icon-tca-node"]       550      280
+    Drag And Drop By Offset     xpath=//*[@class="entry icon-policy-node"]       800      280
+    Drag And Drop By Offset     xpath=//*[@class="entry icon-end-event-none"]       1000      280
+
+Drag and Drop Connectors for template
+    Click Element    xpath=//*[starts-with(@data-element-id, "StartEvent_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[2]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[2]/div      xpath=//*[starts-with(@data-element-id, "Collector_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div     xpath=//*[starts-with(@data-element-id, "TCA_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div     xpath=//*[starts-with(@data-element-id, "Policy_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[3]/div      xpath=//*[starts-with(@data-element-id, "EndEvent_")]
+
+Add Template properties yaml from Menu
+    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
+    Wait Until Element Is Visible       locator=Template Properties      timeout=60
+    Click Element    locator=Template Properties
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}TCA_template_properties.yml
+    Input Text      locator=service       text=${data}
+    Click Button    locator=Close
+
+Save Template from Menu
+    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
+    Wait Until Element Is Visible       locator=Save Template      timeout=60
+    Click Element    locator=Save Template
+    Wait Until Element Is Visible       xpath=//*[@id="alert_message_"]      timeout=60
+    Element Text Should Be      xpath=//*[@id="alert_message_"]       expected=Action Successful:SAVE
+
+Close Browser
+    Close Browser
\ No newline at end of file
diff --git a/test/csit/tests/clamp/UIs/test1.robot b/test/csit/tests/clamp/UIs/02__Create_model.robot
similarity index 62%
rename from test/csit/tests/clamp/UIs/test1.robot
rename to test/csit/tests/clamp/UIs/02__Create_model.robot
index fafb000..979a980 100644
--- a/test/csit/tests/clamp/UIs/test1.robot
+++ b/test/csit/tests/clamp/UIs/02__Create_model.robot
@@ -3,7 +3,6 @@
 Library     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     HttpLibrary.HTTP
 Library     Selenium2Library
 Library     XvfbRobot
 
@@ -18,17 +17,11 @@
 # Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line.
     Start Virtual Display    1920    1080
     Open Browser    http://localhost:8080/designer/index.html    browser=firefox
+    Set Selenium Speed      .2 seconds
     Set Window Size    1920    1080
     ${title}=    Get Title
     Should Be Equal    CLDS    ${title}
 
-Bad Login to Clamp UI and Verify not logged in
-    Input Text      locator=username    text=bad_login
-    Input Text      locator=password    text=This_is_bad_password
-    Press Key    locator=password       key=\\13
-    Wait Until Element Is Visible       locator=username       timeout=5
-    Page Should Not Contain Element      xpath=//*[@class="navbar-brand logo_name ng-binding"]       expected=*Hello:admin*
-
 Good Login to Clamp UI and Verify logged in
     Input Text      locator=username    text=admin
     Input Text      locator=password    text=password
@@ -36,13 +29,20 @@
     Wait Until Element Is Visible       xpath=//*[@class="navbar-brand logo_name ng-binding"]       timeout=60
     Element Text Should Be      xpath=//*[@class="navbar-brand logo_name ng-binding"]       expected=Hello:admin
 
-Create Template from Menu
-    Wait Until Element Is Visible       xpath=//*[@id="navbar"]/ul/li[1]/a       timeout=60
-    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
-    Wait Until Element Is Visible       locator=Create Template       timeout=60
-    Click Element    locator=Create Template
-    Input Text      locator=modelName       text=template1
-    Click Button    locator=OK
+Create Model from Menu
+    Wait Until Element Is Visible       xpath=//*[@id="navbar"]/ul/li[2]/a       timeout=60
+    Click Element    xpath=//*[@id="navbar"]/ul/li[2]/a
+    Wait Until Element Is Visible       locator=Create CL       timeout=60
+    Click Element    locator=Create CL
+    Input Text      locator=modelName       text=model1
+    Click Button    locator=Create
+
+Save Model from Menu
+    Click Element    xpath=//*[@id="navbar"]/ul/li[2]/a
+    Wait Until Element Is Visible       locator=Save CL      timeout=60
+    Click Element    locator=Save CL
+    Wait Until Element Is Visible       xpath=//*[@id="alert_message_"]      timeout=60
+    Element Text Should Be      xpath=//*[@id="alert_message_"]       expected=Action Successful:SAVE
 
 Close Browser
-    Close Browser
\ No newline at end of file
+    Close Browser
diff --git a/test/csit/tests/clamp/UIs/data/TCA_template_properties.yml b/test/csit/tests/clamp/UIs/data/TCA_template_properties.yml
new file mode 100644
index 0000000..3e09fda
--- /dev/null
+++ b/test/csit/tests/clamp/UIs/data/TCA_template_properties.yml
@@ -0,0 +1,51 @@
+tosca_definitions_version: cloudify_dsl_1_2
+
+imports:
+- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml
+- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml
+
+node_templates:
+  MTCA:
+    type: dcae.nodes.cdap_app
+    properties:
+      service_name: "cdap-mtca-central"
+      deployment_JSON: |-
+          {
+            "clusterService": {"$ref": "/services/vm-cdap-cluster-central/instances/rdm2c"},
+            "namespace": "MTCA",
+            "appNames": [ "cdap-mtca" ],
+            "flowNames": [ "cdap-mtca.TCAVESCollectorFlow" ],
+            "workerNames": ["cdap-mtca.TCADMaaPMRSubscriberWorker", "cdap-mtca.TCADMaaPMRPublisherWorker"],
+            "serviceNames" : [],
+            "apps": {
+              "cdap-mtca": {
+                "jarFile": "/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar",
+                "artifactName": "dcae-analytics-mtca",
+                "version": "1.0.0",
+                "appConfigFileContent": "{config:{ \"appName\":\"cdap-mtca\", \"appDescription\":\"DCAE Analytics Threshold Crossing Alert Application\", \"tcaSubscriberOutputStreamName\":\"TCASubscriberOutputStream\", \"thresholdCalculatorFlowletInstances\":2, \"tcaVESMessageStatusTableName\":\"TCAVESMessageStatusTable\", \"tcaVESMessageStatusTableTTLSeconds\":864000, \"tcaVESAlertsTableName\":\"TCAVESAlertsTable\", \"tcaVESAlertsTableTTLSeconds\":1728000 }}"
+              }
+            },
+
+            "configuration": {
+                "$class": "com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration",
+                "subscriberContentType": "",
+                "subscriberConsumerId": "c12",
+                "subscriberConsumerGroup": "OpenDCAE-c12",
+                "subscriberTimeoutMS": "-1",
+                "subscriberMessageLimit": "-1",
+                "subscriberPollingInterval": "20000",
+                "publisherContentType": "application/json",
+                "publisherMaxBatchSize": "10",
+                "publisherMaxRecoveryQueueSize": "100000",
+                "publisherPollingInterval": "20000",
+                "publisherAlertWindowingTime": "86400",
+                "policyName": "policy.dcae.configuration",
+                "policyScope": "pnf=eNodeB;type=configuration",
+                "policyVersion": "1.0.0",
+                "domain" : "measurementsForVfScaling",
+
+                "signatures" : {
+             	 }
+
+             }
+          }
diff --git a/test/csit/tests/cli/startup/__init__.robot b/test/csit/tests/cli/startup/__init__.robot
new file mode 100644
index 0000000..9eca691
--- /dev/null
+++ b/test/csit/tests/cli/startup/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    cli - Startup
diff --git a/test/csit/tests/cli/startup/startup_check.robot b/test/csit/tests/cli/startup/startup_check.robot
new file mode 100644
index 0000000..053a6d1
--- /dev/null
+++ b/test/csit/tests/cli/startup/startup_check.robot
@@ -0,0 +1,70 @@
+*** Settings ***
+Library       RequestsLibrary
+Library       Process
+
+*** Variables ***
+
+${cli_exec}    docker exec cli onap
+${cli_exec_onap_11}    docker exec -e CLI_PRODUCT_VERSION=onap-1.1 onap
+${cli_exec_onap_10}    docker exec -e CLI_PRODUCT_VERSION=onap-1.0 onap
+${cli_exec_cli_10}    docker exec -e CLI_PRODUCT_VERSION=cli-1.0 onap
+
+*** Test Cases ***
+Liveness Test
+    [Documentation]        Check cli liveness check
+    Create Session         cli              http://${CLI_IP}:8080
+    CheckUrl               cli              /
+
+Check Cli help
+    [Documentation]    check cli help command
+    ${cli_cmd_output}=    Run Process   ${cli_exec} --help    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+    Should Contain    ${cli_cmd_output.stdout}    CLI version
+
+Check Cli Version Default
+    [Documentation]    check cli default version
+    ${cli_cmd_output}=    Run Process   ${cli_exec} --version    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+    Should Contain    ${cli_cmd_output.stdout}    : cli-1.0
+
+Check Cli Scheam Refresh
+    [Documentation]    check cli schema-refresh command
+    ${cli_cmd_output}=    Run Process   ${cli_exec} schema-refresh    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+    Should Contain    ${cli_cmd_output.stdout}    sl-no
+    Should Contain    ${cli_cmd_output.stdout}    command
+    Should Contain    ${cli_cmd_output.stdout}    product-version
+    Should Contain    ${cli_cmd_output.stdout}    schema
+    Should Contain    ${cli_cmd_output.stdout}    version
+
+Check Cli Schema Validate With Valid Path
+    [Documentation]    check cli schema-validate command with valid path
+    ${cli_cmd_output}=    Run Process   ${cli_exec} schema-validate -i -l schema-refresh.yaml    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    0
+    Should Contain    ${cli_cmd_output.stdout}    sl-no
+    Should Contain    ${cli_cmd_output.stdout}    error
+
+Check Cli Scheam Validate With Invalid Path
+    [Documentation]    check cli version
+    ${cli_cmd_output}=    Run Process    ${cli_exec} schema-validate -i -l invalid-yaml-path.yaml    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    1
+    Should Contain    ${cli_cmd_output.stdout}    0x0007
+
+Check Cli Scheam Validate Empty Argument
+    [Documentation]    check cli schema validate with empty argument
+    ${cli_cmd_output}=    Run Process    ${cli_exec} schema-validate    shell=yes
+    Log    ${cli_cmd_output.stdout}
+    Should Be Equal As Strings    ${cli_cmd_output.rc}    1
+    Should Contain    ${cli_cmd_output.stdout}    0x0015
+
+
+*** Keywords ***
+CheckUrl
+    [Arguments]                   ${session}  ${path}
+    ${resp}=                      Get Request          ${session}  ${path}
+    Should Be Equal As Integers   ${resp.status_code}  200
diff --git a/test/csit/tests/common.robot b/test/csit/tests/common.robot
new file mode 100644
index 0000000..944be6b
--- /dev/null
+++ b/test/csit/tests/common.robot
@@ -0,0 +1,22 @@
+#Robot functions that will be shared also with other tests
+
+*** Keywords ***
+json_from_file
+#Robot function to extract the json object from a file
+    [Arguments]    ${file_path}
+    ${json_file}=    Get file    ${file_path}
+    ${json_object}=    Evaluate    json.loads('''${json_file}''')    json
+    [return]    ${json_object}
+
+string_from_json
+#Robot function to transform the json object to a string
+    [Arguments]    ${json_value}
+    ${json_string}=   Stringify Json     ${json_value}
+    [return]    ${json_string}
+
+random_ip
+#Robot function to generate a random IP
+    [Arguments]
+    ${numbers}=    Evaluate    random.sample([x for x in range(1, 256)], 4)    random
+    ${generated_ip}=    Catenate    ${numbers[0]}.${numbers[1]}.${numbers[2]}.${numbers[3]}
+    [return]    ${generated_ip}
\ No newline at end of file
diff --git a/test/csit/tests/integration/vCPE/__init__.robot b/test/csit/tests/integration/vCPE/__init__.robot
new file mode 100644
index 0000000..b2057b0
--- /dev/null
+++ b/test/csit/tests/integration/vCPE/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Integration - vCPE
diff --git a/test/csit/tests/integration/vCPE/test1.robot b/test/csit/tests/integration/vCPE/test1.robot
new file mode 100644
index 0000000..1dd7c1b
--- /dev/null
+++ b/test/csit/tests/integration/vCPE/test1.robot
@@ -0,0 +1,60 @@
+*** Settings ***
+Suite Setup       Suite Setup
+Suite Teardown    Suite Teardown
+Library           OperatingSystem
+Library           RequestsLibrary
+Library           Process
+Library           eteutils/UUID.py
+
+*** Variables ***
+${GLOBAL_APPLICATION_ID}    csit-vCPE
+${GLOBAL_MSO_USERNAME}    InfraPortalClient
+${GLOBAL_MSO_PASSWORD}    password1$
+
+*** Test Cases ***
+SO ServiceInstance health check
+    ${auth}=    Create List    ${GLOBAL_MSO_USERNAME}    ${GLOBAL_MSO_PASSWORD}
+    ${session}=    Create Session    so    http://${SO_IP}:8080
+    ${uuid}=    Generate UUID
+    ${headers}=    Create Dictionary    Accept=text/html    Content-Type=text/html    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}=    Get Request    so    /ecomp/mso/infra/globalhealthcheck    headers=${headers}
+    &{headers}=    Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    so    /ecomp/mso/infra/orchestrationRequests/v2    headers=${headers}
+    Should Not Contain    ${resp.content}    null
+
+*** Keywords ***
+Run Docker
+    [Arguments]    ${image}    ${name}    ${parameters}=${EMPTY}
+    ${result}=    Run Process    docker run --name ${name} ${parameters} -d ${image}    shell=True
+    Should Be Equal As Integers    ${result.rc}    0
+    Log    ${result.stdout}
+    ${result}=    Run Process    docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${name}    shell=True
+    Should Be Equal As Integers    ${result.rc}    0
+    Log    ${result.stdout}
+    [Return]    ${result.stdout}
+
+Kill Docker
+    [Arguments]    ${name}
+    ${result}=    Run Process    docker logs ${name}    shell=True
+    Should Be Equal As Integers    ${result.rc}    0
+    Log    ${result.stdout}
+    ${result}=    Run Process    docker kill ${name}    shell=True
+    Should Be Equal As Integers    ${result.rc}    0
+    Log    ${result.stdout}
+    ${result}=    Run Process    docker rm ${name}    shell=True
+    Should Be Equal As Integers    ${result.rc}    0
+    Log    ${result.stdout}
+
+CheckUrl
+    [Arguments]    ${url}
+    Create Session    session    ${url}    disable_warnings=True
+    ${resp}=    Get Request    session    /
+    Should Be Equal As Integers    ${resp.status_code}    200
+
+Suite Setup
+    ${SO_IP}=    Run Docker    nexus3.onap.org:10001/openecomp/mso    i-so
+    Wait Until Keyword Succeeds    1 min    5 sec    CheckUrl    http://${SO_IP}:8080
+    Set Suite Variable    ${SO_IP}
+
+Suite Teardown
+    Kill Docker    i-so
diff --git a/test/csit/tests/msb/rest-service-api-gateway/__init__.robot b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot
new file mode 100644
index 0000000..efd2221
--- /dev/null
+++ b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Microservices Service Bus - Messag Broker
diff --git a/test/csit/tests/msb/rest-service-api-gateway/test1.robot b/test/csit/tests/msb/rest-service-api-gateway/test1.robot
new file mode 100644
index 0000000..8a15bf2
--- /dev/null
+++ b/test/csit/tests/msb/rest-service-api-gateway/test1.robot
@@ -0,0 +1,9 @@
+*** Settings ***
+Library  Collections
+Library  requests
+
+*** Test Cases ***
+REST service Test1
+    [Documentation]            Check if test rest service can be accessed via aip gateway
+    ${result} =  get           http://${MSB_IAG_IP}/api/test/v1/people
+    Should Be Equal            ${result.status_code}       ${200}
diff --git a/test/csit/tests/msb/rest-service-discovery/__init__.robot b/test/csit/tests/msb/rest-service-discovery/__init__.robot
new file mode 100644
index 0000000..efd2221
--- /dev/null
+++ b/test/csit/tests/msb/rest-service-discovery/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Microservices Service Bus - Messag Broker
diff --git a/test/csit/tests/msb/rest-service-discovery/test1.robot b/test/csit/tests/msb/rest-service-discovery/test1.robot
new file mode 100644
index 0000000..bb48d3f
--- /dev/null
+++ b/test/csit/tests/msb/rest-service-discovery/test1.robot
@@ -0,0 +1,14 @@
+*** Settings ***
+Library  Collections
+Library  requests
+
+*** Test Cases ***
+Messag Broker Test
+    [Documentation]            Check if the test service enpoint can be get from MSB
+    ${result} =  get           http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/test/version/v1
+    Should Be Equal            ${result.status_code}       ${200}
+	${json} =                  Set Variable                ${result.json()}
+    ${serviceName} =           Get From Dictionary         ${json}              serviceName
+    ${protocol} =              Get From Dictionary         ${json}              protocol
+    Should Be Equal            ${serviceName}              test
+    Should Be Equal            ${protocol}                 REST  
\ No newline at end of file
diff --git a/test/csit/tests/msb/startup/__init__.robot b/test/csit/tests/msb/startup/__init__.robot
new file mode 100644
index 0000000..2f64526
--- /dev/null
+++ b/test/csit/tests/msb/startup/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Microservices Service Bus - Startup
diff --git a/test/csit/tests/msb/startup/test1.robot b/test/csit/tests/msb/startup/test1.robot
new file mode 100644
index 0000000..99ad603
--- /dev/null
+++ b/test/csit/tests/msb/startup/test1.robot
@@ -0,0 +1,16 @@
+*** Settings ***
+Library       RequestsLibrary
+
+*** Test Cases ***
+Liveness Test
+    [Documentation]        Check various endpoints for basic liveness check
+    Create Session         msb              http://${MSB_IAG_IP}:80
+    CheckUrl               msb              /msb
+    CheckUrl               msb              /iui/microservices/default.html
+
+*** Keywords ***
+CheckUrl
+    [Arguments]                   ${session}  ${path}
+    ${resp}=                      Get Request          ${session}  ${path}
+    Should Be Equal As Integers   ${resp.status_code}  200
+
diff --git a/test/csit/tests/msb/tcp-service-access/__init__.robot b/test/csit/tests/msb/tcp-service-access/__init__.robot
new file mode 100644
index 0000000..efd2221
--- /dev/null
+++ b/test/csit/tests/msb/tcp-service-access/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Microservices Service Bus - Messag Broker
diff --git a/test/csit/tests/msb/tcp-service-access/test1.robot b/test/csit/tests/msb/tcp-service-access/test1.robot
new file mode 100644
index 0000000..e84c7e1
--- /dev/null
+++ b/test/csit/tests/msb/tcp-service-access/test1.robot
@@ -0,0 +1,16 @@
+*** Settings ***
+Library  Collections
+Library  requests
+
+*** Test Cases ***
+Messag Broker Test1
+    [Documentation]            Check if ActiveMQ index page can be accessed
+    ${result} =  get           http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/ActiveMQ/version/null
+    Should Be Equal            ${result.status_code}       ${200}
+	${json} =                  Set Variable                ${result.json()}
+    ${activeMQ_ip} =           Set Variable                ${json["nodes"][0]["ip"]}
+    ${activeMQ_port} =         Set Variable                ${json["nodes"][0]["port"]}
+
+    ${result} =  get           http://${activeMQ_ip}:8161
+    Should Be Equal            ${result.status_code}       ${200}
+
diff --git a/test/csit/tests/msb/tcp-service-access/test2.robot b/test/csit/tests/msb/tcp-service-access/test2.robot
new file mode 100644
index 0000000..58e5471
--- /dev/null
+++ b/test/csit/tests/msb/tcp-service-access/test2.robot
@@ -0,0 +1,15 @@
+*** Settings ***
+Library  Collections
+Library  requests
+Library  Telnet 
+
+*** Test Cases ***
+Messag Broker Test2
+    [Documentation]            Check if ActiveMQ listening port can be accessed
+    ${result} =  get           http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/ActiveMQ/version/null
+    Should Be Equal            ${result.status_code}       ${200}
+	${json} =                  Set Variable                ${result.json()}
+    ${activeMQ_ip} =           Set Variable                ${json["nodes"][0]["ip"]}
+    ${activeMQ_port} =         Set Variable                ${json["nodes"][0]["port"]}
+    
+    Open Connection            ${activeMQ_ip}              port=${activeMQ_port}              
diff --git a/test/csit/tests/msb/tcp-service-discovery/__init__.robot b/test/csit/tests/msb/tcp-service-discovery/__init__.robot
new file mode 100644
index 0000000..efd2221
--- /dev/null
+++ b/test/csit/tests/msb/tcp-service-discovery/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Microservices Service Bus - Messag Broker
diff --git a/test/csit/tests/msb/tcp-service-discovery/test1.robot b/test/csit/tests/msb/tcp-service-discovery/test1.robot
new file mode 100644
index 0000000..da6cb3e
--- /dev/null
+++ b/test/csit/tests/msb/tcp-service-discovery/test1.robot
@@ -0,0 +1,14 @@
+*** Settings ***
+Library  Collections
+Library  requests
+
+*** Test Cases ***
+Messag Broker Test
+    [Documentation]            Check if the message broker enpoint can be get from MSB
+    ${result} =  get           http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/ActiveMQ/version/null
+    Should Be Equal            ${result.status_code}       ${200}
+	${json} =                  Set Variable                ${result.json()}
+    ${serviceName} =           Get From Dictionary         ${json}              serviceName
+    ${protocol} =              Get From Dictionary         ${json}              protocol
+    Should Be Equal            ${serviceName}              ActiveMQ
+    Should Be Equal            ${protocol}                 TCP  
\ No newline at end of file
diff --git a/test/csit/tests/multicloud-ocata/provision/sanity_test_multicloud.robot b/test/csit/tests/multicloud-ocata/provision/sanity_test_multicloud.robot
new file mode 100644
index 0000000..f9f1982
--- /dev/null
+++ b/test/csit/tests/multicloud-ocata/provision/sanity_test_multicloud.robot
@@ -0,0 +1,22 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_ocata_url}    /api/multicloud-ocata/v0/swagger.json
+
+
+*** Test Cases ***
+OcataSwaggerTest
+    [Documentation]    query swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${SERVICE_IP}:${SERVICE_PORT}    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_ocata_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
diff --git a/test/csit/tests/multicloud/provision/sanity_test_multivim.robot b/test/csit/tests/multicloud/provision/sanity_test_multivim.robot
index 6dc57cc..2c1ec3f 100644
--- a/test/csit/tests/multicloud/provision/sanity_test_multivim.robot
+++ b/test/csit/tests/multicloud/provision/sanity_test_multivim.robot
@@ -6,14 +6,14 @@
 
 *** Variables ***
 @{return_ok_list}=   200  201  202
-${queryswagger_broker_url}    /openoapi/multivim/v1/swagger.json
+${queryswagger_broker_url}    /api/multicloud/v0/swagger.json
 
 
 *** Test Cases ***
 BrokerSwaggerTest
     [Documentation]    query swagger info rest test
     ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
-    Create Session    web_session    http://${MSB_IP}    headers=${headers}
+    Create Session    web_session    http://${BROKER_IP}:9001    headers=${headers}
     ${resp}=  Get Request    web_session    ${queryswagger_broker_url}
     ${responese_code}=     Convert To String      ${resp.status_code}
     List Should Contain Value    ${return_ok_list}   ${responese_code}
diff --git a/test/csit/tests/portal/testsuites/__init__.robot b/test/csit/tests/portal/testsuites/__init__.robot
new file mode 100644
index 0000000..3b8528d
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    APPC - healthcheck
diff --git a/test/csit/tests/portal/testsuites/browser_setup.robot b/test/csit/tests/portal/testsuites/browser_setup.robot
new file mode 100644
index 0000000..6ef4f72
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/browser_setup.robot
@@ -0,0 +1,43 @@
+*** Settings ***
+Documentation     The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps
+Library           Collections
+Library           OSUtils
+Library           OperatingSystem
+Library           ExtendedSelenium2Library
+Resource          global_properties.robot
+
+*** Variables ***
+
+*** Keywords ***
+Setup Browser
+    [Documentation]   Sets up browser based upon the value of ${GLOBAL_SELENIUM_BROWSER}
+    Run Keyword If    '${GLOBAL_SELENIUM_BROWSER}' == 'firefox'    Setup Browser Firefox
+    Run Keyword If    '${GLOBAL_SELENIUM_BROWSER}' == 'chrome'    Setup Browser Chrome
+    Log    Running with ${GLOBAL_SELENIUM_BROWSER}
+    
+Setup Browser Firefox
+    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
+    Set To Dictionary   ${dc}   elementScrollBehavior    1 
+    Create Webdriver    Firefox    desired_capabilities=${dc}
+    Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}
+           
+ Setup Browser Chrome
+    ${os}=   Get Normalized Os 
+    Log    Normalized OS=${os}
+    ${chrome options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
+    Call Method    ${chrome options}    add_argument    no-sandbox
+    ${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME  sys, selenium.webdriver
+    Set To Dictionary   ${dc}   elementScrollBehavior    1
+    Create Webdriver    Chrome   chrome_options=${chrome_options}    desired_capabilities=${dc}  
+    Set Global Variable    ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}    ${dc}       
+
+Handle Proxy Warning    
+    [Documentation]    Handle Intermediate Warnings from Proxies
+    ${status}    ${data}=    Run Keyword And Ignore Error   Variable Should Exist    \${GLOBAL_PROXY_WARNING_TITLE}           
+    Return From Keyword if    '${status}' != 'PASS'
+    ${status}    ${data}=    Run Keyword And Ignore Error   Variable Should Exist    \${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}          
+    Return From Keyword if    '${status}' != 'PASS'
+    Return From Keyword if    "${GLOBAL_PROXY_WARNING_TITLE}" == ''
+    Return From Keyword if    "${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}" == ''
+    ${test}    ${value}=    Run keyword and ignore error    Title Should Be     ${GLOBAL_PROXY_WARNING_TITLE}
+    Run keyword If    '${test}' == 'PASS'    Click Element    xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH}
\ No newline at end of file
diff --git a/test/csit/tests/portal/testsuites/integration_robot_properties.py b/test/csit/tests/portal/testsuites/integration_robot_properties.py
new file mode 100644
index 0000000..cc0558f
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/integration_robot_properties.py
@@ -0,0 +1,83 @@
+# aaf info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_AAF_SERVER = "http://10.0.12.1:8101"
+GLOBAL_AAF_USERNAME = "dgl@openecomp.org"
+GLOBAL_AAF_PASSWORD = "ecomp_admin"
+# aai info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_AAI_SERVER_URL = "https://104.239.249.183:8443"
+GLOBAL_AAI_USERNAME = "AAI"
+GLOBAL_AAI_PASSWORD = "AAI"
+# appc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_APPC_SERVER = "http://172.99.68.171:8282"
+GLOBAL_APPC_USERNAME = "admin"
+GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+# sdc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_ASDC_SERVER = "http://104.239.249.58"
+GLOBAL_ASDC_FE_PORT = "8181"
+GLOBAL_ASDC_BE_PORT = "8080"
+GLOBAL_ASDC_BE_USERNAME = "beep"
+GLOBAL_ASDC_BE_PASSWORD = "boop"
+# dcae info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_DCAE_SERVER = "http://146.20.110.86:9998"
+GLOBAL_DCAE_USERNAME = "console"
+GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz"
+# message router info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_MR_SERVER = "http://162.209.124.141:3904"
+# mso info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_MSO_SERVER = "http://172.99.67.208:8080"
+GLOBAL_MSO_USERNAME = "InfraPortalClient"
+GLOBAL_MSO_PASSWORD = "password1$"
+# openstack info - info to select right info in environment
+GLOBAL_OPENSTACK_KEYSTONE_SERVER = "https://identity.api.rackspacecloud.com"
+# packet generate vnf info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_PACKET_GENERATOR_PORT = "8183"
+GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
+GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
+GLOBAL_PGN_PORT = "2831"
+# policy info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_POLICY_SERVER_URL = "http://104.239.249.76:8480"
+GLOBAL_POLICY_AUTH = "dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz"
+GLOBAL_POLICY_CLIENTAUTH = "cHl0aG9uOnRlc3Q="
+GLOBAL_POLICY_HEALTHCHECK_URL = "http://104.239.249.76:6969"
+GLOBAL_POLICY_USERNAME = "healthcheck"
+GLOBAL_POLICY_PASSWORD = "zb!XztG34"
+# portal info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_PORTAL_SERVER = "http://104.130.31.32:8989"
+GLOBAL_PORTAL_USERNAME = "demo"
+GLOBAL_PORTAL_PASSWORD = "demo123456!"
+# portal information
+#GLOBAL_PORTAL_URL = "http://vm-ep-dev2.client.research.att.com:8989"
+GLOBAL_PORTAL_URL = "http://vm-ep-dev3.client.research.att.com:8989"
+#GLOBAL_PORTAL_URL = "http://portal.api.simpledemo.openecomp.org:8989"
+GLOBAL_PORTAL_ADMIN_USER = "demo"
+GLOBAL_PORTAL_ADMIN_PWD = "demo123456!"
+GLOBAL_APP_ADMIN_USER = "appdemo"
+GLOBAL_APP_ADMIN_PWD = "appdemo123456!"
+GLOBAL_STA_USER_USER = "stademo"
+GLOBAL_STA_USER_PWD = "stademo123456!"
+#First_Name = "Test20"
+#Last_Name =  "Demo20"
+#Email_Address = "Test20@att.com"
+#LoginID = "TestUser20"
+#Loginpwd = "Demo1234!"
+#LoginPwdCheck = "Demo1234!"
+#Existing_User = "Portal"
+# sdngc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_SDNGC_SERVER = "http://172.99.69.190"
+GLOBAL_SDNGC_REST_PORT = "8282"
+GLOBAL_SDNGC_ADMIN_PORT = "8843"
+GLOBAL_SDNGC_USERNAME = "admin"
+GLOBAL_SDNGC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+# vid info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_VID_USERNAME = "demo"
+GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
+GLOBAL_VID_HEALTH_USERNAME = "Default"
+GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
+GLOBAL_VID_SERVER = "http://104.130.12.222:8080"
+#global selenium info
+GLOBAL_PROXY_WARNING_TITLE="Notice - Uncategorized Site"
+GLOBAL_PROXY_WARNING_CONTINUE_XPATH="//a[contains(@href, 'accepted-Notify-Uncategorized')]"
+# settings for vm to attach vvg too
+GLOBAL_VVGSERVER_IMAGE = "Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)"
+GLOBAL_VVGSERVER_FLAVOR = "4 GB General Purpose v1"
+# dns info
+GLOBAL_DNS_TRAFFIC_DURATION = "600"
\ No newline at end of file
diff --git a/test/csit/tests/portal/testsuites/portal_VID.robot b/test/csit/tests/portal/testsuites/portal_VID.robot
new file mode 100644
index 0000000..473a046
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/portal_VID.robot
@@ -0,0 +1,741 @@
+*** Settings ***
+Documentation     The main interface for interacting with Portal. It handles low level stuff like managing the selenium request library and Portal required steps
+Library 	    ExtendedSelenium2Library
+Library	          RequestsClientCert
+Library 	      RequestsLibrary
+Library	          UUID 
+Library         DateTime  
+Resource        ../global_properties.robot
+Resource        ../browser_setup.robot
+
+*** Variables ***
+${PORTAL_ENV}            /ECOMPPORTAL
+${PORTAL_LOGIN_URL}                ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/login.htm
+${PORTAL_HOME_PAGE}        ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/applicationsHome
+${PORTAL_MICRO_ENDPOINT}    ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/commonWidgets
+${PORTAL_HOME_URL}                ${GLOBAL_PORTAL_URL}${PORTAL_ENV}/applicationsHome
+${App_First_Name}    appdemo    
+${App_Last_Name}    demo
+${App_Email_Address}    appdemo@onap.com
+${App_LoginID}    appdemo 
+${App_Loginpwd}    demo123456!
+${App_LoginPwdCheck}    demo123456!
+${Sta_First_Name}    stademo   
+${Sta_Last_Name}    demo
+${Sta_Email_Address}    stademo@onap.com
+${Sta_LoginID}    stademo
+${Sta_Loginpwd}    demo123456!
+${Sta_LoginPwdCheck}    demo123456!
+${Existing_User}    portal
+${PORTAL_HEALTH_CHECK_PATH}        /ECOMPPORTAL/portalApi/healthCheck
+#${Application}     'Virtual Infrastructure Deployment'  
+#${Application_tab}     'select-app-Virtual-Infrastructure-Deployment'   
+#${Application_dropdown}    'div-app-name-dropdown-Virtual-Infrastructure-Deployment'
+#${Application_dropdown_select}    'div-app-name-Virtual-Infrastructure-Deployment'  
+${APPC_LOGIN_URL}     http://104.130.74.99:8282/apidoc/explorer/index.html 
+${PORTAL_ASSETS_DIRECTORY}    C:\\Users\\kk707x\\Downloads
+
+
+  
+
+
+*** Keywords ***
+
+Run Portal Health Check
+     [Documentation]    Runs Portal Health check
+     ${resp}=    Run Portal Get Request    ${PORTAL_HEALTH_CHECK_PATH}    
+     Should Be Equal As Strings 	${resp.status_code} 	200
+     Should Be Equal As Strings 	${resp.json()['statusCode']} 	200
+Run Portal Get Request
+     [Documentation]    Runs Portal Get request
+     [Arguments]    ${data_path}
+     ${session}=    Create Session 	portal	${GLOBAL_PORTAL_URL}
+     ${uuid}=    Generate UUID
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+     ${resp}= 	Get Request 	portal 	${data_path}     headers=${headers}
+     Log    Received response from portal ${resp.text}
+     [Return]    ${resp}     
+     
+
+Portal admin Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_PORTAL_ADMIN_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_PORTAL_ADMIN_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+
+Portal admin Go To Portal HOME
+    [Documentation]    Naviage to Portal Home
+    Go To    ${PORTAL_HOME_URL}
+    Wait Until Page Contains Element    xpath=//div[@class='applicationWindow']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}   
+    
+Portal admin User Notifications 
+    [Documentation]    Naviage to User notification tab
+    Click Link    xpath=//a[@id='parent-item-User-Notifications']
+    Wait Until Element Is Visible    xpath=//h1[@class='heading-page']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Button    xpath=//button[@id='button-openAddNewApp']
+    Click Button    xpath=(//button[@id='undefined'])[1]
+    #Click Button    xpath=//input[@id='datepicker-start']
+    
+Portal admin Add Application Admin New User
+    [Documentation]    Naviage to Admins tab
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${LoginPwdCheck} 
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]
+    #Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment')])[2]
+     Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+   Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Button    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'Test')] )[1]   ${First_Name}
+    
+    
+    
+    
+Portal admin Add Application Admin Exiting User 
+    [Documentation]    Naviage to Admins tab
+    Wait Until Element Is Visible    xpath=//a[@title='Admins']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}   
+    Click Button    xpath=//button[@id='button-search-users']
+    Click Element    xpath=//span[@id='result-uuid-0']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1]
+    
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2]
+    #Select From List    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]   Virtual Infrastructure Deployment
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Get Selenium Implicit Wait
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment' )]
+    Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+    Element Text Should Be      xpath=(//span[contains(.,'portal')])[1]   ${Existing_User}
+    
+    
+Portal admin Delete Application Admin Existing User  
+    [Documentation]    Naviage to Admins tab
+    Click Element    xpath=(//span[contains(.,'portal')] )[1] 
+    Click Element    xpath=//*[@id='select-app-Virtual-Infrastructure-Deployment']/following::i[@id='i-delete-application']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    #Is Element Visible      xpath=(//span[contains(.,'Portal')] )[2]
+    #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2]
+    Element Should Not Contain     xpath=//*[@table-data='admins.adminsTableData']    portal
+    
+    
+Portal admin Add Application admin User New user
+    [Documentation]    Naviage to Users tab
+    Click Link    xpath=//a[@title='Users']
+    Page Should Contain      Users
+    Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${App_First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${App_Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${App_Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${App_LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${App_Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${App_LoginPwdCheck}
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='next-button']
+    #Scroll Element Into View    xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+    Set Selenium Implicit Wait    3000
+    Click Button    xpath=//button[@id='new-user-save-button']
+    Set Selenium Implicit Wait    3000
+    Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${App_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')] )[1]   ${App_First_Name}
+    
+    
+Portal admin Add Standard User New user
+    [Documentation]    Naviage to Users tab
+    Click Link    xpath=//a[@title='Users']
+    Page Should Contain      Users
+    Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+    Click Button    xpath=//button[@id='Create-New-User-button']
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.firstName']    ${Sta_First_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.lastName']    ${Sta_Last_Name}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.emailAddress']    ${Sta_Email_Address}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginId']    ${Sta_LoginID}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwd']    ${Sta_Loginpwd}
+    Input Text    xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck']    ${Sta_LoginPwdCheck}
+    Click Button    xpath=//button[@ng-click='searchUsers.addNewUserFun()']
+    Click Button    xpath=//button[@id='next-button']
+    #Scroll Element Into View    xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+    Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+    Set Selenium Implicit Wait    3000
+    Click Button    xpath=//button[@id='new-user-save-button']
+    Set Selenium Implicit Wait    3000
+    Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-table-search']    ${Sta_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')] )[1]   ${Sta_First_Name} 
+    
+    
+    
+Portal admin Add Application Admin Exiting User -APPDEMO 
+    [Documentation]    Naviage to Admins tab
+    Wait Until Element Is Visible    xpath=//a[@title='Admins']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Admins']
+    Wait Until Element Is Visible    xpath=//h1[contains(.,'Admins')]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain      Admins
+    Click Button    xpath=//button[@ng-click='admins.openAddNewAdminModal()']
+    Input Text    xpath=//input[@id='input-user-search']    ${App_First_Name}   
+    Click Button    xpath=//button[@id='button-search-users']
+    Click Element    xpath=//span[@id='result-uuid-0']
+    Click Button    xpath=//button[@id='search-users-button-next']
+    Click Button    xpath=//input[@value='Select application']
+    Scroll Element Into View    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1]
+    
+    Click Element    xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2]
+    #Select From List    xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1]   Virtual Infrastructure Deployment
+    Click Button    xpath=//button[@id='div-updateAdminAppsRoles']
+    Click Element    xpath=//button[@id='admin-div-ok-button']
+    Click Element    xpath=//button[@id='div-confirm-ok-button']
+    Get Selenium Implicit Wait
+    Click Link    xpath=//a[@aria-label='Admins']
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment' )]
+    Input Text    xpath=//input[@id='input-table-search']    ${App_First_Name}
+    Element Text Should Be      xpath=(//span[contains(.,'appdemo')])[1]   ${App_First_Name}    
+    
+    
+      
+Portal admin Add Standard User Existing user   
+     [Documentation]    Naviage to Users tab
+     Click Link    xpath=//a[@title='Users']
+     Page Should Contain      Users
+     Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+     Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}
+     Click Button    xpath=//button[@id='button-search-users']
+     Click Element    xpath=//span[@id='result-uuid-0']
+     Click Button    xpath=//button[@id='next-button']
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     #Click Element    xpath=//div[@id='div-app-name-dropdown-xDemo-App']
+     #Click Element    xpath=//div[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox']
+     
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     #Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+     #Select From List    xpath=//input[@value='Select application']    Virtual Infrastructure Deployment
+     #Click Link    xpath=//a[@title='Users']
+     #Page Should Contain      Users
+     #Focus    xpath=//input[@name='dropdown1']
+    
+     Go To    ${PORTAL_HOME_PAGE}
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Click Element    xpath=//li[contains(.,'XDemo App')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   Standard User
+     
+     
+Portal admin Edit Standard User Existing user  
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     Page Should Contain      Users
+     #Click Button    xpath=//input[@id='dropdown1']
+     #Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   System Administrator
+     
+     
+ Portal admin Delete Standard User Existing user    
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Scroll Element Into View    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Button    xpath=//button[@id='new-user-save-button']
+     #Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2]  
+      Element Should Not Contain     xpath=//*[@table-data='users.accountUsers']    portal  
+     
+     
+     
+     
+Functional Top Menu Get Access     
+    [Documentation]    Naviage to Support tab
+     Click Link    xpath=//a[contains(.,'Support')]
+     Mouse Over    xpath=//*[contains(text(),'Get Access')]
+     Click Link    xpath=//a[contains(.,'Get Access')]
+     Element Text Should Be    xpath=//h1[contains(.,'Get Access')]    Get Access
+     
+     
+Functional Top Menu Contact Us     
+    [Documentation]    Naviage to Support tab
+     Click Link    xpath=//a[contains(.,'Support')]
+     Mouse Over    xpath=//*[contains(text(),'Contact Us')]
+     Click Link    xpath=//a[contains(.,'Contact Us')]
+     Element Text Should Be    xpath=//h1[contains(.,'Contact Us')]    Contact Us    
+     Click Image    xpath=//img[@alt='Onap Logo'] 
+     
+
+Portal admin Edit Functional menu  
+    [Documentation]    Naviage to Edit Functional menu tab
+    Click Link    xpath=//a[@title='Edit Functional Menu']
+    Click Link    xpath=.//*[@id='Manage']/div/a
+    Click Link    xpath=.//*[@id='Design']/div/a
+    Click Link    xpath=.//*[@id='Product_Design']/div/a
+    Open Context Menu    xpath=//*[@id='Product_Design']/div/span
+    Click Link    xpath=//a[@href='#add']
+    Input Text    xpath=//input[@id='input-title']    ONAP Test
+    #Input Text    xpath=//input[@id='input-url']    http://google.com
+    Click Element     xpath=//input[@id='select-app']
+    Scroll Element Into View    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Input Text    xpath=//input[@id='input-url']    http://google.com
+    Click Button    xpath=//button[@id='button-save-continue']
+    #Click Button    xpath=//div[@title='Select Roles']
+    Click Element    xpath=//*[@id='app-select-Select Roles']
+    Click Element    xpath=//input[@id='Standard-User-checkbox']
+    Click Element    xpath=//button[@id='button-save-add']
+    Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Design')]
+     Set Selenium Implicit Wait    3000
+     Element Text Should Be    xpath=//a[contains(.,'ONAP Test')]      ONAP Test  
+     Set Selenium Implicit Wait    3000
+      Click Link    xpath=//a[@title='Edit Functional Menu']
+    Click Link    xpath=.//*[@id='Manage']/div/a
+    Click Link    xpath=.//*[@id='Design']/div/a
+    Click Link    xpath=.//*[@id='Product_Design']/div/a
+    Open Context Menu    xpath=//*[@id='ONAP_Test']
+    Click Link    xpath=//a[@href='#delete']
+     Set Selenium Implicit Wait    3000
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Design')]
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain    xpath=(.//*[contains(.,'Design')]/following::ul[1])[1]      ONAP Test  
+     
+    
+     
+     
+    
+    
+    
+    
+Portal admin Microservice Onboarding
+     [Documentation]    Naviage to Edit Functional menu tab
+     Click Link    xpath=//a[@title='Microservice Onboarding']
+     Click Button    xpath=//button[@id='microservice-onboarding-button-add']
+     Input Text    xpath=//input[@name='name']    Test Microservice
+     Input Text    xpath=//*[@name='desc']    Test
+     Click Element    xpath=//input[@id='microservice-details-input-app']
+     Scroll Element Into View    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Click Element     xpath=//*[@name='desc']
+     Input Text    xpath=//input[@name='url']    ${PORTAL_MICRO_ENDPOINT}
+     Click Element    xpath=//input[@id='microservice-details-input-security-type']
+     Scroll Element Into View    xpath=//li[contains(.,'Basic Authentication')]
+     Click Element    xpath=//li[contains(.,'Basic Authentication')]
+     Input Text    xpath=//input[@name='username']    ${GLOBAL_PORTAL_ADMIN_USER}
+     Input Text    xpath=//input[@name='password']    ${GLOBAL_PORTAL_ADMIN_PWD}
+     Click Button    xpath=//button[@id='microservice-details-save-button']
+     #Table Column Should Contain    xpath=//*[@table-data='serviceList']    0    Test Microservice
+     Element Text Should Be    xpath=//*[@table-data='serviceList']    Test Microservice
+     
+    
+    
+Portal Admin Create Widget for All users 
+    [Documentation]    Naviage to Create Widget menu tab
+    ${WidgetAttachment}=    Catenate    ${PORTAL_ASSETS_DIRECTORY}\\widget_news.zip
+    Click Link    xpath=//a[@title='Widget Onboarding']
+    Click Button    xpath=//button[@id='widget-onboarding-button-add']
+    Input Text    xpath=//*[@name='name']    ONAP-VID
+    Input Text    xpath=//*[@name='desc']    ONAP VID
+    Click Element    xpath=//*[@id='widgets-details-input-endpoint-url']
+    Scroll Element Into View    xpath=//li[contains(.,'Test Microservice')]
+    Click Element    xpath=//li[contains(.,'Test Microservice')]
+    Click Element    xpath=//*[contains(text(),'Allow all user access')]/preceding::input[@ng-model='widgetOnboardingDetails.widget.allUser'][1] 
+    Choose File    xpath=//input[@id='widget-onboarding-details-upload-file']    ${WidgetAttachment}
+    Click Button    xpath=//button[@id='widgets-details-save-button']
+    Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Page Should Contain    ONAP-VID
+     Set Selenium Implicit Wait    3000
+    GO TO    ${PORTAL_HOME_PAGE}
+    
+    
+Portal Admin Delete Widget for All users 
+     [Documentation]    Naviage to delete Widget menu tab
+     #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+     #Page Should Contain    ONAP-VID
+     #Click Image    xpath=//img[@alt='Onap Logo']
+     Click Link    xpath=//a[@title='Widget Onboarding']
+     Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/followi
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
+     Click Element    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain     xpath=//*[@table-data='portalAdmin.portalAdminsTableData']    ONAP-VID
+     #Is Element Visible    xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
+     #Table Column Should Contain    .//*[@table-data='portalAdmin.portalAdminsTableData']    0       ONAP-VID    
+     #Set Selenium Implicit Wait    3000
+    
+    
+Portal Admin Create Widget for Application Roles 
+    [Documentation]    Naviage to Create Widget menu tab 
+    ${WidgetAttachment}=    Catenate    ${PORTAL_ASSETS_DIRECTORY}\\widget_news.zip 
+    Click Link    xpath=//a[@title='Widget Onboarding'] 
+    Click Button    xpath=//button[@id='widget-onboarding-button-add'] 
+    Input Text    xpath=//*[@name='name']    ONAP-VID 
+    Input Text    xpath=//*[@name='desc']    ONAP VID 
+    Click Element    xpath=//*[@id='widgets-details-input-endpoint-url'] 
+    Scroll Element Into View    xpath=//li[contains(.,'Test Microservice')] 
+    Click Element    xpath=//li[contains(.,'Test Microservice')] 
+    Click element    xpath=//*[@id="app-select-Select Applications"] 
+    click element    xpath=//*[@id="Virtual-Infrastructure-Deployment-checkbox"] 
+    Click element    xpath=//*[@name='desc'] 
+    click element    xpath=//*[@id="app-select-Select Roles"] 
+    click element    xpath=//*[@id="Standard-User-checkbox"] 
+    Click element    xpath=//*[@name='desc'] 
+    Scroll Element Into View    xpath=//input[@id='widget-onboarding-details-upload-file'] 
+    Choose File    xpath=//input[@id='widget-onboarding-details-upload-file']    ${WidgetAttachment} 
+    Click Button    xpath=//button[@id='widgets-details-save-button'] 
+     Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+    Click Link    xpath=//a[@title='Widget Onboarding'] 
+    Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+    Page Should Contain    ONAP-VID 
+    Set Selenium Implicit Wait    3000 
+    GO TO    ${PORTAL_HOME_PAGE}
+    
+    
+    
+    
+ Portal Admin Delete Widget for Application Roles 
+     [Documentation]    Naviage to delete Widget menu tab
+     #Wait Until Page Contains    ONAP-VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 
+     #Page Should Contain    ONAP-VID
+     #Click Image    xpath=//img[@alt='Onap Logo']
+     Click Link    xpath=//a[@title='Widget Onboarding']
+     Click Element    xpath=//input[@id='dropdown1']
+    Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     #Wait Until Page Contains    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
+     Click Element    xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Set Selenium Implicit Wait    3000
+     Element Should Not Contain     xpath=//*[@table-data='portalAdmin.portalAdminsTableData']    ONAP-VID
+     #Is Element Visible    xpath=//*[@table-data='portalAdmin.portalAdminsTableData']
+     #Table Column Should Contain    .//*[@table-data='portalAdmin.portalAdminsTableData']    0       ONAP-VID    
+     #Set Selenium Implicit Wait    3000   
+    
+    
+    
+Portal Admin Edit Widget
+    [Documentation]    Naviage to Home tab  
+    #Mouse Over    xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
+    Click Element    xpath=(//h3[contains(text(),'News')]/following::span[1])[1]
+    Set Browser Implicit Wait    8000
+    #Wait Until Element Is Visible    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]    60
+    Mouse Over    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1] 
+    Click Link    xpath=(//h3[contains(text(),'News')]/following::span[1]/following::a[contains(text(),'Edit')])[1]
+    Input Text    xpath=//input[@name='title']    ONAP_VID
+    Input Text    xpath=//input[@name='url']    http://about.att.com/news/international.html
+    Input Text    xpath=//input[@id='widget-input-add-order']    5
+    Click Link    xpath=//a[contains(.,'Add New')]
+    Click Element    xpath=//div[@id='close-button']
+    Element Should Contain    xpath=//*[@table-data='ignoredTableData']    ONAP_VID
+    Click Element    xpath=.//div[contains(text(),'ONAP_VID')]/following::*[contains(text(),'5')][1]/following::div[@ng-click='remove($index);'][1]
+    Click Element    xpath=//div[@id='confirmation-button-next']
+    Element Should Not Contain    xpath=//*[@table-data='ignoredTableData']    ONAP_VID
+    Click Link    xpath=//a[@id='close-button']
+    
+    
+    
+    
+Portal Admin Broadcast Notifications 
+    [Documentation]   Portal Test Admin Broadcast Notifications 
+    ${CurrentDay}=    Get Current Date    result_format=%m/%d/%Y 
+    ${NextDay}=    Get Current Date    increment=24:00:00    result_format=%m/%d/%Y 
+    ${CurrentDate}=    Get Current Date    result_format=%m%d%y%H%M
+    ${AdminBroadCastMsg}=    catenate    ONAP VID Broadcast Automation${CurrentDate} 
+    Click Image     xpath=//img[@alt='Onap Logo']
+    Set Selenium Implicit Wait    3000
+    Click Link    xpath=//*[@id="parent-item-User-Notifications"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    Click button    xpath=//*[@id="button-openAddNewApp"] 
+    Input Text    xpath=//input[@id='datepicker-start']     ${CurrentDay} 
+    Input Text    xpath=//input[@id='datepicker-end']     ${NextDay} 
+    Input Text    xpath=//*[@id="add-notification-input-title"]    ONAP VID Broadcast Automation 
+    Input Text    xpath=//*[@id="user-notif-input-message"]    ${AdminBroadCastMsg} 
+    click element    xpath=//*[@id="button-notification-save"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    click element    xpath=//*[@id="megamenu-notification-button"] 
+    click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id="notification-history-table"]    timeout=10 
+    Table Column Should Contain    xpath=//*[@id="notification-history-table"]    2    ${AdminBroadCastMsg} 
+    log    ${AdminBroadCastMsg} 
+    [Return]     ${AdminBroadCastMsg}
+        
+Portal Admin Category Notifications 
+    [Documentation]   Portal Admin Broadcast Notifications 
+    ${CurrentDay}=    Get Current Date    result_format=%m/%d/%Y 
+    ${NextDay}=    Get Current Date    increment=24:00:00    result_format=%m/%d/%Y 
+    ${CurrentDate}=    Get Current Date    result_format=%m%d%y%H%M
+    ${AdminCategoryMsg}=    catenate    ONAP VID Category Automation${CurrentDate} 
+    Click Link    xpath=//a[@id='parent-item-Home'] 
+    Click Link    xpath=//*[@id="parent-item-User-Notifications"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    Click button    xpath=//*[@id="button-openAddNewApp"]
+    #Select Radio Button    NO     radio-button-no
+    Click Element    //*[contains(text(),'Broadcast to All Categories')]/following::*[contains(text(),'No')][1]
+    #Select Radio Button    //label[@class='radio']    radio-button-approles
+    Click Element    xpath=//*[contains(text(),'Categories')]/following::*[contains(text(),'Application Roles')][1]
+    Click Element    xpath=//*[contains(text(),'Virtual Infrastructure Deployment')]/preceding::input[@ng-model='member.isSelected'][1] 
+    Input Text    xpath=//input[@id='datepicker-start']     ${CurrentDay} 
+    Input Text    xpath=//input[@id='datepicker-end']     ${NextDay} 
+    Input Text    xpath=//*[@id="add-notification-input-title"]    ONAP VID Category Automation 
+    Input Text    xpath=//*[@id='user-notif-input-message']    ${AdminCategoryMsg} 
+    click element    xpath=//*[@id="button-notification-save"] 
+    Wait until Element is visible    xpath=//*[@id="button-openAddNewApp"]    timeout=10 
+    click element    xpath=//*[@id="megamenu-notification-button"] 
+    click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id="notification-history-table"]    timeout=10 
+    Table Column Should Contain    xpath=//*[@id="notification-history-table"]    2    ${AdminCategoryMsg} 
+    log    ${AdminCategoryMsg}   
+     [Return]     ${AdminCategoryMsg}  
+    
+    
+ Portal admin Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    Title Should Be    Login
+    
+    
+    
+Application admin Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_APP_ADMIN_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_APP_ADMIN_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}    
+    
+Application Admin Navigation Application Link Tab    
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[@id='parent-item-Home']
+    Click Element    xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1]
+    Page Should Contain    Welcome to VID
+    Click Element    xpath=//i[@class='ion-close-round']    
+    Click Element    xpath=(.//span[@id='tab-Home'])[1]
+    
+    
+Application Admin Navigation Functional Menu     
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Technology Insertion')]
+     Click Link    xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] 
+     Page Should Contain    Welcome to VID
+     Click Element    xpath=//i[@class='ion-close-round']
+     Click Element    xpath=(.//span[@id='tab-Home'])[1]
+     
+     
+Application admin Add Standard User Existing user   
+     [Documentation]    Naviage to Users tab
+     Click Link    xpath=//a[@title='Users']
+     Page Should Contain      Users
+     Click Button    xpath=//button[@ng-click='users.openAddNewUserModal()']
+     Input Text    xpath=//input[@id='input-user-search']    ${Existing_User}
+     Click Button    xpath=//button[@id='button-search-users']
+     Click Element    xpath=//span[@id='result-uuid-0']
+     Click Button    xpath=//button[@id='next-button']
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     #Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+     #Select From List    xpath=//input[@value='Select application']    Virtual Infrastructure Deployment
+     #Click Link    xpath=//a[@title='Users']
+     #Page Should Contain      Users
+     Go To    ${PORTAL_HOME_PAGE}
+     Set Selenium Implicit Wait    3000
+     Click Link    xpath=//a[@title='Users']
+     Click Element    xpath=//input[@id='dropdown1']
+     Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   Standard User
+     
+     
+Application admin Edit Standard User Existing user  
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Click Element    xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox']
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox']
+     Set Selenium Implicit Wait    3000
+     Click Button    xpath=//button[@id='new-user-save-button']
+     Set Selenium Implicit Wait    3000
+     Page Should Contain      Users
+     #Click Button    xpath=//input[@id='dropdown1']
+     #Click Element    xpath=//li[contains(.,'Virtual Infrastructure Deployment')]
+     Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     Element Text Should Be      xpath=(.//*[@id='rowheader_t1_0'])[2]   System Administrator
+     
+     
+Application admin Delete Standard User Existing user    
+     [Documentation]    Naviage to Users tab
+     Click Element    xpath=(.//*[@id='rowheader_t1_0'])[2]
+     Scroll Element Into View    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1]
+     Click Element    xpath=//button[@id='div-confirm-ok-button']
+     Click Button    xpath=//button[@id='new-user-save-button']
+     #Input Text    xpath=//input[@id='input-table-search']    ${Existing_User}
+     #Is Element Visible    xpath=(//*[contains(.,'Portal')] )[2] 
+     Element Should Not Contain     xpath=//*[@table-data='users.accountUsers']    Portal   
+     
+     
+     
+Application admin Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    #Confirm Action	
+    Title Should Be    Login   
+    
+    
+Standared user Login To Portal GUI
+    [Documentation]   Logs into Portal GUI
+    # Setup Browser Now being managed by test case
+    ##Setup Browser
+    Go To    ${PORTAL_LOGIN_URL}
+    Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}
+   # Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@ng-model='loginId']    ${GLOBAL_STA_USER_USER}
+    Input Password    xpath=//input[@ng-model='password']    ${GLOBAL_STA_USER_PWD}
+    Click Link    xpath=//a[@id='loginBtn']
+    Wait Until Page Contains Element    xpath=//img[@alt='Onap Logo']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}    
+    Log    Logged in to ${GLOBAL_PORTAL_SERVER}${PORTAL_ENV}       
+     
+ 
+Standared user Navigation Application Link Tab    
+    [Documentation]   Logs into Portal GUI as application admin
+    #Portal admin Go To Portal HOME
+    Click Element    xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1]
+    Page Should Contain    Welcome to VID    
+    Click Element    xpath=(.//span[@id='tab-Home'])[1]
+    
+    
+Standared user Navigation Functional Menu     
+    [Documentation]   Logs into Portal GUI as application admin
+    Click Link    xpath=//a[contains(.,'Manage')]
+     Mouse Over    xpath=//*[contains(text(),'Technology Insertion')]
+     Click Link    xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] 
+     Page Should Contain    Welcome to VID
+     Click Element    xpath=(.//span[@id='tab-Home'])[1]   
+     
+     
+     
+Standared user Broadcast Notifications 
+    [Documentation]   Logs into Portal GUI as application admin 
+    [Arguments]    ${AdminBroadCastMsg}
+    Click element    xpath=//*[@id='megamenu-notification-button'] 
+    Click element    xpath=//*[@id='notification-history-link'] 
+    Wait until Element is visible    xpath=//*[@id='app-title']    timeout=10 
+    Table Column Should Contain    xpath=//*[@id='notification-history-table']    2    ${AdminBroadCastMsg} 
+    log    ${AdminBroadCastMsg}   
+    
+   
+Standared user Category Notifications 
+    [Documentation]   Logs into Portal GUI as application admin 
+    [Arguments]    ${AdminCategoryMsg}
+    #click element    xpath=//*[@id='megamenu-notification-button'] 
+    #click element    xpath=//*[@id="notification-history-link"] 
+    Wait until Element is visible    xpath=//*[@id='app-title']    timeout=10 
+    Table Column Should Contain    xpath=//*[@id='notification-history-table']    2    ${AdminCategoryMsg} 
+    log    ${AdminCategoryMsg} 
+    
+    
+Standared user Logout from Portal GUI
+    [Documentation]   Logout from Portal GUI
+    Click Element    xpath=//div[@id='header-user-icon']
+    Click Button    xpath=//button[contains(.,'Log out')]
+    #Confirm Action	
+    Title Should Be    Login     
+        
+     
+     
+     
+Tear Down     
+    [Documentation]   Close all browsers
+    Close All Browsers
+    
+
+ 
+ 
+ 
+    
+    
diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot
new file mode 100644
index 0000000..c196558
--- /dev/null
+++ b/test/csit/tests/portal/testsuites/test1.robot
@@ -0,0 +1,75 @@
+*** Settings ***
+Documentation    This is RobotFrame work script
+Library    ExtendedSelenium2Library
+Library    OperatingSystem
+Resource   ../resources/browser_setup.robot
+#Resource    ../resources/Portal/portal_int_par.robot
+Resource    ../resources/Portal/portal_VID.robot
+#Resource    ../resources/Portal/portal_SDC.robot
+
+
+*** Variables ***
+
+
+*** Test Cases ***
+
+Portal Health Check    
+     Run Portal Health Check
+
+
+Portal Admin functionality 
+    [Documentation]    ONAP Portal Admin functionality  test
+    Setup Browser
+     Portal admin Login To Portal GUI
+    Portal admin Microservice Onboarding
+    Portal Admin Create Widget for All users
+    Portal Admin Delete Widget for All users 
+    Portal Admin Create Widget for Application Roles
+    Portal Admin Delete Widget for Application Roles 
+    Portal admin Add Application admin User New user
+    Portal admin Add Standard User New user
+    Portal admin Add Application Admin Exiting User -APPDEMO
+    Portal admin Add Application Admin Exiting User 
+    Portal admin Delete Application Admin Existing User
+    Portal Admin Delete Widget for All users
+    Portal admin Add Standard User Existing user  
+    Portal admin Edit Standard User Existing user 
+    Portal admin Delete Standard User Existing user
+    Functional Top Menu Get Access   
+    Functional Top Menu Contact Us
+    Portal admin Edit Functional menu
+    ${AdminBroadCastMsg}=    Portal Admin Broadcast Notifications 
+    set global variable    ${AdminBroadCastMsg}
+    ${AdminCategoryMsg}=   Portal Admin Category Notifications
+    set global variable    ${AdminCategoryMsg}
+    Portal admin Logout from Portal GUI
+    
+    
+Application Admin functionality 
+   [Documentation]    ONAP Application Admin functionality test 
+   Application admin Login To Portal GUI
+#   Application Admin Navigation Application Link Tab 
+#  Application Admin Navigation Functional Menu
+   Application admin Add Standard User Existing user  
+   Application admin Edit Standard User Existing user 
+   Application admin Delete Standard User Existing user
+   Application admin Logout from Portal GUI
+    
+Standared User functionality 
+    [Documentation]    ONAP Standared User functionality test     
+     Standared user Login To Portal GUI
+#     Standared user Navigation Application Link Tab
+#     Standared user Navigation Functional Menu 
+     Standared user Broadcast Notifications    ${AdminBroadCastMsg} 
+     Standared user Category Notifications    ${AdminCategoryMsg} 
+   
+Teardown  
+    [Documentation]    Close All Open browsers     
+    Close All Browsers   
+    
+
+    
+
+    
+
+*** Keywords ***
diff --git a/test/csit/tests/so/sanity-check/data/createService.json b/test/csit/tests/so/sanity-check/data/createService.json
new file mode 100644
index 0000000..3ff629a
--- /dev/null
+++ b/test/csit/tests/so/sanity-check/data/createService.json
@@ -0,0 +1,29 @@
+{
+"requestDetails": {
+"modelInfo": {
+"modelType": "",
+"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+"modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+"modelName": "Test",
+"modelVersion": "1.0"
+},
+"subscriberInfo": {
+"globalSubscriberId": "{some subscriber id}",
+"subscriberName": "{some subscriber name}"
+},
+"requestInfo": {
+"instanceName": "MSO_TEST",
+"source": "VID",
+"suppressRollback": true
+},
+"requestParameters": {
+"subscriptionServiceType": "MOG",
+"userParams": [
+{
+"name": "someUserParam",
+"value": "someValue"
+}
+]
+}
+}
+}
\ No newline at end of file
diff --git a/test/csit/tests/so/sanity-check/data/createService_null_input.json b/test/csit/tests/so/sanity-check/data/createService_null_input.json
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/csit/tests/so/sanity-check/data/createService_null_input.json
diff --git a/test/csit/tests/so/sanity-check/data/createVnf.json b/test/csit/tests/so/sanity-check/data/createVnf.json
new file mode 100644
index 0000000..7ea3d24
--- /dev/null
+++ b/test/csit/tests/so/sanity-check/data/createVnf.json
@@ -0,0 +1,35 @@
+{
+	"requestDetails": {
+		"modelInfo": {
+			"modelType": "",
+			"modelInvariantId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
+			"modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe",
+			"modelName": "vSAMP12",
+			"modelVersion": "1.0",
+			"modelCustomizationName": "vSAMP12 1"
+		},
+		"cloudConfiguration": {
+			"lcpCloudRegionId": "mdt1",
+			"tenantId": "88a6ca3ee0394ade9403f075db23167e"
+		},
+		"requestInfo": {
+			"instanceName": "MSOTEST103a",
+			"productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
+			"source": "VID",
+			"suppressRollback": false
+		},
+		"relatedInstanceList": [{
+			"relatedInstance": {
+				"instanceId": " {serviceInstanceId} ",
+				"modelInfo": {
+					"modelType": "service",
+					"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+					"modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe",
+					"modelName": " {parent service model name} ",
+					"modelVersion": "1.0"
+				}
+			}
+		}],
+		"requestParameters": {}
+	}
+}
diff --git a/test/csit/tests/so/sanity-check/data/deleteService.json b/test/csit/tests/so/sanity-check/data/deleteService.json
new file mode 100644
index 0000000..593fdd3
--- /dev/null
+++ b/test/csit/tests/so/sanity-check/data/deleteService.json
@@ -0,0 +1,13 @@
+{
+"requestDetails": {
+"modelInfo": {
+"modelType": "",
+"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff",
+"modelName": " Test ",
+"modelVersion": "1.0"
+},
+"requestInfo": {
+"source": "VID"
+}
+}
+}
diff --git a/test/csit/tests/so/sanity-check/data/deleteVnf.json b/test/csit/tests/so/sanity-check/data/deleteVnf.json
new file mode 100644
index 0000000..f326a12
--- /dev/null
+++ b/test/csit/tests/so/sanity-check/data/deleteVnf.json
@@ -0,0 +1,20 @@
+{
+"requestDetails": {
+"modelInfo": {
+"modelType": "",
+"modelInvariantId": "ff5256d1-5a33-55df-13ab-12abad84e7ff",
+"modelName": "vSAMP12",
+"modelVersion": "1"
+},
+"cloudConfiguration": {
+"lcpCloudRegionId": "mdt1",
+"tenantId": "88a6ca3ee0394ade9403f075db23167e"
+},
+"requestInfo": {
+"source": "VID"
+},
+"requestParameters": {
+"userParams": []
+}
+}
+}
diff --git a/test/csit/tests/so/sanity-check/sanity_test_so.robot b/test/csit/tests/so/sanity-check/sanity_test_so.robot
index e53b46c..2e05c50 100644
--- a/test/csit/tests/so/sanity-check/sanity_test_so.robot
+++ b/test/csit/tests/so/sanity-check/sanity_test_so.robot
@@ -1,25 +1,71 @@
-*** settings ***
-Resource    ../../common.robot
+*** Settings ***
 Library     Collections
 Library     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     HttpLibrary.HTTP
 
 *** Variables ***
-@{return_ok_list}=   200  201  202
-${queryservice_url}       /api/so/v1/services/5212b49f-fe70-414f-9519-88bec35b3190
-${service_id}
-${operation_id}
-*** Test Cases ***
-soQueryServiceFuncTest
-    [Documentation]    query single service rest test
-    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
-    Create Session    web_session    http://${MSB_IP}    headers=${headers}
-    ${resp}=  Get Request    web_session    ${queryservice_url}
-    ${responese_code}=     Convert To String      ${resp.status_code}
-    List Should Contain Value    ${return_ok_list}   ${responese_code}
-    ${response_json}    json.loads    ${resp.content}
-    ${serviceName}=    Convert To String      ${response_json['serviceName']}
-    Should Be Equal    ${serviceName}    test_so
+${MESSAGE}    Hello, world!
 
+*** Test Cases ***
+
+Create ServiceInstance for invalid input
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createService.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    refrepo    /ecomp/mso/infra/serviceInstances/v2    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result 
+	
+Create ServiceInstance for invalid user
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createService.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    refrepo    /ecomp/mso/infra/serviceInstances/v2    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result	
+
+Delete ServiceInstance for invalid input
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}deleteService.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Delete Request    refrepo    /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result    
+	
+Delete ServiceInstance for invalid user
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}deleteService.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Delete Request    refrepo    /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result
+	
+SO ServiceInstance health check
+    Create Session   refrepo  http://${REPO_IP}:8080
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    refrepo    /ecomp/mso/infra/orchestrationRequests/v2/rq1234d1-5a33-55df-13ab-12abad84e333    headers=${headers}
+    Should Not Contain     ${resp.content}      null
+
+Create VnfInstance for invalid input
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createVnf.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    refrepo    /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result
+	
+Create VnfInstance for invalid credential
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}createVnf.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI=    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    refrepo    /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result    
+	
+Delete VnfInstance for invalid input
+    Create Session   refrepo  http://${REPO_IP}:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}deleteVnf.json
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Delete Request    refrepo    /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs/aca51b0a-710d-4155-bc7c-7cef19d9a94e    data=${data}    headers=${headers}
+    Run Keyword If  '${resp.status_code}' == '400' or '${resp.status_code}' == '404' or '${resp.status_code}' == '405'  log to console  \nexecuted with expected result
+	
+Get Orchestration Requests
+    Create Session   refrepo  http://${REPO_IP}:8080
+    &{headers}=  Create Dictionary    Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    refrepo    /ecomp/mso/infra/orchestrationRequests/v2    headers=${headers}
+    Should Not Contain     ${resp.content}      null
\ 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
new file mode 100644
index 0000000..47ff25f
--- /dev/null
+++ b/test/csit/tests/vfc/gvnfm-vnflcm/test.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/vnflcm/v1/swagger.json
+
+*** Test Cases ***
+VnflcmSwaggerTest
+    [Documentation]    query swagger info vnflcm
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VNFLCM_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
diff --git a/test/csit/tests/vfc/gvnfm-vnfmgr/test.robot b/test/csit/tests/vfc/gvnfm-vnfmgr/test.robot
new file mode 100644
index 0000000..90392c9
--- /dev/null
+++ b/test/csit/tests/vfc/gvnfm-vnfmgr/test.robot
@@ -0,0 +1,14 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/vnfmgr/v1/swagger.json
+
+*** Test Cases ***
+NslcmSwaggerTest
+    [Documentation]    query vnfmgr swagger info rest test
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vfc/gvnfm-vnfres/test.robot b/test/csit/tests/vfc/gvnfm-vnfres/test.robot
new file mode 100644
index 0000000..fb87435
--- /dev/null
+++ b/test/csit/tests/vfc/gvnfm-vnfres/test.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/vnfres/v1/swagger.json
+
+*** Test Cases ***
+VnfresSwaggerTest
+    [Documentation]    query vnfres swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VNFRES_IP}:8802    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
diff --git a/test/csit/tests/vfc/nfvo-catalog/test.robot b/test/csit/tests/vfc/nfvo-catalog/test.robot
new file mode 100644
index 0000000..99dff9b
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-catalog/test.robot
@@ -0,0 +1,19 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=         200  201  202
+${queryswagger_url}        /api/catalog/v1/swagger.json
+${queryVNFPackage_url}     /api/catalog/v1/vnfpackages
+${queryNSPackages_url}     /api/catalog/v1/nspackages
+
+*** Test Cases ***
+GetVNFPackages
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:8806             headers=${headers}
+    ${resp}=              Get Request          web_session                      ${queryVNFPackage_url}
+    ${responese_code}=    Convert To String    ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
diff --git a/test/csit/tests/vfc/nfvo-driver-ems/test.robot b/test/csit/tests/vfc/nfvo-driver-ems/test.robot
new file mode 100644
index 0000000..a35a542
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-ems/test.robot
@@ -0,0 +1,15 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/emsdriver/v1/swagger
+
+*** Test Cases ***
+EMSDriverSwaggerTest
+    [Documentation]    query swagger info of emsdriver
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot b/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
new file mode 100644
index 0000000..e7dd612
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-gvnfm/gvnfmdriver.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/gvnfmdriver/v1/swagger.json
+
+*** Test Cases ***
+VnfresSwaggerTest
+    [Documentation]    query gvnfmdriver swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${GVNFMDRIVER_IP}:8484    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
diff --git a/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot b/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot
new file mode 100644
index 0000000..d571ee9
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-gvnfm/jujudriver.robot
@@ -0,0 +1,16 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     simplejson
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /openoapi/jujuvnfm/v1/swagger.json
+
+*** Test Cases ***
+SwaggerFuncTest
+    [Documentation]    query swagger info rest test
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vfc/nfvo-driver-sfc/test.robot b/test/csit/tests/vfc/nfvo-driver-sfc/test.robot
new file mode 100644
index 0000000..1311594
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-sfc/test.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/ztesdncdriver/v1/swagger
+
+*** Test Cases ***
+ZteSdncDriverSwaggerTest
+    [Documentation]    query swagger info of ztesdncdriver
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${SFC_DRV_IP}:8411    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
diff --git a/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
new file mode 100644
index 0000000..3277e77
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
@@ -0,0 +1,16 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     simplejson
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/hwvnfm/v1/swagger.json
+
+*** Test Cases ***
+SwaggerFuncTest
+    [Documentation]    query swagger info rest test
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot b/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot
new file mode 100644
index 0000000..7d7d305
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-driver-svnfm/ztevmanager.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/ztevmanagerdriver/v1/swagger.json
+
+*** Test Cases ***
+VnfresSwaggerTest
+    [Documentation]    query ztevmanagerdriver swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${ZTEVMANAGERDRIVER_IP}:8410    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
diff --git a/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json b/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json
new file mode 100644
index 0000000..bb39364
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json
@@ -0,0 +1,6 @@
+{
+  "nsName": "ns1",
+  "csarId": "123",
+  "description": "ns1 desc",
+  "test": "test"
+}
\ No newline at end of file
diff --git a/test/csit/tests/vfc/nfvo-lcm/test.robot b/test/csit/tests/vfc/nfvo-lcm/test.robot
new file mode 100644
index 0000000..44d2329
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-lcm/test.robot
@@ -0,0 +1,64 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202  204
+${queryswagger_url}    /api/nslcm/v1/swagger.json
+${create_ns_url}    /api/nslcm/v1/ns
+${delete_ns_url}    /api/nslcm/v1/ns
+
+#json files
+${create_ns_json}    ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns.json
+
+#global variables
+${nsInstId}
+
+*** Test Cases ***
+NslcmSwaggerTest
+    [Documentation]    query swagger info of nslcm
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${NSLCM_IP}:8403    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
+
+NslcmSwaggerByMSBTest
+    [Documentation]    query swagger info of nslcm 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
+
+CreateNSTest
+    [Documentation]    Create NS function test
+    ${json_value}=     json_from_file      ${create_ns_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_ns_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}
+    ${nsInstId}=    Convert To String      ${response_json['nsInstanceId']}
+    Set Global Variable     ${nsInstId}
+
+DeleteNS Test
+    [Documentation]    Delete NS 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_ns_url}/${nsInstId}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
diff --git a/test/csit/tests/vfc/nfvo-resmanagement/test.robot b/test/csit/tests/vfc/nfvo-resmanagement/test.robot
new file mode 100644
index 0000000..996cf58
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-resmanagement/test.robot
@@ -0,0 +1,16 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     simplejson
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_url}    /api/resmgr/v1/swagger.json
+
+*** Test Cases ***
+SwaggerFuncTest
+    [Documentation]    query swagger info rest test
+    Should Be Equal    2.0    2.0
diff --git a/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
index 473415e..b06d5b5 100644
--- a/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
+++ b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
@@ -1,17 +1,40 @@
 *** settings ***
 Library           OperatingSystem
 Library           Process
+Library           String
+Library           Collections
+Library           RequestsLibrary
+Library           json
 
 
 *** Variables ***
-${csarpath}    ${SCRIPTS}/../tests/vnfsdk-marketplace/provision/enterprise2DC.csar
-${upload}      ${SCRIPTS}/../tests/vnfsdk-marketplace/provision/uploadCSAR.sh
-
+${csarpath}   ${SCRIPTS}/../tests/vnfsdk-marketplace/provision/enterprise2DC.csar
+${csarId}  0
 
 *** Test Cases ***
-    
-E2E Test case for VNF SDK
-    [Documentation]    Upload the VNF Package
-    ${status}=    Run Process   bash ${upload} ${REPO_IP} ${csarpath} > log.txt    shell=yes
-    Log    Status is ${status}
 
+Upload VNF Package to VNF Repository
+    [Documentation]    Upload the VNF Package
+    ${resp}=   Run    curl -s -X POST -H "Content-Type: multipart/form-data" -F "file=@${csarpath}" http://${REPO_IP}:8702/openoapi/vnfsdk-marketplace/v1/PackageResource/csars
+    Should Contain    ${resp}    csarId
+    ${csarjson}=    Evaluate    ${resp}
+    ${csarId}=    Set Variable    ${csarjson["csarId"]}
+    Set Global Variable    ${csarId}
+
+Get VNF Package Information from Repository
+    Create Session   refrepo  http://${REPO_IP}:8702
+    &{headers}=  Create Dictionary      Content-Type=application/json
+    ${resp}=    Get Request    refrepo   /openoapi/vnfsdk-marketplace/v1/PackageResource/csars/${csarId}   headers=${headers}
+    Should Be Equal As Strings  ${resp.status_code}     200
+
+Download VNF Package from Repository
+    Create Session   refrepo  http://${REPO_IP}:8702
+    &{headers}=  Create Dictionary      Content-Type=application/json
+    ${resp}=    Get Request    refrepo   /openoapi/vnfsdk-marketplace/v1/PackageResource/csars/${csarId}/files   headers=${headers}
+    Should Be Equal As Strings  ${resp.status_code}     200
+
+Delete VNF Package from Repository
+    Create Session   refrepo  http://${REPO_IP}:8702
+    &{headers}=  Create Dictionary      Content-Type=application/json
+    ${resp}=    Delete Request    refrepo    /openoapi/vnfsdk-marketplace/v1/PackageResource/csars/${csarId}   headers=${headers}
+    Should Be Equal As Strings  ${resp.status_code}     200
diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml
index 5d3f569..331f357 100644
--- a/version-manifest/pom.xml
+++ b/version-manifest/pom.xml
@@ -48,7 +48,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-plugin-plugin</artifactId>
-        <version>3.2</version>
+        <version>3.4</version>
         <configuration>
           <goalPrefix>version-manifest</goalPrefix>
           <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
@@ -68,6 +68,23 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>pl.project13.maven</groupId>
+        <artifactId>git-commit-id-plugin</artifactId>
+        <version>2.2.3</version>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>revision</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
+          <generateGitPropertiesFile>true</generateGitPropertiesFile>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>
diff --git a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
index b26c1cd..75da50f 100644
--- a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
+++ b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
@@ -17,18 +17,21 @@
 package org.onap.integration.versionmanifest;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.net.MalformedURLException;
 import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVRecord;
-import org.apache.maven.model.Dependency;
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
@@ -57,9 +60,22 @@
     public void execute() throws MojoExecutionException {
         final Log log = getLog();
 
-        log.info("Checking version manifest " + manifest);
+        final Properties gitProps = new Properties();
+        try (InputStream in = getClass().getResourceAsStream("/git.properties")) {
+            gitProps.load(in);
+        } catch (IOException e) {
+            log.error(e);
+            throw new MojoExecutionException(e.getMessage());
+        }
 
-        Map<String, String> expectedVersions = new HashMap<>();
+        log.info("Manifest version: " + gitProps.getProperty("git.build.time") + " "
+                + gitProps.getProperty("git.commit.id") + " " + gitProps.getProperty("git.remote.origin.url"));
+
+        log.info("");
+
+        final List<String> groupIdPrefixes = Arrays.asList("org.onap", "org.openecomp", "org.openo");
+
+        final Map<String, String> expectedVersions = new HashMap<>();
 
         try (InputStreamReader in = new InputStreamReader(getClass().getResourceAsStream(manifest),
                 StandardCharsets.ISO_8859_1)) {
@@ -71,38 +87,54 @@
                 log.debug("Expected version: " + groupId + ":" + artifactId + ":" + version);
                 expectedVersions.put(groupId + ":" + artifactId, version);
             }
-        } catch (MalformedURLException e) {
-            log.error(e);
-            throw new MojoExecutionException(e.getMessage());
         } catch (IOException e) {
             log.error(e);
             throw new MojoExecutionException(e.getMessage());
         }
 
-        Map<String, String> actualVersions = new HashMap<>();
-        MavenProject parent = project.getParent();
+        final Map<String, String> actualVersions = new HashMap<>();
+        final MavenProject parent = project.getParent();
         if (parent != null) {
             log.debug("Parent: " + parent);
-            actualVersions.put(parent.getGroupId() + ":" + parent.getArtifactId(), parent.getVersion());
+            // don't warn within the same groupId
+            if (!project.getGroupId().equals(parent.getGroupId())) {
+                actualVersions.put(parent.getGroupId() + ":" + parent.getArtifactId(), parent.getVersion());
+            }
         } else {
             log.debug("No parent");
         }
 
-        for (Dependency dep : project.getDependencies()) {
-            log.debug("Dependency: " + dep.toString());
-            actualVersions.put(dep.getGroupId() + ":" + dep.getArtifactId(), dep.getVersion());
+        for (Artifact dep : project.getDependencyArtifacts()) {
+            log.debug("DependencyArtifact: " + dep.toString());
+            // don't warn within the same groupId
+            if (!project.getGroupId().equals(dep.getGroupId())) {
+                actualVersions.put(dep.getGroupId() + ":" + dep.getArtifactId(), dep.getVersion());
+            }
         }
 
-        Set<String> mismatches = new TreeSet<>();
-        for (Entry<String, String> expected : expectedVersions.entrySet()) {
-            String artifact = expected.getKey();
+        final Set<String> mismatches = new TreeSet<>();
+        final Set<String> missingArtifacts = new TreeSet<>();
+
+        for (Entry<String, String> actualVersionEntry : actualVersions.entrySet()) {
+            String artifact = actualVersionEntry.getKey();
+            String actualVersion = actualVersionEntry.getValue();
             String expectedVersion = expectedVersions.get(artifact);
-            String actualVersion = actualVersions.get(artifact);
-            if (actualVersion != null && !actualVersion.equals(expectedVersion)) {
+            if (expectedVersion == null) {
+                if (groupIdPrefixes.stream().anyMatch(prefix -> artifact.startsWith(prefix))) {
+                    missingArtifacts.add(artifact);
+                }
+            } else if (!expectedVersion.equals(actualVersion)) {
                 mismatches.add(artifact);
             }
         }
 
+        // used for formatting
+        int[] columnWidths = new int[10];
+        columnWidths[0] = actualVersions.keySet().stream().mapToInt(String::length).max().orElse(1);
+        columnWidths[1] = actualVersions.values().stream().mapToInt(String::length).max().orElse(1);
+        columnWidths[2] = expectedVersions.values().stream().mapToInt(String::length).max().orElse(1);
+        String format = "  %-" + columnWidths[0] + "s" + "  %" + columnWidths[1] + "s -> %" + columnWidths[2] + "s";
+
         if (mismatches.isEmpty()) {
             log.debug("No version mismatches found");
         } else {
@@ -110,10 +142,23 @@
             for (String artifact : mismatches) {
                 String expectedVersion = expectedVersions.get(artifact);
                 String actualVersion = actualVersions.get(artifact);
+
                 if (actualVersion != null && !actualVersion.equals(expectedVersion)) {
-                    log.warn("  " + artifact + " " + actualVersion + " -> " + expectedVersion);
+                    log.warn(String.format(format, artifact, actualVersion, expectedVersion));
                 }
             }
+            log.warn("");
+        }
+
+        if (missingArtifacts.isEmpty()) {
+            log.debug("No artifacts found missing in the version manifest");
+        } else {
+            log.warn("The following dependencies are missing in the version manifest:");
+            for (String artifact : missingArtifacts) {
+                String actualVersion = actualVersions.get(artifact);
+                log.warn(String.format(format, artifact, actualVersion, "?"));
+            }
+            log.warn("");
         }
 
     }
diff --git a/version-manifest/src/main/resources/java-manifest.csv b/version-manifest/src/main/resources/java-manifest.csv
index 8baa868..f6bb6ec 100644
--- a/version-manifest/src/main/resources/java-manifest.csv
+++ b/version-manifest/src/main/resources/java-manifest.csv
@@ -1,2 +1,2 @@
 groupId,artifactId,version
-org.onap.oparent,oparent,0.1.0
+org.onap.oparent,oparent,0.1.1
