Merge "debug csit sanity failure"
diff --git a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
index 9662e83..cb1f94a 100644
--- a/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
+++ b/bootstrap/jenkins/vagrant/jjb/java-jobs.yaml
@@ -21,6 +21,9 @@
      - 'aai_aai-service':
          repo: 'aai/aai-service'
          pom: 'pom.xml'
+     - 'aai_babel':
+         repo: 'aai/babel'
+         pom: 'pom.xml'
      - 'aai_champ':
          repo: 'aai/champ'
          pom: 'pom.xml'
@@ -237,9 +240,12 @@
      - 'holmes_rule-management':
          repo: 'holmes/rule-management'
          pom: 'pom.xml'
-     - 'integration':
+     - 'integration_test_mocks_sniroemulator':
          repo: 'integration'
-         pom: 'pom.xml'
+         pom: 'test/mocks/sniroemulator/pom.xml'
+     - 'integration_version-manifest':
+         repo: 'integration'
+         pom: 'version-manifest/pom.xml'
      - 'modeling_toscaparsers_javatoscachecker':
          repo: 'modeling/toscaparsers'
          pom: 'javatoscachecker/pom.xml'
@@ -273,6 +279,9 @@
      - 'multicloud_openstack_vmware':
          repo: 'multicloud/openstack/vmware'
          pom: 'pom.xml'
+     - 'multicloud_openstack_windriver':
+         repo: 'multicloud/openstack/windriver'
+         pom: 'pom.xml'
      - 'ncomp_cdap':
          repo: 'ncomp/cdap'
          pom: 'pom.xml'
@@ -357,9 +366,6 @@
      - 'sdc_sdc-workflow-designer':
          repo: 'sdc/sdc-workflow-designer'
          pom: 'pom.xml'
-     - 'sdc_sdc_common':
-         repo: 'sdc/sdc_common'
-         pom: 'pom.xml'
      - 'sdnc_adaptors':
          repo: 'sdnc/adaptors'
          pom: 'pom.xml'
@@ -393,6 +399,9 @@
      - 'usecase-ui':
          repo: 'usecase-ui'
          pom: 'pom.xml'
+     - 'usecase-ui_server':
+         repo: 'usecase-ui/server'
+         pom: 'pom.xml'
      - 'vfc_gvnfm_vnflcm':
          repo: 'vfc/gvnfm/vnflcm'
          pom: 'pom.xml'
@@ -423,21 +432,24 @@
      - 'vfc_nfvo_resmanagement':
          repo: 'vfc/nfvo/resmanagement'
          pom: 'pom.xml'
-     - 'vfc_nfvo_wfengine_activiti-extension':
+     - 'vfc_nfvo_wfengine':
          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'
+         pom: 'pom.xml'
      - 'vid':
          repo: 'vid'
          pom: 'pom.xml'
      - 'vid_asdcclient':
          repo: 'vid/asdcclient'
          pom: 'pom.xml'
+     - 'vnfsdk_compliance_veslibrary_ves_clibrary_VESreporting_vFW':
+         repo: 'vnfsdk/compliance'
+         pom: 'veslibrary/ves_clibrary/VESreporting_vFW/pom.xml'
+     - 'vnfsdk_compliance_veslibrary_ves_clibrary_VESreporting_vLB':
+         repo: 'vnfsdk/compliance'
+         pom: 'veslibrary/ves_clibrary/VESreporting_vLB/pom.xml'
+     - 'vnfsdk_compliance_veslibrary_ves_javalibrary_evel_javalib2':
+         repo: 'vnfsdk/compliance'
+         pom: 'veslibrary/ves_javalibrary/evel_javalib2/pom.xml'
      - 'vnfsdk_functest':
          repo: 'vnfsdk/functest'
          pom: 'pom.xml'
@@ -453,3 +465,27 @@
      - 'vnfsdk_validation':
          repo: 'vnfsdk/validation'
          pom: 'pom.xml'
+     - 'vvp_cms':
+         repo: 'vvp/cms'
+         pom: 'pom.xml'
+     - 'vvp_engagementmgr':
+         repo: 'vvp/engagementmgr'
+         pom: 'pom.xml'
+     - 'vvp_gitlab':
+         repo: 'vvp/gitlab'
+         pom: 'pom.xml'
+     - 'vvp_image-scanner':
+         repo: 'vvp/image-scanner'
+         pom: 'pom.xml'
+     - 'vvp_jenkins':
+         repo: 'vvp/jenkins'
+         pom: 'pom.xml'
+     - 'vvp_portal':
+         repo: 'vvp/portal'
+         pom: 'pom.xml'
+     - 'vvp_postgresql':
+         repo: 'vvp/postgresql'
+         pom: 'pom.xml'
+     - 'vvp_test-engine':
+         repo: 'vvp/test-engine'
+         pom: 'pom.xml'
diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index e90e0a7..e1815e7 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -55,6 +55,7 @@
 | vfc        | Virtual Function Controller         |
 | multicloud | Multi Cloud                         |
 | ccsdk      | Common Controller SDK               |
