summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/armband/armband-ci-jobs.yml57
-rwxr-xr-xjjb/armband/armband-deploy.sh2
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml22
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml2
-rw-r--r--jjb/opnfv/opnfv-utils.yml1
-rw-r--r--jjb/opnfv/slave-params.yml6
-rw-r--r--utils/test/dashboard/README.rst (renamed from utils/test/result_collection_api/update/templates/__init__.py)0
-rw-r--r--utils/test/dashboard/dashboard/conf/config.py8
-rw-r--r--utils/test/dashboard/dashboard/conf/testcases.py2
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/dashboard_assembler.py2
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/main.py16
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/utility.py2
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/visualization_assembler.py2
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana_main.py4
-rw-r--r--utils/test/dashboard/dashboard/functest/format.py (renamed from utils/test/dashboard/dashboard/mongo2elastic/format.py)18
-rw-r--r--utils/test/dashboard/dashboard/mongo2elastic/main.py22
-rw-r--r--utils/test/dashboard/dashboard/mongo2elastic_main.py4
-rw-r--r--utils/test/dashboard/dashboard/qtip/format.py19
-rw-r--r--utils/test/dashboard/etc/config.ini1
-rwxr-xr-xutils/test/dashboard/install.sh54
-rw-r--r--utils/test/dashboard/setup.cfg43
-rw-r--r--utils/test/dashboard/setup.py8
-rwxr-xr-xutils/test/reporting/functest/reporting-status.py81
-rw-r--r--utils/test/reporting/functest/reportingUtils.py8
-rw-r--r--utils/test/testapi/3rd_party/static/.gitignore (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/.gitignore)0
-rw-r--r--utils/test/testapi/3rd_party/static/css/highlight.default.css (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/highlight.default.css)0
-rw-r--r--utils/test/testapi/3rd_party/static/css/hightlight.default.css (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/hightlight.default.css)0
-rw-r--r--utils/test/testapi/3rd_party/static/css/screen.css (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/screen.css)0
-rw-r--r--utils/test/testapi/3rd_party/static/endpoint.html (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/endpoint.html)0
-rw-r--r--utils/test/testapi/3rd_party/static/images/explorer_icons.png (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/explorer_icons.png)bin5763 -> 5763 bytes
-rw-r--r--utils/test/testapi/3rd_party/static/images/logo_small.png (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/logo_small.png)bin770 -> 770 bytes
-rw-r--r--utils/test/testapi/3rd_party/static/images/pet_store_api.png (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/pet_store_api.png)bin824 -> 824 bytes
-rw-r--r--utils/test/testapi/3rd_party/static/images/throbber.gif (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/throbber.gif)bin9257 -> 9257 bytes
-rw-r--r--utils/test/testapi/3rd_party/static/images/wordnik_api.png (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/wordnik_api.png)bin980 -> 980 bytes
-rw-r--r--utils/test/testapi/3rd_party/static/index.html (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/index.html)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/backbone-min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/backbone-min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/handlebars-1.0.0.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/handlebars-1.0.0.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/highlight.7.3.pack.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/highlight.7.3.pack.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/jquery-1.8.0.min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery-1.8.0.min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/jquery.ba-bbq.min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.ba-bbq.min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/jquery.slideto.min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.slideto.min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/jquery.wiggle.min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.wiggle.min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/shred.bundle.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred.bundle.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/shred/content.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred/content.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/swagger-oauth.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger-oauth.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/swagger.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/lib/underscore-min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/underscore-min.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/o2c.html (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/o2c.html)0
-rw-r--r--utils/test/testapi/3rd_party/static/swagger-ui.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.js)0
-rw-r--r--utils/test/testapi/3rd_party/static/swagger-ui.min.js (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.min.js)0
-rw-r--r--utils/test/testapi/README.rst (renamed from utils/test/result_collection_api/README.rst)2
-rw-r--r--utils/test/testapi/docker/Dockerfile (renamed from utils/test/result_collection_api/docker/Dockerfile)2
-rwxr-xr-xutils/test/testapi/docker/prepare-env.sh (renamed from utils/test/result_collection_api/docker/prepare-env.sh)0
-rwxr-xr-xutils/test/testapi/docker/start-server.sh (renamed from utils/test/result_collection_api/docker/start-server.sh)0
-rw-r--r--utils/test/testapi/etc/config.ini (renamed from utils/test/result_collection_api/etc/config.ini)0
-rwxr-xr-xutils/test/testapi/install.sh20
-rw-r--r--utils/test/testapi/opnfv_testapi/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/cmd/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/cmd/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/cmd/server.py (renamed from utils/test/result_collection_api/opnfv_testapi/cmd/server.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/common/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/common/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/common/config.py (renamed from utils/test/result_collection_api/opnfv_testapi/common/config.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/common/constants.py (renamed from utils/test/result_collection_api/opnfv_testapi/common/constants.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/models.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/models.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/pod_handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/pod_handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/pod_models.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/pod_models.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/project_handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/project_handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/project_models.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/project_models.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/result_handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/result_handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/result_models.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/result_models.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/testcase_handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/resources/testcase_models.py (renamed from utils/test/result_collection_api/opnfv_testapi/resources/testcase_models.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/router/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/router/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/router/url_mappings.py (renamed from utils/test/result_collection_api/opnfv_testapi/router/url_mappings.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_base.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_base.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_fake_pymongo.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_fake_pymongo.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_pod.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_pod.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_project.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_project.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_result.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_result.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_testcase.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_testcase.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tests/unit/test_version.py (renamed from utils/test/result_collection_api/opnfv_testapi/tests/unit/test_version.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/README.md (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/README.md)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/__init__.py (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/__init__.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/handlers.py (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/handlers.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/settings.py (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/settings.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/swagger.py)0
-rw-r--r--utils/test/testapi/opnfv_testapi/tornado_swagger/views.py (renamed from utils/test/result_collection_api/opnfv_testapi/tornado_swagger/views.py)0
-rw-r--r--utils/test/testapi/requirements.txt (renamed from utils/test/result_collection_api/requirements.txt)0
-rwxr-xr-xutils/test/testapi/run_test.sh (renamed from utils/test/result_collection_api/run_test.sh)0
-rw-r--r--utils/test/testapi/setup.cfg (renamed from utils/test/result_collection_api/setup.cfg)0
-rw-r--r--utils/test/testapi/setup.py (renamed from utils/test/result_collection_api/setup.py)0
-rw-r--r--utils/test/testapi/test-requirements.txt (renamed from utils/test/result_collection_api/test-requirements.txt)0
-rw-r--r--utils/test/testapi/update/README.md (renamed from utils/test/result_collection_api/update/README.md)0
-rw-r--r--utils/test/testapi/update/__init__.py (renamed from utils/test/result_collection_api/update/__init__.py)0
-rwxr-xr-xutils/test/testapi/update/playbook-update.sh (renamed from utils/test/result_collection_api/update/playbook-update.sh)0
-rw-r--r--utils/test/testapi/update/templates/__init__.py0
-rw-r--r--utils/test/testapi/update/templates/backup_mongodb.py (renamed from utils/test/result_collection_api/update/templates/backup_mongodb.py)0
-rw-r--r--utils/test/testapi/update/templates/changes_in_mongodb.py (renamed from utils/test/result_collection_api/update/templates/changes_in_mongodb.py)0
-rw-r--r--utils/test/testapi/update/templates/restore_mongodb.py (renamed from utils/test/result_collection_api/update/templates/restore_mongodb.py)0
-rwxr-xr-xutils/test/testapi/update/templates/rm_images.sh (renamed from utils/test/result_collection_api/update/templates/rm_images.sh)0
-rw-r--r--utils/test/testapi/update/templates/rm_olds.sh (renamed from utils/test/result_collection_api/update/templates/rm_olds.sh)0
-rw-r--r--utils/test/testapi/update/templates/update_mongodb.py (renamed from utils/test/result_collection_api/update/templates/update_mongodb.py)0
-rw-r--r--utils/test/testapi/update/templates/utils.py (renamed from utils/test/result_collection_api/update/templates/utils.py)0
-rw-r--r--utils/test/testapi/update/test.yml (renamed from utils/test/result_collection_api/update/test.yml)0
-rw-r--r--utils/test/testapi/update/update.yml (renamed from utils/test/result_collection_api/update/update.yml)0
-rw-r--r--utils/test/testapi/update/update_api.py (renamed from utils/test/result_collection_api/update/update_api.py)0
110 files changed, 302 insertions, 106 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index 024681841..d4fa5da94 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -70,10 +70,14 @@
auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- 'os-odl_l2-bgpvpn-ha':
auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-sfc-ha':
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
# NOHA scenarios
- 'os-odl_l2-nofeature-noha':
auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-sfc-noha':
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
jobs:
- '{installer}-{scenario}-{pod}-daily-{stream}'
@@ -228,7 +232,7 @@
- trigger:
name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 1,6'
+ - timed: '0 0 * * 1'
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
@@ -236,7 +240,7 @@
- trigger:
name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 0 * * 3,7'
+ - timed: '0 0 * * 3'
- trigger:
name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger'
triggers:
@@ -245,6 +249,15 @@
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger'
triggers:
- timed: '0 0 * * 5'
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger'
+ triggers:
+ - timed: '0 0 * * 6'
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-master-trigger'
+ triggers:
+ - timed: '0 0 * * 7'
+
#----------------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against colorado branch
#----------------------------------------------------------------------
@@ -268,6 +281,14 @@
name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger'
triggers:
- timed: '0 16 * * 3,5'
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-colorado-trigger'
+ triggers:
+ - timed: ''
#---------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
#---------------------------------------------------------------
@@ -291,6 +312,14 @@
name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger'
+ triggers:
+ - timed: ''
#--------------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against colorado branch
#--------------------------------------------------------------------
@@ -314,6 +343,14 @@
name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-colorado-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-colorado-trigger'
+ triggers:
+ - timed: ''
#----------------------------------------------------------
# Enea Armband POD 2 Triggers running against master branch
#----------------------------------------------------------
@@ -337,6 +374,14 @@
name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-master-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-master-trigger'
+ triggers:
+ - timed: ''
#---------------------------------------------------------------
# Enea Armband POD 2 Triggers running against colorado branch
#---------------------------------------------------------------
@@ -360,3 +405,11 @@
name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-colorado-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-colorado-trigger'
+ triggers:
+ - timed: ''
diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh
index 41ec0f23c..c8e58afa8 100755
--- a/jjb/armband/armband-deploy.sh
+++ b/jjb/armband/armband-deploy.sh
@@ -49,7 +49,7 @@ mkdir -p $TMPDIR
cd $WORKSPACE
if [[ $LAB_CONFIG_URL =~ ^(git|ssh):// ]]; then
- echo "cloning $LAB_CONFIG_URL"
+ echo "Cloning securedlab repo ${GIT_BRANCH##origin/}"
git clone --quiet --branch ${GIT_BRANCH##origin/} $LAB_CONFIG_URL lab-config
LAB_CONFIG_URL=file://${WORKSPACE}/lab-config
diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml
index bede7de46..4d799af8e 100644
--- a/jjb/compass4nfv/compass-project-jobs.yml
+++ b/jjb/compass4nfv/compass-project-jobs.yml
@@ -16,19 +16,28 @@
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
+ distro:
+ - 'trusty':
+ disabled: false
+ os-version: 'trusty'
+ openstack-os-version: ''
+ - 'centos7':
+ disabled: false
+ os-version: 'centos7'
+ openstack-os-version: ''
jobs:
- - 'compass-verify-{stream}'
+ - 'compass-verify-{distro}-{stream}'
- 'compass-build-iso-{stream}'
- 'compass-build-ppa-{stream}'
- - 'compass-verify-deploy-{stream}'
+ - 'compass-verify-deploy-{distro}-{stream}'
########################
# job templates
########################
- job-template:
- name: 'compass-verify-{stream}'
+ name: 'compass-verify-{distro}-{stream}'
disabled: false
@@ -92,8 +101,11 @@
builders:
- trigger-builds:
- - project: 'compass-verify-deploy-{stream}'
+ - project: 'compass-verify-deploy-{distro}-{stream}'
current-parameters: true
+ predefined-parameters: |
+ COMPASS_OS_VERSION={os-version}
+ COMPASS_OS_VERSION_OPTION={openstack-os-version}
same-node: true
block: true
- trigger-builds:
@@ -109,7 +121,7 @@
unstable-threshold: 'FAILURE'
- job-template:
- name: 'compass-verify-deploy-{stream}'
+ name: 'compass-verify-deploy-{distro}-{stream}'
concurrent: true
diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml
index a2a57d468..d15bf7426 100644
--- a/jjb/infra/bifrost-verify-jobs.yml
+++ b/jjb/infra/bifrost-verify-jobs.yml
@@ -131,6 +131,8 @@
exclude-no-code-change: 'false'
- comment-added-contains-event:
comment-contains-value: 'recheck'
+ custom-url: '* $JOB_NAME $BUILD_URL'
+ silent-start: true
projects:
- project-compare-type: 'PLAIN'
project-pattern: 'openstack/bifrost'
diff --git a/jjb/opnfv/opnfv-utils.yml b/jjb/opnfv/opnfv-utils.yml
index 94a99d451..717bb3cbc 100644
--- a/jjb/opnfv/opnfv-utils.yml
+++ b/jjb/opnfv/opnfv-utils.yml
@@ -19,7 +19,6 @@
name: SLAVE_NAME
description: Slaves to prune docker images
default-slaves:
- - arm-build1
- arm-build2
- ericsson-build4
- ericsson-build5
diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml
index 4ffaff4ae..7eca41a6d 100644
--- a/jjb/opnfv/slave-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -162,7 +162,7 @@
description: 'Git URL to use on this Jenkins Slave'
- string:
name: LAB_CONFIG_URL
- default: ssh://git@git.enea.com/pharos/lab-config
+ default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
description: 'Base URI to the configuration directory'
- parameter:
name: 'joid-baremetal-defaults'
@@ -227,7 +227,7 @@
description: 'Git URL to use on this Jenkins Slave'
- string:
name: LAB_CONFIG_URL
- default: ssh://git@git.enea.com/pharos/lab-config
+ default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
description: 'Base URI to the configuration directory'
- parameter:
name: 'joid-virtual-defaults'
@@ -608,7 +608,7 @@
description: 'Git URL to use on this Jenkins Slave'
- string:
name: LAB_CONFIG_URL
- default: ssh://git@git.enea.com/pharos/lab-config
+ default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
description: 'Base URI to the configuration directory'
- parameter:
name: 'intel-virtual6-defaults'
diff --git a/utils/test/result_collection_api/update/templates/__init__.py b/utils/test/dashboard/README.rst
index e69de29bb..e69de29bb 100644
--- a/utils/test/result_collection_api/update/templates/__init__.py
+++ b/utils/test/dashboard/README.rst
diff --git a/utils/test/dashboard/dashboard/conf/config.py b/utils/test/dashboard/dashboard/conf/config.py
index 48fed8894..6114e90a9 100644
--- a/utils/test/dashboard/dashboard/conf/config.py
+++ b/utils/test/dashboard/dashboard/conf/config.py
@@ -1,5 +1,6 @@
#! /usr/bin/env python
+import urlparse
from ConfigParser import SafeConfigParser, NoOptionError
@@ -22,11 +23,12 @@ class APIConfig:
"""
def __init__(self):
- self._default_config_location = "../etc/config.ini"
+ self._default_config_location = "/etc/dashboard/config.ini"
self.es_url = 'http://localhost:9200'
self.es_creds = None
self.kibana_url = None
self.js_path = None
+ self.index_url = None
def _get_str_parameter(self, section, param):
try:
@@ -67,6 +69,8 @@ class APIConfig:
obj.es_creds = obj._get_str_parameter("elastic", "creds")
obj.kibana_url = obj._get_str_parameter("kibana", "url")
obj.js_path = obj._get_str_parameter("kibana", "js_path")
+ index = obj._get_str_parameter("elastic", "index")
+ obj.index_url = urlparse.urljoin(obj.es_url, index)
return obj
@@ -74,7 +78,9 @@ class APIConfig:
return "elastic_url = %s \n" \
"elastic_creds = %s \n" \
"kibana_url = %s \n" \
+ "index_url = %s \n" \
"js_path = %s \n" % (self.es_url,
self.es_creds,
self.kibana_url,
+ self.index_url,
self.js_path)
diff --git a/utils/test/dashboard/dashboard/conf/testcases.py b/utils/test/dashboard/dashboard/conf/testcases.py
index e120987dd..ff801b4c9 100644
--- a/utils/test/dashboard/dashboard/conf/testcases.py
+++ b/utils/test/dashboard/dashboard/conf/testcases.py
@@ -1,7 +1,7 @@
import yaml
-with open('./functest/testcases.yaml') as f:
+with open('/etc/dashboard/testcases.yaml') as f:
testcases_yaml = yaml.safe_load(f)
f.close()
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/dashboard_assembler.py b/utils/test/dashboard/dashboard/elastic2kibana/dashboard_assembler.py
index da7ccfc24..651168bbb 100644
--- a/utils/test/dashboard/dashboard/elastic2kibana/dashboard_assembler.py
+++ b/utils/test/dashboard/dashboard/elastic2kibana/dashboard_assembler.py
@@ -1,7 +1,7 @@
import json
import utility
-from common import elastic_access
+from dashboard.common import elastic_access
class DashboardAssembler(object):
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/main.py b/utils/test/dashboard/dashboard/elastic2kibana/main.py
index 4542c31ec..112d2226e 100644
--- a/utils/test/dashboard/dashboard/elastic2kibana/main.py
+++ b/utils/test/dashboard/dashboard/elastic2kibana/main.py
@@ -1,13 +1,12 @@
#! /usr/bin/env python
import json
-import urlparse
import argparse
-from common import elastic_access
-from common import logger_utils
-from conf import config
-from conf import testcases
+from dashboard.common import elastic_access
+from dashboard.common import logger_utils
+from dashboard.conf import config
+from dashboard.conf import testcases
from dashboard_assembler import DashboardAssembler
from visualization_assembler import VisualizationAssembler
@@ -131,10 +130,9 @@ class KibanaConstructor(object):
}
})
- elastic_data = elastic_access.get_docs(
- urlparse.urljoin(CONF.es_url, '/testapi/results'),
- CONF.es_creds,
- query)
+ elastic_data = elastic_access.get_docs(CONF.index_url,
+ CONF.es_creds,
+ query)
pods_and_scenarios = {}
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/utility.py b/utils/test/dashboard/dashboard/elastic2kibana/utility.py
index dccd28aed..55578bd8c 100644
--- a/utils/test/dashboard/dashboard/elastic2kibana/utility.py
+++ b/utils/test/dashboard/dashboard/elastic2kibana/utility.py
@@ -2,7 +2,7 @@ import json
from jinja2 import Environment, PackageLoader
-env = Environment(loader=PackageLoader('elastic2kibana', 'templates'))
+env = Environment(loader=PackageLoader('dashboard', 'elastic2kibana/templates'))
env.filters['jsonify'] = json.dumps
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/visualization_assembler.py b/utils/test/dashboard/dashboard/elastic2kibana/visualization_assembler.py
index 1cb0ba8d1..d7e6e543a 100644
--- a/utils/test/dashboard/dashboard/elastic2kibana/visualization_assembler.py
+++ b/utils/test/dashboard/dashboard/elastic2kibana/visualization_assembler.py
@@ -1,7 +1,7 @@
import json
import utility
-from common import elastic_access
+from dashboard.common import elastic_access
class VisStateBuilder(object):
diff --git a/utils/test/dashboard/dashboard/elastic2kibana_main.py b/utils/test/dashboard/dashboard/elastic2kibana_main.py
deleted file mode 100644
index 3ec27cb40..000000000
--- a/utils/test/dashboard/dashboard/elastic2kibana_main.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from elastic2kibana.main import main
-
-if __name__ == '__main__':
- main()
diff --git a/utils/test/dashboard/dashboard/mongo2elastic/format.py b/utils/test/dashboard/dashboard/functest/format.py
index 0bbde1746..ef485bae0 100644
--- a/utils/test/dashboard/dashboard/mongo2elastic/format.py
+++ b/utils/test/dashboard/dashboard/functest/format.py
@@ -184,21 +184,3 @@ def format_vims(testcase):
}
}
return True
-
-
-def format_qpi(testcase):
- """
- Look for these and leave any of those:
- details.index
-
- If none are present, then return False
- """
- details = testcase['details']
- if 'index' not in details:
- return False
-
- for key, value in details.items():
- if key != 'index':
- del details[key]
-
- return True
diff --git a/utils/test/dashboard/dashboard/mongo2elastic/main.py b/utils/test/dashboard/dashboard/mongo2elastic/main.py
index 8c7300b79..688f55f7d 100644
--- a/utils/test/dashboard/dashboard/mongo2elastic/main.py
+++ b/utils/test/dashboard/dashboard/mongo2elastic/main.py
@@ -5,15 +5,15 @@ import json
import os
import subprocess
import traceback
-import urlparse
import uuid
import argparse
-from common import logger_utils, elastic_access
-from conf import testcases
-from conf.config import APIConfig
-from mongo2elastic import format
+from dashboard.common import elastic_access
+from dashboard.common import logger_utils
+from dashboard.conf import testcases
+from dashboard.conf.config import APIConfig
+from dashboard.mongo2elastic import format
logger = logger_utils.DashboardLogger('mongo2elastic').get
@@ -187,7 +187,7 @@ class DocumentsPublisher(object):
self._remove()
exit(-1)
- def get_existed_docs(self):
+ def get_exists(self):
if self.days == 0:
body = '''{{
"query": {{
@@ -241,10 +241,6 @@ class DocumentsPublisher(object):
def main():
- base_elastic_url = urlparse.urljoin(CONF.es_url, '/testapi/results')
- days = args.latest_days
- es_creds = CONF.es_creds
-
for project, case_dicts in testcases.testcases_yaml.items():
for case_dict in case_dicts:
case = case_dict.get('name')
@@ -252,6 +248,6 @@ def main():
DocumentsPublisher(project,
case,
fmt,
- days,
- base_elastic_url,
- es_creds).export().get_existed_docs().publish()
+ args.latest_days,
+ CONF.index_url,
+ CONF.es_creds).export().get_exists().publish()
diff --git a/utils/test/dashboard/dashboard/mongo2elastic_main.py b/utils/test/dashboard/dashboard/mongo2elastic_main.py
deleted file mode 100644
index 141d8f3ab..000000000
--- a/utils/test/dashboard/dashboard/mongo2elastic_main.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from mongo2elastic.main import main
-
-if __name__ == '__main__':
- main()
diff --git a/utils/test/dashboard/dashboard/qtip/format.py b/utils/test/dashboard/dashboard/qtip/format.py
new file mode 100644
index 000000000..b78fa5b9b
--- /dev/null
+++ b/utils/test/dashboard/dashboard/qtip/format.py
@@ -0,0 +1,19 @@
+#! /usr/bin/env python
+
+
+def format_qpi(testcase):
+ """
+ Look for these and leave any of those:
+ details.index
+
+ If none are present, then return False
+ """
+ details = testcase['details']
+ if 'index' not in details:
+ return False
+
+ for key, value in details.items():
+ if key != 'index':
+ del details[key]
+
+ return True
diff --git a/utils/test/dashboard/etc/config.ini b/utils/test/dashboard/etc/config.ini
index d9327981e..77adc1687 100644
--- a/utils/test/dashboard/etc/config.ini
+++ b/utils/test/dashboard/etc/config.ini
@@ -2,6 +2,7 @@
# the CONF object in config.ini must be updated
[elastic]
url = http://localhost:9200
+index = testapi/results
creds =
[kibana]
diff --git a/utils/test/dashboard/install.sh b/utils/test/dashboard/install.sh
new file mode 100755
index 000000000..9fd60d916
--- /dev/null
+++ b/utils/test/dashboard/install.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+usage="
+Script to install dashboard automatically.
+This script should be run under root.
+
+usage:
+ bash $(basename "$0") [-h|--help] [-t <test_name>]
+
+where:
+ -h|--help show this help text
+ -p|--project project dashboard
+ <project_name>"
+
+# Parse parameters
+while [[ $# > 0 ]]
+ do
+ key="$1"
+ case $key in
+ -h|--help)
+ echo "$usage"
+ exit 0
+ shift
+ ;;
+ -p|--project)
+ PROJECT="$2"
+ shift
+ ;;
+ *)
+ echo "unknown option $1 $2"
+ exit 1
+ ;;
+ esac
+ shift # past argument or value
+done
+
+if [[ $(whoami) != "root" ]]; then
+ echo "Error: This script must be run as root!"
+ exit 1
+fi
+
+if [ -z ${PROJECT+x} ]; then
+ echo "project must be specified"
+ exit 1
+fi
+
+if [ $PROJECT != "functest" ] && [ $PROJECT != "qtip" ];then
+ echo "unsupported project $PROJECT"
+ exit 1
+fi
+
+cp -f dashboard/$PROJECT/format.py dashboard/mongo2elastic
+cp -f dashboard/$PROJECT/testcases.yaml etc/
+python setup.py install
diff --git a/utils/test/dashboard/setup.cfg b/utils/test/dashboard/setup.cfg
new file mode 100644
index 000000000..dd0135861
--- /dev/null
+++ b/utils/test/dashboard/setup.cfg
@@ -0,0 +1,43 @@
+[metadata]
+name = dashboard
+summary = Test Result Collector
+description-file =
+ README.rst
+author = SerenaFeng
+author-email = feng.xiaowei@zte.com.cn
+#home-page = http://www.opnfv.org/
+classifier =
+ Environment :: opnfv
+ Intended Audience :: Information Technology
+ Intended Audience :: System Administrators
+ License :: OSI Approved :: Apache Software License
+ Operating System :: POSIX :: Linux
+ Programming Language :: Python
+ Programming Language :: Python :: 2
+ Programming Language :: Python :: 2.7
+
+[global]
+setup-hooks =
+ pbr.hooks.setup_hook
+
+[files]
+packages =
+ dashboard
+package_data =
+ dashboard =
+ elastic2kibana/templates/*.*
+data_files =
+ /etc/dashboard =
+ etc/config.ini
+ etc/testcases.yaml
+
+[entry_points]
+console_scripts =
+ dashboard_mongo2elastic = dashboard.mongo2elastic.main:main
+ dashboard_elastic2kibana = dashboard.elastic2kibana.main:main
+
+[egg_info]
+tag_build =
+tag_date = 0
+tag_svn_revision = 0
+
diff --git a/utils/test/dashboard/setup.py b/utils/test/dashboard/setup.py
new file mode 100644
index 000000000..59637a509
--- /dev/null
+++ b/utils/test/dashboard/setup.py
@@ -0,0 +1,8 @@
+import setuptools
+
+__author__ = 'serena'
+
+
+setuptools.setup(
+ setup_requires=['pbr>=1.8'],
+ pbr=True)
diff --git a/utils/test/reporting/functest/reporting-status.py b/utils/test/reporting/functest/reporting-status.py
index b527b7861..653448eaf 100755
--- a/utils/test/reporting/functest/reporting-status.py
+++ b/utils/test/reporting/functest/reporting-status.py
@@ -82,6 +82,10 @@ for version in conf.versions:
items = {}
scenario_result_criteria = {}
+ scenario_file_name = (conf.REPORTING_PATH +
+ "/functest/release/" + version +
+ "/scenario_history.txt")
+
# For all the scenarios get results
for s, s_result in scenario_results.items():
logger.info("---------------------------------")
@@ -185,11 +189,8 @@ for version in conf.versions:
scenario_criteria = conf.MAX_SCENARIO_CRITERIA
s_score = str(scenario_score) + "/" + str(scenario_criteria)
- s_score_percent = 0.0
- try:
- s_score_percent = float(scenario_score) / float(scenario_criteria) * 100
- except:
- logger.error("cannot calculate the score percent")
+ s_score_percent = utils.getScenarioPercent(scenario_score,
+ scenario_criteria)
s_status = "KO"
if scenario_score < scenario_criteria:
@@ -209,10 +210,7 @@ for version in conf.versions:
f.write(info)
# Save daily results in a file
- path_validation_file = (conf.REPORTING_PATH +
- "/functest/release/" + version +
- "/scenario_history.txt")
- with open(path_validation_file, "a") as f:
+ with open(scenario_file_name, "a") as f:
info = (reportingDate + "," + s + "," + installer +
"," + s_score + "," +
str(round(s_score_percent)) + "\n")
@@ -239,34 +237,39 @@ for version in conf.versions:
version=version,
date=reportingDate)
- with open(conf.REPORTING_PATH + "/functest/release/" + version +
- "/index-status-" + installer + ".html", "wb") as fh:
- fh.write(outputText)
+ # csv
+ # generate sub files based on scenario_history.txt
+ scenario_installer_file_name = (conf.REPORTING_PATH +
+ "/functest/release/" + version +
+ "/scenario_history_" + installer +
+ ".txt")
+ scenario_installer_file = open(scenario_installer_file_name, "a")
+ logger.info("Generate CSV...")
+ with open(scenario_file_name, "r") as f:
+ for line in f:
+ if installer in line:
+ logger.debug("Add new line... %s" % line)
+ scenario_installer_file.write(line)
+ scenario_installer_file.close
+
+ with open(conf.REPORTING_PATH + "/functest/release/" + version +
+ "/index-status-" + installer + ".html", "wb") as fh:
+ fh.write(outputText)
+ logger.info("CSV generated...")
- # Generate outputs for export
- # pdf
- try:
- pdf_path = ("http://testresults.opnfv.org/reporting/" +
- "functest/release/" + version +
- "/index-status-" + installer + ".html")
- pdf_doc_name = (conf.REPORTING_PATH +
- "/functest/release/" + version +
- "/status-" + installer + ".pdf")
- pdfkit.from_url(pdf_path, pdf_doc_name)
- except IOError:
- logger.info("pdf generated anyway...")
- except:
- logger.error("impossible to generate PDF")
- # csv
- # generate sub files based on scenario_history.txt
- scenario_installer_file_name = (conf.REPORTING_PATH +
- "/functest/release/" + version +
- "/scenario_history_" +
- installer + ".txt")
- scenario_installer_file = open(scenario_installer_file_name, "w")
-
- with open(path_validation_file, "r") as f:
- for line in f:
- if installer in line:
- scenario_installer_file.write(line)
- scenario_installer_file.close
+ # Generate outputs for export
+ # pdf
+ logger.info("Generate PDF...")
+ try:
+ pdf_path = ("http://testresults.opnfv.org/reporting/" +
+ "functest/release/" + version +
+ "/index-status-" + installer + ".html")
+ pdf_doc_name = (conf.REPORTING_PATH +
+ "/functest/release/" + version +
+ "/status-" + installer + ".pdf")
+ pdfkit.from_url(pdf_path, pdf_doc_name)
+ logger.info("PDF generated...")
+ except IOError:
+ logger.info("pdf generated anyway...")
+ except:
+ logger.error("impossible to generate PDF")
diff --git a/utils/test/reporting/functest/reportingUtils.py b/utils/test/reporting/functest/reportingUtils.py
index 9ba02e821..74d6f19c9 100644
--- a/utils/test/reporting/functest/reportingUtils.py
+++ b/utils/test/reporting/functest/reportingUtils.py
@@ -176,3 +176,11 @@ def getJenkinsUrl(build_tag):
print 'Impossible to get jenkins url:'
return jenkins_url
+
+def getScenarioPercent(scenario_score,scenario_criteria):
+ score = 0.0
+ try:
+ score = float(scenario_score) / float(scenario_criteria) * 100
+ except:
+ print 'Impossible to calculate the percentage score'
+ return score
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/.gitignore b/utils/test/testapi/3rd_party/static/.gitignore
index ebf4281dc..ebf4281dc 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/.gitignore
+++ b/utils/test/testapi/3rd_party/static/.gitignore
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/highlight.default.css b/utils/test/testapi/3rd_party/static/css/highlight.default.css
index e417fc179..e417fc179 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/highlight.default.css
+++ b/utils/test/testapi/3rd_party/static/css/highlight.default.css
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/hightlight.default.css b/utils/test/testapi/3rd_party/static/css/hightlight.default.css
index e417fc179..e417fc179 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/hightlight.default.css
+++ b/utils/test/testapi/3rd_party/static/css/hightlight.default.css
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/screen.css b/utils/test/testapi/3rd_party/static/css/screen.css
index 2882b8d66..2882b8d66 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/css/screen.css
+++ b/utils/test/testapi/3rd_party/static/css/screen.css
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/endpoint.html b/utils/test/testapi/3rd_party/static/endpoint.html
index 4ae3bde0c..4ae3bde0c 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/endpoint.html
+++ b/utils/test/testapi/3rd_party/static/endpoint.html
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/explorer_icons.png b/utils/test/testapi/3rd_party/static/images/explorer_icons.png
index ed9d2fffb..ed9d2fffb 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/explorer_icons.png
+++ b/utils/test/testapi/3rd_party/static/images/explorer_icons.png
Binary files differ
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/logo_small.png b/utils/test/testapi/3rd_party/static/images/logo_small.png
index 5496a6557..5496a6557 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/logo_small.png
+++ b/utils/test/testapi/3rd_party/static/images/logo_small.png
Binary files differ
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/pet_store_api.png b/utils/test/testapi/3rd_party/static/images/pet_store_api.png
index f9f9cd4ae..f9f9cd4ae 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/pet_store_api.png
+++ b/utils/test/testapi/3rd_party/static/images/pet_store_api.png
Binary files differ
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/throbber.gif b/utils/test/testapi/3rd_party/static/images/throbber.gif
index 063938892..063938892 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/throbber.gif
+++ b/utils/test/testapi/3rd_party/static/images/throbber.gif
Binary files differ
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/wordnik_api.png b/utils/test/testapi/3rd_party/static/images/wordnik_api.png
index dca4f1455..dca4f1455 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/images/wordnik_api.png
+++ b/utils/test/testapi/3rd_party/static/images/wordnik_api.png
Binary files differ
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/index.html b/utils/test/testapi/3rd_party/static/index.html
index db209f4a8..db209f4a8 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/index.html
+++ b/utils/test/testapi/3rd_party/static/index.html
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/backbone-min.js b/utils/test/testapi/3rd_party/static/lib/backbone-min.js
index c1c0d4fff..c1c0d4fff 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/backbone-min.js
+++ b/utils/test/testapi/3rd_party/static/lib/backbone-min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/handlebars-1.0.0.js b/utils/test/testapi/3rd_party/static/lib/handlebars-1.0.0.js
index c70f09d1d..c70f09d1d 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/handlebars-1.0.0.js
+++ b/utils/test/testapi/3rd_party/static/lib/handlebars-1.0.0.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/highlight.7.3.pack.js b/utils/test/testapi/3rd_party/static/lib/highlight.7.3.pack.js
index 9a95a75ea..9a95a75ea 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/highlight.7.3.pack.js
+++ b/utils/test/testapi/3rd_party/static/lib/highlight.7.3.pack.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery-1.8.0.min.js b/utils/test/testapi/3rd_party/static/lib/jquery-1.8.0.min.js
index 066d72c7e..066d72c7e 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery-1.8.0.min.js
+++ b/utils/test/testapi/3rd_party/static/lib/jquery-1.8.0.min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.ba-bbq.min.js b/utils/test/testapi/3rd_party/static/lib/jquery.ba-bbq.min.js
index bcbf24834..bcbf24834 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.ba-bbq.min.js
+++ b/utils/test/testapi/3rd_party/static/lib/jquery.ba-bbq.min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.slideto.min.js b/utils/test/testapi/3rd_party/static/lib/jquery.slideto.min.js
index ba32cff36..ba32cff36 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.slideto.min.js
+++ b/utils/test/testapi/3rd_party/static/lib/jquery.slideto.min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.wiggle.min.js b/utils/test/testapi/3rd_party/static/lib/jquery.wiggle.min.js
index 2adb0d6d5..2adb0d6d5 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/jquery.wiggle.min.js
+++ b/utils/test/testapi/3rd_party/static/lib/jquery.wiggle.min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred.bundle.js b/utils/test/testapi/3rd_party/static/lib/shred.bundle.js
index 74d081689..74d081689 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred.bundle.js
+++ b/utils/test/testapi/3rd_party/static/lib/shred.bundle.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred/content.js b/utils/test/testapi/3rd_party/static/lib/shred/content.js
index b8051fedd..b8051fedd 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/shred/content.js
+++ b/utils/test/testapi/3rd_party/static/lib/shred/content.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger-oauth.js b/utils/test/testapi/3rd_party/static/lib/swagger-oauth.js
index 7c8839a95..7c8839a95 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger-oauth.js
+++ b/utils/test/testapi/3rd_party/static/lib/swagger-oauth.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger.js b/utils/test/testapi/3rd_party/static/lib/swagger.js
index 78e8b2949..78e8b2949 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/swagger.js
+++ b/utils/test/testapi/3rd_party/static/lib/swagger.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/underscore-min.js b/utils/test/testapi/3rd_party/static/lib/underscore-min.js
index 5a0cb3b00..5a0cb3b00 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/lib/underscore-min.js
+++ b/utils/test/testapi/3rd_party/static/lib/underscore-min.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/o2c.html b/utils/test/testapi/3rd_party/static/o2c.html
index d32d130ec..d32d130ec 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/o2c.html
+++ b/utils/test/testapi/3rd_party/static/o2c.html
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.js b/utils/test/testapi/3rd_party/static/swagger-ui.js
index 4c9922642..4c9922642 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.js
+++ b/utils/test/testapi/3rd_party/static/swagger-ui.js
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.min.js b/utils/test/testapi/3rd_party/static/swagger-ui.min.js
index 28cb9e6a4..28cb9e6a4 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/static/swagger-ui.min.js
+++ b/utils/test/testapi/3rd_party/static/swagger-ui.min.js
diff --git a/utils/test/result_collection_api/README.rst b/utils/test/testapi/README.rst
index c0075bc76..44ab2a475 100644
--- a/utils/test/result_collection_api/README.rst
+++ b/utils/test/testapi/README.rst
@@ -25,7 +25,7 @@ How to install
From within your environment, just run:
- python setup.py install
+ ./install.sh
How to run
^^^^^^^^^^
diff --git a/utils/test/result_collection_api/docker/Dockerfile b/utils/test/testapi/docker/Dockerfile
index ffee4c231..b0272e609 100644
--- a/utils/test/result_collection_api/docker/Dockerfile
+++ b/utils/test/testapi/docker/Dockerfile
@@ -46,7 +46,7 @@ RUN pip install --upgrade pip
RUN git config --global http.sslVerify false
RUN git clone https://gerrit.opnfv.org/gerrit/releng /home/releng
-WORKDIR /home/releng/utils/test/result_collection_api/
+WORKDIR /home/releng/utils/test/testapi/
RUN pip install -r requirements.txt
RUN python setup.py install
CMD ["bash", "docker/start-server.sh"]
diff --git a/utils/test/result_collection_api/docker/prepare-env.sh b/utils/test/testapi/docker/prepare-env.sh
index 99433cc8c..99433cc8c 100755
--- a/utils/test/result_collection_api/docker/prepare-env.sh
+++ b/utils/test/testapi/docker/prepare-env.sh
diff --git a/utils/test/result_collection_api/docker/start-server.sh b/utils/test/testapi/docker/start-server.sh
index 8bf6084ae..8bf6084ae 100755
--- a/utils/test/result_collection_api/docker/start-server.sh
+++ b/utils/test/testapi/docker/start-server.sh
diff --git a/utils/test/result_collection_api/etc/config.ini b/utils/test/testapi/etc/config.ini
index 0edb73a3f..0edb73a3f 100644
--- a/utils/test/result_collection_api/etc/config.ini
+++ b/utils/test/testapi/etc/config.ini
diff --git a/utils/test/testapi/install.sh b/utils/test/testapi/install.sh
new file mode 100755
index 000000000..43229eabb
--- /dev/null
+++ b/utils/test/testapi/install.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+usage="
+Script to install opnfv_tesgtapi automatically.
+This script should be run under root.
+
+usage:
+ bash $(basename "$0") [-h|--help] [-t <test_name>]
+
+where:
+ -h|--help show this help text"
+
+if [[ $(whoami) != "root" ]]; then
+ echo "Error: This script must be run as root!"
+ exit 1
+fi
+
+cp -fr 3rd_party/static opnfv_testapi/tornado_swagger
+python setup.py install
+rm -fr opnfv_testapi/tornado_swagger/static
diff --git a/utils/test/result_collection_api/opnfv_testapi/__init__.py b/utils/test/testapi/opnfv_testapi/__init__.py
index 363bc388e..363bc388e 100644
--- a/utils/test/result_collection_api/opnfv_testapi/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/cmd/__init__.py b/utils/test/testapi/opnfv_testapi/cmd/__init__.py
index 363bc388e..363bc388e 100644
--- a/utils/test/result_collection_api/opnfv_testapi/cmd/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/cmd/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/cmd/server.py b/utils/test/testapi/opnfv_testapi/cmd/server.py
index c3d734607..c3d734607 100644
--- a/utils/test/result_collection_api/opnfv_testapi/cmd/server.py
+++ b/utils/test/testapi/opnfv_testapi/cmd/server.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/common/__init__.py b/utils/test/testapi/opnfv_testapi/common/__init__.py
index 05c0c9392..05c0c9392 100644
--- a/utils/test/result_collection_api/opnfv_testapi/common/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/common/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/common/config.py b/utils/test/testapi/opnfv_testapi/common/config.py
index ecab88ae3..ecab88ae3 100644
--- a/utils/test/result_collection_api/opnfv_testapi/common/config.py
+++ b/utils/test/testapi/opnfv_testapi/common/config.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/common/constants.py b/utils/test/testapi/opnfv_testapi/common/constants.py
index 4d39a142d..4d39a142d 100644
--- a/utils/test/result_collection_api/opnfv_testapi/common/constants.py
+++ b/utils/test/testapi/opnfv_testapi/common/constants.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/__init__.py b/utils/test/testapi/opnfv_testapi/resources/__init__.py
index 05c0c9392..05c0c9392 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/resources/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/handlers.py b/utils/test/testapi/opnfv_testapi/resources/handlers.py
index 5059f5d77..5059f5d77 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/handlers.py
+++ b/utils/test/testapi/opnfv_testapi/resources/handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/models.py b/utils/test/testapi/opnfv_testapi/resources/models.py
index e79308b53..e79308b53 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/models.py
+++ b/utils/test/testapi/opnfv_testapi/resources/models.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/pod_handlers.py b/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py
index 8f44439e7..8f44439e7 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/pod_handlers.py
+++ b/utils/test/testapi/opnfv_testapi/resources/pod_handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/pod_models.py b/utils/test/testapi/opnfv_testapi/resources/pod_models.py
index 7231806f6..7231806f6 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/pod_models.py
+++ b/utils/test/testapi/opnfv_testapi/resources/pod_models.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/project_handlers.py b/utils/test/testapi/opnfv_testapi/resources/project_handlers.py
index 1e9a97230..1e9a97230 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/project_handlers.py
+++ b/utils/test/testapi/opnfv_testapi/resources/project_handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/project_models.py b/utils/test/testapi/opnfv_testapi/resources/project_models.py
index f70630cda..f70630cda 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/project_models.py
+++ b/utils/test/testapi/opnfv_testapi/resources/project_models.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/result_handlers.py b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py
index 400b84ac1..400b84ac1 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/result_handlers.py
+++ b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/result_models.py b/utils/test/testapi/opnfv_testapi/resources/result_models.py
index f73f5c612..f73f5c612 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/result_models.py
+++ b/utils/test/testapi/opnfv_testapi/resources/result_models.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/testcase_handlers.py b/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py
index 253aa6649..253aa6649 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/testcase_handlers.py
+++ b/utils/test/testapi/opnfv_testapi/resources/testcase_handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/resources/testcase_models.py b/utils/test/testapi/opnfv_testapi/resources/testcase_models.py
index c9dce6088..c9dce6088 100644
--- a/utils/test/result_collection_api/opnfv_testapi/resources/testcase_models.py
+++ b/utils/test/testapi/opnfv_testapi/resources/testcase_models.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/router/__init__.py b/utils/test/testapi/opnfv_testapi/router/__init__.py
index 3fc79f1d5..3fc79f1d5 100644
--- a/utils/test/result_collection_api/opnfv_testapi/router/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/router/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/router/url_mappings.py b/utils/test/testapi/opnfv_testapi/router/url_mappings.py
index eb648ecbb..eb648ecbb 100644
--- a/utils/test/result_collection_api/opnfv_testapi/router/url_mappings.py
+++ b/utils/test/testapi/opnfv_testapi/router/url_mappings.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/__init__.py b/utils/test/testapi/opnfv_testapi/tests/__init__.py
index 9f28b0bfa..9f28b0bfa 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/tests/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/__init__.py b/utils/test/testapi/opnfv_testapi/tests/unit/__init__.py
index 3fc79f1d5..3fc79f1d5 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py b/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py
index 3dd87e603..3dd87e603 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/fake_pymongo.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_base.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py
index ff1a1932c..ff1a1932c 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_base.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_fake_pymongo.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_fake_pymongo.py
index 5f50ba867..5f50ba867 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_fake_pymongo.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_fake_pymongo.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_pod.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_pod.py
index a1184d554..a1184d554 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_pod.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_pod.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_project.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_project.py
index 327ddf7b2..327ddf7b2 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_project.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_project.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_result.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_result.py
index 8479b35cd..8479b35cd 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_result.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_result.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_testcase.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_testcase.py
index cb767844a..cb767844a 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_testcase.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_testcase.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_version.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_version.py
index b6fbf45dc..b6fbf45dc 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tests/unit/test_version.py
+++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_version.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/README.md b/utils/test/testapi/opnfv_testapi/tornado_swagger/README.md
index d815f2161..d815f2161 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/README.md
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/README.md
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/__init__.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/__init__.py
index 363bc388e..363bc388e 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/__init__.py
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/__init__.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/handlers.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/handlers.py
index 2154b4697..2154b4697 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/handlers.py
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/handlers.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/settings.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/settings.py
index 88d0d0f88..88d0d0f88 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/settings.py
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/settings.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/swagger.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py
index 3d21edefb..3d21edefb 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/swagger.py
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py
diff --git a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/views.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/views.py
index 25083195b..25083195b 100644
--- a/utils/test/result_collection_api/opnfv_testapi/tornado_swagger/views.py
+++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/views.py
diff --git a/utils/test/result_collection_api/requirements.txt b/utils/test/testapi/requirements.txt
index e1fd9e4cc..e1fd9e4cc 100644
--- a/utils/test/result_collection_api/requirements.txt
+++ b/utils/test/testapi/requirements.txt
diff --git a/utils/test/result_collection_api/run_test.sh b/utils/test/testapi/run_test.sh
index 9b25f8ffc..9b25f8ffc 100755
--- a/utils/test/result_collection_api/run_test.sh
+++ b/utils/test/testapi/run_test.sh
diff --git a/utils/test/result_collection_api/setup.cfg b/utils/test/testapi/setup.cfg
index 927957ac7..927957ac7 100644
--- a/utils/test/result_collection_api/setup.cfg
+++ b/utils/test/testapi/setup.cfg
diff --git a/utils/test/result_collection_api/setup.py b/utils/test/testapi/setup.py
index 15dda961f..15dda961f 100644
--- a/utils/test/result_collection_api/setup.py
+++ b/utils/test/testapi/setup.py
diff --git a/utils/test/result_collection_api/test-requirements.txt b/utils/test/testapi/test-requirements.txt
index ddbdefcfd..ddbdefcfd 100644
--- a/utils/test/result_collection_api/test-requirements.txt
+++ b/utils/test/testapi/test-requirements.txt
diff --git a/utils/test/result_collection_api/update/README.md b/utils/test/testapi/update/README.md
index cb0e67b33..cb0e67b33 100644
--- a/utils/test/result_collection_api/update/README.md
+++ b/utils/test/testapi/update/README.md
diff --git a/utils/test/result_collection_api/update/__init__.py b/utils/test/testapi/update/__init__.py
index 363bc388e..363bc388e 100644
--- a/utils/test/result_collection_api/update/__init__.py
+++ b/utils/test/testapi/update/__init__.py
diff --git a/utils/test/result_collection_api/update/playbook-update.sh b/utils/test/testapi/update/playbook-update.sh
index 86d30e4b2..86d30e4b2 100755
--- a/utils/test/result_collection_api/update/playbook-update.sh
+++ b/utils/test/testapi/update/playbook-update.sh
diff --git a/utils/test/testapi/update/templates/__init__.py b/utils/test/testapi/update/templates/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/utils/test/testapi/update/templates/__init__.py
diff --git a/utils/test/result_collection_api/update/templates/backup_mongodb.py b/utils/test/testapi/update/templates/backup_mongodb.py
index 7e0dd5545..7e0dd5545 100644
--- a/utils/test/result_collection_api/update/templates/backup_mongodb.py
+++ b/utils/test/testapi/update/templates/backup_mongodb.py
diff --git a/utils/test/result_collection_api/update/templates/changes_in_mongodb.py b/utils/test/testapi/update/templates/changes_in_mongodb.py
index 1a4d5a16f..1a4d5a16f 100644
--- a/utils/test/result_collection_api/update/templates/changes_in_mongodb.py
+++ b/utils/test/testapi/update/templates/changes_in_mongodb.py
diff --git a/utils/test/result_collection_api/update/templates/restore_mongodb.py b/utils/test/testapi/update/templates/restore_mongodb.py
index c45a0e621..c45a0e621 100644
--- a/utils/test/result_collection_api/update/templates/restore_mongodb.py
+++ b/utils/test/testapi/update/templates/restore_mongodb.py
diff --git a/utils/test/result_collection_api/update/templates/rm_images.sh b/utils/test/testapi/update/templates/rm_images.sh
index 6722573b4..6722573b4 100755
--- a/utils/test/result_collection_api/update/templates/rm_images.sh
+++ b/utils/test/testapi/update/templates/rm_images.sh
diff --git a/utils/test/result_collection_api/update/templates/rm_olds.sh b/utils/test/testapi/update/templates/rm_olds.sh
index c6bca1867..c6bca1867 100644
--- a/utils/test/result_collection_api/update/templates/rm_olds.sh
+++ b/utils/test/testapi/update/templates/rm_olds.sh
diff --git a/utils/test/result_collection_api/update/templates/update_mongodb.py b/utils/test/testapi/update/templates/update_mongodb.py
index ba4334aa3..ba4334aa3 100644
--- a/utils/test/result_collection_api/update/templates/update_mongodb.py
+++ b/utils/test/testapi/update/templates/update_mongodb.py
diff --git a/utils/test/result_collection_api/update/templates/utils.py b/utils/test/testapi/update/templates/utils.py
index a18ff0389..a18ff0389 100644
--- a/utils/test/result_collection_api/update/templates/utils.py
+++ b/utils/test/testapi/update/templates/utils.py
diff --git a/utils/test/result_collection_api/update/test.yml b/utils/test/testapi/update/test.yml
index a8868720d..a8868720d 100644
--- a/utils/test/result_collection_api/update/test.yml
+++ b/utils/test/testapi/update/test.yml
diff --git a/utils/test/result_collection_api/update/update.yml b/utils/test/testapi/update/update.yml
index e6663d905..e6663d905 100644
--- a/utils/test/result_collection_api/update/update.yml
+++ b/utils/test/testapi/update/update.yml
diff --git a/utils/test/result_collection_api/update/update_api.py b/utils/test/testapi/update/update_api.py
index db8ad2d90..db8ad2d90 100644
--- a/utils/test/result_collection_api/update/update_api.py
+++ b/utils/test/testapi/update/update_api.py