+| vnfsdk     | VNF SDK                             |
 | all_in_one | All ONAP services in a VM           |
 | testing    | Unit Test VM                        |
 
diff --git a/bootstrap/vagrant-onap/lib/vnfsdk b/bootstrap/vagrant-onap/lib/vnfsdk
index b73e064..c23ed85 100644
--- a/bootstrap/vagrant-onap/lib/vnfsdk
+++ b/bootstrap/vagrant-onap/lib/vnfsdk
@@ -5,22 +5,19 @@
 source /var/onap/functions
 
 vnfsdk_src_folder=$git_src_folder/vnfsdk
-
-vnfsdk_repos=("refrepo")
+vnfsdk_repos=("vnfsdk/compliance" "vnfsdk/functest" "vnfsdk/lctest" "vnfsdk/model" "vnfsdk/pkgtools" "vnfsdk/refrepo" "vnfsdk/validation")
 
 # clone_all_vnfsdk_repos() - Function that clones vnfsdk source repo.
 function clone_all_vnfsdk_repos {
-
-    for dirc in ${vnfsdk_repos[@]}; do
-        clone_repo vnfsdk/$dirc $vnfsdk_src_folder/$dirc
+    for repo in ${vnfsdk_repos[@]}; do
+        clone_repo $repo $vnfsdk_src_folder${repo#*vnfsdk}
     done
 }
 
 # compile_all_vnfsdk_repos - Function that builds vnfsdk source repo
 function compile_all_vnfsdk_repos {
-
-    for dirc in ${vnfsdk_repos[@]}; do
-        clone_repo vnfsdk/$dirc $vnfsdk_src_folder/$dirc
+    for repo in ${vnfsdk_repos[@]}; do
+        compile_src $vnfsdk_src_folder${repo#*vnfsdk}
     done
 }
 
diff --git a/bootstrap/vagrant-onap/tests/test_vnfsdk b/bootstrap/vagrant-onap/tests/test_vnfsdk
index 5aeca45..250a9fc 100644
--- a/bootstrap/vagrant-onap/tests/test_vnfsdk
+++ b/bootstrap/vagrant-onap/tests/test_vnfsdk
@@ -11,21 +11,28 @@
 function test_clone_all_vnfsdk_repos {
     clone_all_vnfsdk_repos
 
+    asserts_file_exist $vnfsdk_src_folder/compliance/veslibrary/README
+    asserts_file_exist $vnfsdk_src_folder/functest/pom.xml
+    asserts_file_exist $vnfsdk_src_folder/lctest/pom.xml
+    asserts_file_exist $vnfsdk_src_folder/model/docs/index.rst
+    asserts_file_exist $vnfsdk_src_folder/pkgtools/pom.xml
     asserts_file_exist $vnfsdk_src_folder/refrepo/pom.xml
+    asserts_file_exist $vnfsdk_src_folder/validation/pom.xml
 }
 
 # test_compile_all_vnfsdk_repos () - Verify if VNFSDK source repo compiles correctly.
 function test_compile_all_vnfsdk_repos {
     clone_all_vnfsdk_repos
-    {
-        compile_all_vnfsdk_repos
-    } || {
-        set -e
-    }
+    compile_all_vnfsdk_repos
+
+    asserts_file_exist $vnfsdk_src_folder/lctest/lifecycle-test/target/lifecycle-test-service-1.0.0-SNAPSHOT.war
+    asserts_file_exist $vnfsdk_src_folder/pkgtools/target/vnf-sdk-pkgtools-1.0.0-SNAPSHOT.zip
+    asserts_file_exist $vnfsdk_src_folder/refrepo/vnfmarket-be/vnf-sdk-marketplace/target/ROOT.war
+    asserts_file_exist $vnfsdk_src_folder/validation/csarvalidation/target/validation-csar-1.0.0-SNAPSHOT.jar
 }
 
 # test_get_vnfsdk_images() - Verify that the VNFSDK images are created or retrieved
-function  test_get_vnfsdk_images {
+function test_get_vnfsdk_images {
     clone_all_vnfsdk_repos
     get_vnfsdk_images
 
@@ -47,4 +54,4 @@
     unset covered_functions
     covered_functions=$1
 fi
-main "${covered_functions[@]}"
\ No newline at end of file
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tox.ini b/bootstrap/vagrant-onap/tox.ini
index 6748100..6ab309f 100644
--- a/bootstrap/vagrant-onap/tox.ini
+++ b/bootstrap/vagrant-onap/tox.ini
@@ -12,11 +12,13 @@
 deps =
    {env:BASHATE_INSTALL_PATH:bashate}
 whitelist_externals = bash
-commands = bash -c "find {toxinidir}/{tests,lib,tools} \
-         -not \( -type d -path *files* -prune \)       \
-         -not \( -type f -name .*.swp* -prune \)       \
-         -not \( -type f -name *.ps1 -prune \)         \
-         -type f                                       \
+commands = bash -c "find {toxinidir}/{tests,lib,tools}       \
+         -not \( -type d -path *files* -prune \)             \
+         -not \( -type f -name .*.swp* -prune \)             \
+         -not \( -type f -name *.ps1 -prune \)               \
+         -not \( -type f -name installed-software* -prune \) \
+         -not \( -type f -name *projects.txt -prune \)       \
+         -type f                                             \
 # E005 file does not begin with #! or have a .sh prefix
 # E006 check for lines longer than 79 columns
 # E042 local declaration hides errors
diff --git a/test/csit/plans/modeling/javatoscachecker/APIs/setup.sh b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/setup.sh
similarity index 87%
rename from test/csit/plans/modeling/javatoscachecker/APIs/setup.sh
rename to test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/setup.sh
index 19fc5ed..03d07de 100644
--- a/test/csit/plans/modeling/javatoscachecker/APIs/setup.sh
+++ b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/setup.sh
@@ -18,5 +18,5 @@
 #
 # Place the scripts in run order:
 
-source ${WORKSPACE}/test/csit/scripts/modeling/javatoscachecker/setup_containers.sh
+source ${WORKSPACE}/test/csit/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh
 
diff --git a/test/csit/plans/modeling/javatoscachecker/APIs/teardown.sh b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/teardown.sh
similarity index 86%
rename from test/csit/plans/modeling/javatoscachecker/APIs/teardown.sh
rename to test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/teardown.sh
index 0e149c0..1ecaad4 100644
--- a/test/csit/plans/modeling/javatoscachecker/APIs/teardown.sh
+++ b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/teardown.sh
@@ -17,5 +17,5 @@
 # Modifications copyright (c) 2017 AT&T Intellectual Property
 #
 
-source ${WORKSPACE}/test/csit/scripts/modeling/javatoscachecker/teardown_containers.sh
+source ${WORKSPACE}/test/csit/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh
 
diff --git a/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/testplan.txt b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/testplan.txt
new file mode 100644
index 0000000..f59237b
--- /dev/null
+++ b/test/csit/plans/modeling-toscaparsers-javatoscachecker/APIs/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+modeling-toscaparsers-javatoscachecker/APIs
diff --git a/test/csit/plans/vid/healthCheck/setup.sh b/test/csit/plans/vid/healthCheck/setup.sh
index afe9ea7..a117a6c 100644
--- a/test/csit/plans/vid/healthCheck/setup.sh
+++ b/test/csit/plans/vid/healthCheck/setup.sh
@@ -18,6 +18,8 @@
 #
 # Place the scripts in run order:
 
+/usr/bin/Xvfb :0 -screen 0 1024x768x24&
+export DISPLAY=:0
 
 source ${WORKSPACE}/test/csit/scripts/vid/clone_and_setup_vid_data.sh
 
diff --git a/test/csit/plans/vid/healthCheck/testplan.txt b/test/csit/plans/vid/healthCheck/testplan.txt
index ffbb593..92d8b05 100644
--- a/test/csit/plans/vid/healthCheck/testplan.txt
+++ b/test/csit/plans/vid/healthCheck/testplan.txt
@@ -1,3 +1,4 @@
 # Test suites are relative paths under [integration.git]/test/csit/tests/.
 # Place the suites in run order.
 vid/healthCheck
+vid/login
diff --git a/test/csit/scripts/modeling/javatoscachecker/setup_containers.sh b/test/csit/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh
similarity index 94%
rename from test/csit/scripts/modeling/javatoscachecker/setup_containers.sh
rename to test/csit/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh
index 0b22f61..3521ff1 100644
--- a/test/csit/scripts/modeling/javatoscachecker/setup_containers.sh
+++ b/test/csit/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh
@@ -20,7 +20,7 @@
 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 
-echo "This is ${WORKSPACE}/test/csit/modeling/javatoscachecker/setup_containers.sh"
+echo "This is ${WORKSPACE}/test/csit/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh"
 
 #start docker image
 run-instance.sh nexus3.onap.org:10001/onap/modeling/javatoscachecker:latest modeling_javatoscachecker_1 "-p 8080:8080"
diff --git a/test/csit/scripts/modeling/javatoscachecker/teardown_containers.sh b/test/csit/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh
similarity index 90%
rename from test/csit/scripts/modeling/javatoscachecker/teardown_containers.sh
rename to test/csit/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh
index c3292fb..cca4fe1 100644
--- a/test/csit/scripts/modeling/javatoscachecker/teardown_containers.sh
+++ b/test/csit/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh
@@ -20,7 +20,7 @@
 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 
-echo "This is ${WORKSPACE}/test/csit/modeling/javatoscachecker/teardown_containers.sh"
+echo "This is ${WORKSPACE}/test/csit/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh"
 
 kill-instance.sh modeling_javatoscachecker_1
 
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/__init__.robot b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/__init__.robot
similarity index 100%
rename from test/csit/tests/modeling/javatoscachecker/APIs/__init__.robot
rename to test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/__init__.robot
diff --git a/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/basics.robot b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/basics.robot
new file mode 100644
index 0000000..053b282
--- /dev/null
+++ b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/basics.robot
@@ -0,0 +1,62 @@
+*** Settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+
+*** Test Cases ***
+Check service up/non existent namespace
+    CreateSession   checkerservice  http://localhost:8080
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Get Request    checkerservice   /check_template/nosuchcatalog     headers=${headers}
+    Should Be Equal As Strings  ${resp.status_code}     404
+
+Check standalone template
+    CreateSession   checkerservice  http://localhost:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}standalone.yaml
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Post Request    checkerservice   /check_template/     data=${data}     headers=${headers}
+    Log    Response received from checker ${resp.text}
+    Should Be Equal As Strings      ${resp.status_code}     200
+    Should Be Equal As Strings      ${resp.text}     []
+
+Check standalone template with errors
+    CreateSession   checkerservice  http://localhost:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}standalone_with_errors.yaml
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Post Request    checkerservice   /check_template/     data=${data}     headers=${headers}
+    Log    Response received from checker ${resp.text}
+    Should Be Equal As Strings      ${resp.status_code}     200
+    Should Not Be Equal As Strings      ${resp.text}     []
+
+Check schema new namespace
+    CreateSession   checkerservice  http://localhost:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}test_schema.yaml
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Post Request    checkerservice   /check_template/test/schema.yaml     data=${data}     headers=${headers}
+    Log    Response received from checker ${resp.text}
+    Should Be Equal As Strings      ${resp.status_code}     200
+    Should Be Equal As Strings      ${resp.text}     []
+
+Check template in namespace
+    CreateSession   checkerservice  http://localhost:8080
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}test_template.yaml
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Post Request    checkerservice   /check_template/test/     data=${data}     headers=${headers}
+    Log    Response received from checker ${resp.text}
+    Should Be Equal As Strings      ${resp.status_code}     200
+    Should Be Equal As Strings      ${resp.text}     []
+
+Check named template does not exist
+    CreateSession   checkerservice  http://localhost:8080
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Get Request    checkerservice   /check_template/test/nosuchtemplate.yaml    headers=${headers}
+    Should Be Equal As Strings  ${resp.status_code}     404
+
+Check delete existing namespace
+    CreateSession   checkerservice  http://localhost:8080
+    &{headers}=  Create Dictionary    Accept=application/json
+    ${resp}=    Delete Request    checkerservice   /check_template/test/     headers=${headers}
+    Log    Response received from checker ${resp.text}
+    Should Be Equal As Strings  ${resp.status_code}     200
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/data/standalone.yaml b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/standalone.yaml
similarity index 100%
rename from test/csit/tests/modeling/javatoscachecker/APIs/data/standalone.yaml
rename to test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/standalone.yaml
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/data/standalone_with_errors.yaml b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/standalone_with_errors.yaml
similarity index 100%
rename from test/csit/tests/modeling/javatoscachecker/APIs/data/standalone_with_errors.yaml
rename to test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/standalone_with_errors.yaml
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/data/test_schema.yaml b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/test_schema.yaml
similarity index 100%
rename from test/csit/tests/modeling/javatoscachecker/APIs/data/test_schema.yaml
rename to test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/test_schema.yaml
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/data/test_template.yaml b/test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/test_template.yaml
similarity index 100%
rename from test/csit/tests/modeling/javatoscachecker/APIs/data/test_template.yaml
rename to test/csit/tests/modeling-toscaparsers-javatoscachecker/APIs/data/test_template.yaml
diff --git a/test/csit/tests/modeling/javatoscachecker/APIs/basics.robot b/test/csit/tests/modeling/javatoscachecker/APIs/basics.robot
deleted file mode 100644
index b940708..0000000
--- a/test/csit/tests/modeling/javatoscachecker/APIs/basics.robot
+++ /dev/null
@@ -1,40 +0,0 @@
-*** Settings ***
-Library     Collections
-Library     RequestsLibrary
-Library     OperatingSystem
-Library     json
-
-
-*** Test Cases ***
-Check service up
-    CreateSession   checkerservice  http://localhost:8080
-    &{headers}=  Create Dictionary    Content-Type=application/json    Accept=application/json
-    ${resp}=    Get Request    checkerservice   /check_template/nosuchcatalog     headers=${headers}
-    Should Be Equal As Strings  ${resp.status_code}     404
-
-Check standalone template
-    CreateSession   checkerservice  http://localhost:8080
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}standalone.yaml
-    &{headers}=  Create Dictionary    Content-Type=application/json    Accept=application/json
-    ${resp}=    Post Request    checkerservice   /check_template     data=${data}     headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Check schema new namespace
-    CreateSession   checkerservice  http://localhost:8080
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}test_schema.yaml
-    &{headers}=  Create Dictionary    Content-Type=application/json    Accept=application/json
-    ${resp}=    Post Request    checkerservice   /check_template/test/schema.yaml     data=${data}     headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Check template in namespace
-    CreateSession   checkerservice  http://localhost:8080
-    ${data}=    Get Binary File     ${CURDIR}${/}data${/}test_template.yaml
-    &{headers}=  Create Dictionary    Content-Type=application/json    Accept=application/json
-    ${resp}=    Post Request    checkerservice   /check_template/test/     data=${data}     headers=${headers}
-    Should Be Equal As Strings      ${resp.status_code}     200
-
-Check delete existing namespace
-    CreateSession   checkerservice  http://localhost:8080
-    &{headers}=  Create Dictionary    Content-Type=application/json    Accept=application/json
-    ${resp}=    Delete Request    checkerservice   /check_template/test/     headers=${headers}
-    Should Be Equal As Strings  ${resp.status_code}     200
diff --git a/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
index e0679fb..a2aa639 100644
--- a/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
+++ b/test/csit/tests/vfc/nfvo-driver-svnfm/huawei.robot
@@ -9,7 +9,7 @@
 
 *** Variables ***
 @{return_ok_list}=   200  201  202  204
-${queryswagger_url}    /api/hwvnfm/v1/swagger.json
+${queryswagger_url}    /api/huaweivnfmdriver/v1/swagger.json
 ${createauthtoken_url}    /rest/plat/smapp/v1/oauth/token
 
 #json files
diff --git a/test/csit/tests/vid/login/__init__.robot b/test/csit/tests/vid/login/__init__.robot
new file mode 100644
index 0000000..10faf38
--- /dev/null
+++ b/test/csit/tests/vid/login/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    VID - Login
diff --git a/test/csit/tests/vid/login/test1.robot b/test/csit/tests/vid/login/test1.robot
new file mode 100644
index 0000000..12b23b7
--- /dev/null
+++ b/test/csit/tests/vid/login/test1.robot
@@ -0,0 +1,78 @@
+*** Settings ***
+Documentation     Logins to VID
+Library 	    ExtendedSelenium2Library
+Library    Collections
+Library         String
+Library 	      RequestsLibrary
+#Library           OSUtils
+Library           OperatingSystem
+
+*** Variables ***
+${GLOBAL_APPLICATION_ID}           robot-ete
+${GLOBAL_SELENIUM_BROWSER}        chrome
+${GLOBAL_SELENIUM_BROWSER_CAPABILITIES}        Create Dictionary
+${GLOBAL_SELENIUM_DELAY}          0
+${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}        5
+${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}        15
+${VID_ENV}            /vid
+${VID_ENDPOINT}    http://localhost:8080
+${VID_LOGIN_URL}                ${VID_ENDPOINT}${VID_ENV}/login.htm
+${VID_HEALTHCHECK_PATH}    ${VID_ENV}/api/v2/users
+${VID_HOME_URL}                ${VID_ENDPOINT}${VID_ENV}/welcome.htm
+${GLOBAL_VID_USERNAME}        demo
+${GLOBAL_VID_PASSWORD}        Kp8bJ4SXszM0WX
+
+
+*** Test Cases ***
+Login To VID GUI
+    [Documentation]   Logs in to VID GUI
+    # Setup Browser Now being managed by test case
+    Setup Browser
+    Go To    ${VID_LOGIN_URL}
+    #Maximize Browser Window
+    Set Selenium Speed    ${GLOBAL_SELENIUM_DELAY}
+    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
+    Log    Logging in to ${VID_ENDPOINT}${VID_ENV}
+    #Handle Proxy Warning
+    Title Should Be    Login
+    Input Text    xpath=//input[@id='loginId']    ${GLOBAL_VID_USERNAME}
+    Input Password    xpath=//input[@id='password']    ${GLOBAL_VID_PASSWORD}
+    Click Button    xpath=//input[@id='loginBtn']
+    Wait Until Page Contains  Welcome to VID    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
+    Log    Logged in to ${VID_ENDPOINT}${VID_ENV}
+
+	
+*** 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/ete/labs/windriver/Integration-Jenkins-openrc.sh b/test/ete/labs/windriver/Integration-Jenkins-openrc.sh
index 0b18012..ef2aa9a 100644
--- a/test/ete/labs/windriver/Integration-Jenkins-openrc.sh
+++ b/test/ete/labs/windriver/Integration-Jenkins-openrc.sh
@@ -28,18 +28,10 @@
 # performing the action as the **user**.
 export OS_USERNAME="gary_wu"
 
-# Remote Openstack clients will need to set this environment if
-# connecting to an HTTPS enabled endpoint
-CERT_MSG="Please enter a path for your CA certificate pem file, \
-or press enter if you are not using HTTPS "
-read -p "$CERT_MSG" OS_CACERT_INPUT
-if [ ! -z "$OS_CACERT_INPUT" ]
-then
-    export OS_CACERT=$(readlink -f $OS_CACERT_INPUT)
-fi
-
 # With Keystone you pass the keystone password.
-read -sp "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " OS_PASSWORD_INPUT
+if [ -z ${OS_PASSWORD_INPUT+x} ]; then
+    read -sp "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " OS_PASSWORD_INPUT
+fi
 export OS_PASSWORD=$OS_PASSWORD_INPUT
 
 # If your configuration has multiple regions, we set that information here.
diff --git a/test/ete/labs/windriver/Integration-Stable-openrc.sh b/test/ete/labs/windriver/Integration-Stable-openrc.sh
deleted file mode 100644
index 1d68adc..0000000
--- a/test/ete/labs/windriver/Integration-Stable-openrc.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-# To use an OpenStack cloud you need to authenticate against the Identity
-# service named keystone, which returns a **Token** and **Service Catalog**.
-# The catalog contains the endpoints for all services the user/tenant has
-# access to - such as Compute, Image Service, Identity, Object Storage, Block
-# Storage, and Networking (code-named nova, glance, keystone, swift,
-# cinder, and neutron).
-#
-# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other
-# OpenStack API is version 3. For example, your cloud provider may implement
-# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is
-# only for the Identity API served through keystone.
-export OS_AUTH_URL=http://10.12.25.2:5000/v3
-
-# With the addition of Keystone we have standardized on the term **project**
-# as the entity that owns the resources.
-export OS_PROJECT_ID=3583253e932845a09cd4c8ca2f31d095
-export OS_PROJECT_NAME="Integration-Stable"
-export OS_USER_DOMAIN_NAME="Default"
-if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi
-
-# unset v2.0 items in case set
-unset OS_TENANT_ID
-unset OS_TENANT_NAME
-
-# In addition to the owning entity (tenant), OpenStack stores the entity
-# performing the action as the **user**.
-export OS_USERNAME="gary_wu"
-
-# Remote Openstack clients will need to set this environment if
-# connecting to an HTTPS enabled endpoint
-CERT_MSG="Please enter a path for your CA certificate pem file, \
-or press enter if you are not using HTTPS "
-read -p "$CERT_MSG" OS_CACERT_INPUT
-if [ ! -z "$OS_CACERT_INPUT" ]
-then
-    export OS_CACERT=$(readlink -f $OS_CACERT_INPUT)
-fi
-
-# With Keystone you pass the keystone password.
-read -sp "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " OS_PASSWORD_INPUT
-export OS_PASSWORD=$OS_PASSWORD_INPUT
-
-# If your configuration has multiple regions, we set that information here.
-# OS_REGION_NAME is optional and only valid in certain environments.
-export OS_REGION_NAME="RegionOne"
-# Don't leave a blank variable, unset it if it was empty
-if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
-
-export OS_INTERFACE=public
-export OS_IDENTITY_API_VERSION=3
diff --git a/test/ete/labs/windriver/onap.env b/test/ete/labs/windriver/onap-openstack.env
similarity index 69%
rename from test/ete/labs/windriver/onap.env
rename to test/ete/labs/windriver/onap-openstack.env
index 5eb5d36..b0380a1 100644
--- a/test/ete/labs/windriver/onap.env
+++ b/test/ete/labs/windriver/onap-openstack.env
@@ -12,8 +12,6 @@
 
   ubuntu_1604_image: ubuntu-16-04-cloud-amd64
 
-  centos_7_image: CentOS-7
-
   flavor_small: m1.small
 
   flavor_medium: m1.medium
@@ -24,18 +22,12 @@
 
   flavor_xxlarge: m1.xxlarge
 
-  security_group: default
-
   vm_base_name: onap
 
   key_name: onap_key
 
-  dcae_key_name: dcae_key
-
   pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh
 
-  dcae_pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC94pcIva90rzXumORjMCf16qjVrn5+ykfW6uMcn+DPlifU+ihtqx4Up26v1gVZyCuY8BFmbhm4YGxnRykNfi71kYbWOasUFzY86dtptCuLVMRLsMYWwOA3sHQ5IcUYNbWmChh4LyOIfhy4p2atCmB1UUkQf7Icg8LokCIcdI3IohlNko50t9KOIhBvqC7Bnegnl6zpoYdtYQppdgp5xesdhYRrdIGmT86cH2QbImpcR3tMTty7SLsw5WdTSfUFwfm76s07ivUDfCRMCJoWcxQeh6my7P7BkfDYMVIYRyfWmoIf2iv3UrqahHTcCiL79SRiD0iCt0K2SEgGsVyCX2jf
-
   nexus_repo: https://nexus.onap.org/content/sites/raw
 
   nexus_docker_repo: nexus3.onap.org:10001
@@ -98,11 +90,11 @@
   clamp_ip_addr: 10.0.12.1
   openo_ip_addr: 10.0.14.1
 
-  dcae_coll_float_ip: 10.12.0.32
-  dcae_db_float_ip: 10.12.0.24
-  dcae_hdp1_float_ip: 10.12.0.30
-  dcae_hdp2_float_ip: 10.12.0.33
-  dcae_hdp3_float_ip: 10.12.0.15
+#  dcae_coll_float_ip: PUT DCAE COLLECTOR FLOATING IP HERE
+#  dcae_db_float_ip: PUT DCAE DATABASE FLOATING IP HERE
+#  dcae_hdp1_float_ip: PUT DCAE HADOOP VM1 FLOATING IP HERE
+#  dcae_hdp2_float_ip: PUT DCAE HADOOP VM2 FLOATING IP HERE
+#  dcae_hdp3_float_ip: PUT DCAE HADOOP VM3 FLOATING IP HERE
 
   ###########################
   #                         #
@@ -110,19 +102,35 @@
   #                         #
   ###########################
 
-  dcae_base_environment: 1-NIC-FLOATING-IPS
+#  dcae_base_environment: 1-NIC-FLOATING-IPS
 
   dcae_zone: ZONE
 
-  dcae_state: STATE
+#  dcae_state: STATE
 
-  nexus_repo_root: https://nexus.onap.org
+#  nexus_repo_root: https://nexus.onap.org
 
-  nexus_url_snapshot: https://nexus.onap.org/content/repositories/snapshots
+#  nexus_url_snapshot: https://nexus.onap.org/content/repositories/snapshots
 
-  gitlab_branch: master
+#  gitlab_branch: master
 
-  dcae_code_version: 1.1.0
+#  dcae_code_version: 1.1.0
+
+  dcaeos_cloud_env: PUT DACE TARGET DEPLOYMENT STACK'S FLAVOR (e.g. OpenStack) HERE
+  dcaeos_keystone_url: PUT DACE TARGET DEPLOYMENT STACK'S KEYSTONE URL HERE
+  dcaeos_openstack_region: PUT DACE TARGET DEPLOYMENT STACK'S REGION HERE
+  dcaeos_openstack_tenant_id: PUT DACE TARGET DEPLOYMENT STACK'S TENANT ID HERE
+  dcaeos_openstack_username: PUT DACE TARGET DEPLOYMENT STACK'S USERNAME HERE
+  dcaeos_openstack_password: PUT DACE TARGET DEPLOYMENT STACK'S PASSWORD HERE
+  dcaeos_dcae_key_name: PUT DACE TARGET DEPLOYMENT STACK'S UPLOADED KEY-PAIR NAME HERE
+  dcaeos_dcae_pub_key: PUT DACE TARGET DEPLOYMENT STACK'S PUBLIC KEY HERE
+  dcaeos_private_key: PUT DACE TARGET DEPLOYMENT STACK'S PRIVATE KEY HERE
+  dcaeos_openstack_private_network_name: PUT DACE TARGET DEPLOYMENT STACK'S INTERNAL NETWOKR ID HERE
+  dcaeos_public_net_id: PUT DACE TARGET DEPLOYMENT STACK'S PUBLIC NETWORK ID HERE
+  dcaeos_ubuntu_1604_image: PUT DACE TARGET DEPLOYMENT STACK'S UBUNTU1604 IMAGE ID (TO BE USED BY DCAE VMS) HERE
+  dcaeos_centos_7_image: PUT DACE TARGET DEPLOYMENT STACK'S CENTOS7 IMAGE ID (TO BE USED BY DCAE VMS) HERE
+  dcaeos_security_group: PUT DACE TARGET DEPLOYMENT STACK'S SECURITY GROUP ID (TO BE USED BY DCAE VMS) HERE
+  dcaeos_flavor_id: PUT DACE TARGET DEPLOYMENT STACK'S VM FLAVOR ID (TO BE USED BY DCAE VMS) HERE
 
 
   ################################
diff --git a/test/ete/scripts/deploy-onap.sh b/test/ete/scripts/deploy-onap.sh
index 3c69e15..0294393 100755
--- a/test/ete/scripts/deploy-onap.sh
+++ b/test/ete/scripts/deploy-onap.sh
@@ -1,53 +1,17 @@
 #!/bin/bash
 
-if [ -z "$OS_AUTH_URL" ] || [ -z "$OS_USERNAME" ]
-then
-    echo "ERROR: OpenStack environment variables not set.  Please source your OpenStack RC script first."
-    exit 1
-fi
-
-
 if [ -z "$WORKSPACE" ]; then
     export WORKSPACE=`git rev-parse --show-toplevel`
 fi
 
+source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
 
-
-# Assume that if ROBOT_VENV is set, we don't need to reinstall robot
-if [ -f ${WORKSPACE}/env.properties ]; then
-    source ${WORKSPACE}/env.properties
-fi
-
-if [ ! -z "$ONAP_VENV" ] && [ -f "$ONAP_VENV/bin/activate" ]; then
-    source ${ONAP_VENV}/bin/activate
-else
-    ONAP_VENV=$(mktemp -d --suffix=_onap_venv)
-    virtualenv ${ONAP_VENV}
-    source ${ONAP_VENV}/bin/activate
-    
-    pip install --upgrade pip
-    pip install --upgrade python-openstackclient python-heatclient
-    
-    echo "ONAP_VENV=${ONAP_VENV}" >> $WORKSPACE/env.properties
-fi
-echo "ONAP_VENV=${ONAP_VENV}"
-
-if [ -z "$ONAP_WORKDIR" ]; then
-    ONAP_WORKDIR=$(mktemp -d --suffix=_onap_workdir)
-    echo "ONAP_WORKDIR=${ONAP_WORKDIR}" >> $WORKSPACE/env.properties
-fi
-echo "ONAP_WORKDIR=${ONAP_WORKDIR}"
-if [ ! -d ${ONAP_WORKDIR}/demo ]; then
-    git clone http://gerrit.onap.org/r/demo ${ONAP_WORKDIR}/demo
-else
-    pushd ${ONAP_WORKDIR}/demo
-    git pull
-    popd
-fi
-
-
+# Delete all existing stacks
+STACKS=$(openstack stack list -c "Stack Name" -f value)
+echo "Deleting Stacks ${STACKS}"
+openstack stack delete -y $STACKS
 
 STACK="ete-$(uuidgen | cut -c-8)"
-echo "Stack Name: ${STACK}"
-openstack stack create -t ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml -e ${WORKSPACE}/test/ete/labs/windriver/onap.env $STACK
+echo "New Stack Name: ${STACK}"
+openstack stack create -t ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml -e ${WORKSPACE}/test/ete/labs/windriver/onap-openstack.env $STACK
 
diff --git a/test/ete/scripts/get-floating-ip.sh b/test/ete/scripts/get-floating-ip.sh
old mode 100644
new mode 100755
diff --git a/test/ete/scripts/install_openstack_cli.sh b/test/ete/scripts/install_openstack_cli.sh
new file mode 100755
index 0000000..ec5ad1f
--- /dev/null
+++ b/test/ete/scripts/install_openstack_cli.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+if [ -z "$OS_AUTH_URL" ] || [ -z "$OS_USERNAME" ]
+then
+    echo "ERROR: OpenStack environment variables not set.  Please source your OpenStack RC script first."
+    exit 1
+fi
+
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+
+
+# Assume that if ROBOT_VENV is set, we don't need to reinstall robot
+if [ -f ${WORKSPACE}/env.properties ]; then
+    source ${WORKSPACE}/env.properties
+fi
+
+if [ ! -z "$ONAP_VENV" ] && [ -f "$ONAP_VENV/bin/activate" ]; then
+    source ${ONAP_VENV}/bin/activate
+else
+    ONAP_VENV=$(mktemp -d --suffix=_onap_venv)
+    virtualenv ${ONAP_VENV}
+    source ${ONAP_VENV}/bin/activate
+    
+    pip install --upgrade pip
+    pip install --upgrade python-openstackclient python-heatclient
+    
+    echo "ONAP_VENV=${ONAP_VENV}" >> $WORKSPACE/env.properties
+fi
+echo "ONAP_VENV=${ONAP_VENV}"
+
+if [ -z "$ONAP_WORKDIR" ]; then
+    ONAP_WORKDIR=$(mktemp -d --suffix=_onap_workdir)
+    echo "ONAP_WORKDIR=${ONAP_WORKDIR}" >> $WORKSPACE/env.properties
+fi
+echo "ONAP_WORKDIR=${ONAP_WORKDIR}"
+if [ ! -d ${ONAP_WORKDIR}/demo ]; then
+    git clone http://gerrit.onap.org/r/demo ${ONAP_WORKDIR}/demo
+else
+    pushd ${ONAP_WORKDIR}/demo
+    git pull
+    popd
+fi
+
diff --git a/test/ete/scripts/remote/run-robot.sh b/test/ete/scripts/remote/run-robot.sh
new file mode 100755
index 0000000..ff7223a
--- /dev/null
+++ b/test/ete/scripts/remote/run-robot.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+cd /opt
+
+if [ ! -x /opt/demo.sh ]; then
+    echo "Robot VM not initialized"
+    exit 2
+fi
+
+if [ ! -d eteshare/logs/demo ]; then
+    echo "09d8566ea45e43aa974cf447ed591d77" > /opt/config/openstack_tenant_id.txt
+    echo "gary_wu" > /opt/config/openstack_username.txt
+    echo $OS_PASSWORD_INPUT > /opt/config/openstack_password.txt
+    /bin/bash /opt/eteshare/config/vm_config2robot.sh
+    echo "test" | /opt/demo.sh init_robot
+fi
+
+/opt/ete.sh health
diff --git a/test/ete/scripts/run-healthcheck.sh b/test/ete/scripts/run-healthcheck.sh
new file mode 100755
index 0000000..45142b0
--- /dev/null
+++ b/test/ete/scripts/run-healthcheck.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+SSH_KEY=~/.ssh/onap_key
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
+
+cd $WORKSPACE/test/ete/scripts
+
+ROBOT_IP=$(./get-floating-ip.sh onap-robot)
+echo "ROBOT_IP=${ROBOT_IP}"
+
+ssh -o StrictHostKeychecking=no -i ${SSH_KEY} root@${ROBOT_IP} "OS_PASSWORD_INPUT=$OS_PASSWORD_INPUT bash -s" < ./remote/run-robot.sh
+LOG_DIR=$(ssh -o StrictHostKeychecking=no -i ${SSH_KEY} root@${ROBOT_IP} "ls -1t /opt/eteshare/logs | head -1")
+rsync -e "ssh -i ${SSH_KEY}" -avPz root@${ROBOT_IP}:/opt/eteshare/logs/${LOG_DIR}/ $WORKSPACE/archives/