summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2018-07-06 05:16:40 -0400
committerxudan <xudan16@huawei.com>2018-07-06 05:21:42 -0400
commitb3e40f026d655501bfa581452c447784604ecb05 (patch)
tree406f8bfc1abc1b33f98153d03abd34ef7b0e2fe9 /docker
parentb1b0ea32d1a296c7d055c5391261dcad6be48c63 (diff)
Move all web portal code to the new repo dovetail-webportal
This is only the first step to simply copy the file here. There still need some more work to make sure all work well. All the changes will be submitted with other patches to make it easily to review. JIRA: DOVETAIL-671 Change-Id: I64d32a9df562184166b6199e2719f298687d1a0a Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'docker')
-rw-r--r--docker/.gitignore2
-rw-r--r--docker/Dockerfile72
-rw-r--r--docker/Dockerfile.web42
-rw-r--r--docker/README.rst29
-rw-r--r--docker/config.env.sample3
-rw-r--r--docker/db/cases.json36
-rw-r--r--docker/db/get_db_schema.py61
-rw-r--r--docker/db/init_db.py90
-rw-r--r--docker/db/init_dovetail.py59
-rwxr-xr-xdocker/db/launch_db.sh124
-rw-r--r--docker/db/pods.json382
-rw-r--r--docker/db/projects.json218
-rwxr-xr-xdocker/db/restart_db.sh29
-rw-r--r--docker/docker-compose.yml58
-rw-r--r--docker/nginx/fastcgi.conf26
-rw-r--r--docker/nginx/fastcgi_params25
-rw-r--r--docker/nginx/koi-utf109
-rw-r--r--docker/nginx/koi-win103
-rw-r--r--docker/nginx/mime.types89
-rw-r--r--docker/nginx/nginx.conf97
-rw-r--r--docker/nginx/proxy_params4
-rw-r--r--docker/nginx/scgi_params17
-rw-r--r--docker/nginx/sites-available/default168
-rw-r--r--docker/nginx/sites-enabled/default200
-rw-r--r--docker/nginx/snippets/fastcgi-php.conf13
-rw-r--r--docker/nginx/snippets/snakeoil.conf5
-rw-r--r--docker/nginx/uwsgi_params17
-rw-r--r--docker/nginx/win-utf125
-rwxr-xr-xdocker/prepare-env.sh15
-rwxr-xr-xdocker/start-nginx.sh10
-rwxr-xr-xdocker/start-server.sh4
-rw-r--r--docker/supervisor/conf.d/nginx.conf11
-rw-r--r--docker/supervisor/supervisord.conf28
-rw-r--r--docker/vhost.env.sample1
34 files changed, 2272 insertions, 0 deletions
diff --git a/docker/.gitignore b/docker/.gitignore
new file mode 100644
index 0000000..af398fe
--- /dev/null
+++ b/docker/.gitignore
@@ -0,0 +1,2 @@
+config.env
+vhost.env
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..f71423f
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,72 @@
+#######################################################
+# Docker container for OPNFV-TESTAPI
+#######################################################
+# Purpose: run opnfv-testapi for gathering test results
+#
+# Maintained by SerenaFeng
+# Build:
+# $ docker build -t opnfv/testapi:tag .
+#
+# Execution:
+# $ docker run -dti -p 8001:8000 \
+# -e "base_url=http://10.63.243.17:8001" \
+# -e "mongodb_url=mongodb://10.63.243.17:27017/" \
+# opnfv/testapi:tag
+#
+# NOTE: providing swagger_url, mongodb_url is optional.
+# If not provided, it will use the default one
+# configured in config.ini
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+FROM ubuntu:14.04
+MAINTAINER SerenaFeng <feng.xiaowei@zte.com.cn>
+LABEL version="v1" description="OPNFV TestAPI Docker container"
+
+ARG BRANCH=master
+
+ENV HOME /home
+
+# Packaged dependencies
+RUN apt-get update && apt-get install -y \
+curl \
+git \
+gcc \
+wget \
+python-dev \
+python-pip \
+crudini \
+libffi-dev \
+libssl-dev \
+libxml2-dev \
+libxslt1-dev \
+--no-install-recommends
+
+RUN pip install -U setuptools
+
+WORKDIR /home
+
+#RUN pip install --upgrade pip
+
+RUN git config --global http.sslVerify false
+
+RUN git clone https://gerrit.opnfv.org/gerrit/dovetail.git
+
+WORKDIR /home/dovetail
+RUN git checkout -f $BRANCH
+
+RUN mkdir -p /home/testapi
+RUN mkdir -p /home/testapi/logs/api
+RUN cp -rf /home/dovetail/cvp/* /home/testapi
+
+WORKDIR /home/dovetail/cvp
+RUN pip install -r requirements.txt
+RUN bash install.sh
+
+RUN sed -i '152,152s/)/,\ verify=False)/g' /usr/local/lib/python2.7/dist-packages/cas.py
+
+CMD ["bash", "docker/start-server.sh"]
diff --git a/docker/Dockerfile.web b/docker/Dockerfile.web
new file mode 100644
index 0000000..9f992df
--- /dev/null
+++ b/docker/Dockerfile.web
@@ -0,0 +1,42 @@
+#######################################################
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+FROM ubuntu:16.04
+MAINTAINER Leo Wang <grakiss.wanglei@huawei.com>
+LABEL version="v1" description="CVP nginx"
+
+ARG BRANCH=master
+
+ENV HOME /home
+WORKDIR /home
+
+RUN apt-get update
+
+RUN apt-get install -y git nginx supervisor
+
+RUN git config --global http.sslVerify false
+RUN git clone https://gerrit.opnfv.org/gerrit/dovetail.git
+
+WORKDIR /home/dovetail
+RUN git checkout -f $BRANCH
+
+RUN mkdir -p /home/testapi
+
+RUN cp -rf /home/dovetail/cvp/* /home/testapi
+
+RUN mkdir /www
+RUN cp -r /home/testapi/3rd_party/static /www/
+
+
+ADD nginx/nginx.conf /etc/nginx/nginx.conf
+ADD nginx/sites-enabled/default /etc/nginx/sites-available/default
+ADD nginx/sites-enabled/default /etc/nginx/sites-enabled/default
+ADD supervisor/conf.d/nginx.conf /etc/supervisor/conf.d/nginx.conf
+ADD start-nginx.sh /home/start-nginx.sh
+
+WORKDIR /home
+CMD ["bash", "start-nginx.sh"]
diff --git a/docker/README.rst b/docker/README.rst
new file mode 100644
index 0000000..a58df33
--- /dev/null
+++ b/docker/README.rst
@@ -0,0 +1,29 @@
+Docker Deployment
+=================
+
+To deploy the OVP Dashboard perform the following steps:
+
+ #. Copy config.env.sample to config.env
+
+ cp config.env.sample config.env
+
+ #. Copy vhost.env.sample to vhost.env
+
+ cp vhost.env.sample vhost.env
+
+ #. Modify config.env and vhost.env to you liking
+
+ #. Bring the services up
+
+ docker-compose up -d
+
+ #. Navigate to the site listed in vhost.env in your browser of choice
+
+ google-chrome-stable http://ovp.localhost
+
+ .. note::
+
+ If you're using the default sitename 'ovp.localhost', you'll
+ need to add the following line to /etc/hosts:
+
+ 127.0.0.1 ovp.localhost
diff --git a/docker/config.env.sample b/docker/config.env.sample
new file mode 100644
index 0000000..96d3630
--- /dev/null
+++ b/docker/config.env.sample
@@ -0,0 +1,3 @@
+mongodb_url=mongodb://mongodb:27017/
+base_url=http://ovp.localhost
+testapi_url=testapi:8010
diff --git a/docker/db/cases.json b/docker/db/cases.json
new file mode 100644
index 0000000..118f740
--- /dev/null
+++ b/docker/db/cases.json
@@ -0,0 +1,36 @@
+{"testcases": [{"project_name": "functest", "run": {"class": "VPingSSH", "module": "functest.opnfv_tests.openstack.vping.vping_ssh"}, "description": "NFV \u201cHello World\u201d using SSH connection and floatting IP", "ci_loop": "daily", "tags": "ping", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "55e05dba514bc52914149f2e", "catalog_description": "vPing using SSH", "creation_date": "2015-08-28 13:10:18.478986", "domains": null, "dependencies": {"installer": "", "scenario": "^((?!bgpvpn|odl_l3).)*$"}, "version": ">arno.1.0", "criteria": null, "tier": "healthcheck", "trust": "silver", "blocking": true, "name": "vping_ssh"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "This test consists in running OpenStack Tempest fonctional suite.Initially based on the smoke suite, functest aims to define its own subset of tests", "ci_loop": "daily", "tags": "tempest,api,interfaces,openstack,vim", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "55effe6f514bc52b1791f966", "catalog_description": "OpenStack Tempest (smoke)", "creation_date": "2015-09-09 09:39:59.661046", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">arno.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "tempest_smoke_serial"}, {"project_name": "functest", "run": {"class": "ODLTests", "module": "functest.opnfv_tests.sdn.odl.odl"}, "description": "This test consists in creating, updating and deleting, networks, ports, subnets, routers in ODL and Neutron", "ci_loop": "daily", "tags": "odl,sdn", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "56169c4e514bc52b17f4adaa", "catalog_description": "OpenDaylight", "creation_date": "2015-10-08 16:39:42.727060", "domains": "networking", "dependencies": {"installer": "", "scenario": "odl"}, "version": ">arno.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "odl"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "Tests of OpenStack performed with Rally framework. These tests aim to qualify OpenStack modules and their associated APIs", "ci_loop": "daily", "tags": "rally,api,interfaces,openstack,vim", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "561e504c514bc5355ba8b3a8", "catalog_description": "OpenStack Rally (sanity)", "creation_date": "2015-10-14 12:53:32.126750", "domains": "vim", "dependencies": {"installer": "", "scenario": "^((?!bgpvpn).)*$"}, "version": ">arno.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "rally_sanity"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "Tests of the ONOS Virtual Network Northbound API", "ci_loop": "daily", "tags": "onos,sdn", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "565d6579514bc5087f2ddd0b", "catalog_description": "ONOS", "creation_date": "2015-12-01 09:16:41.343670", "domains": "networking", "dependencies": {"installer": "", "scenario": "onos"}, "version": ">brahmaputra.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "onos"}, {"project_name": "functest", "run": {"class": "VPingUserdata", "module": "functest.opnfv_tests.openstack.vping.vping_userdata"}, "description": "vPing using userdata and cloudinit mechanisms", "ci_loop": "daily", "tags": "ping", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "569f60cf514bc541f885b206", "catalog_description": "vPing using userdata", "creation_date": "2016-01-20 10:26:23.160020", "domains": "", "dependencies": {"installer": "", "scenario": "^((?!lxd).)*$"}, "version": ">brahmaputra.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "vping_userdata"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "Rally full extended suite", "ci_loop": "weekly", "tags": "openstack,vim", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "573c83ef9377c5287772dc81", "catalog_description": "OpenStack Rally (full)", "creation_date": "2016-05-18 15:02:07.153735", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">colorado.1.0", "criteria": {"step1": "success_rate >=90"}, "tier": "components", "trust": "silver", "blocking": false, "name": "rally_full"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "Tempest full using parallel option", "ci_loop": "weekly", "tags": "openstack,vim,tempest", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "573c840d9377c5287772dc82", "catalog_description": "OpenStack Tempest (full)", "creation_date": "2016-05-18 15:02:37.517083", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">colorado.1.0", "criteria": {"step1": "success_rate >=80"}, "tier": "components", "trust": "silver", "blocking": false, "name": "tempest_full_parallel"}, {"project_name": "functest", "run": {"class": "", "module": ""}, "description": "SFC tests for ONOS based scenarios", "ci_loop": "daily", "tags": "sfc,service", "url": "http://artifacts.opnfv.org/functest/colorado/docs/userguide/index.html", "_id": "578502b89377c54b278bbfe3", "catalog_description": "ONOS Service Function Chaining", "creation_date": "2016-07-12 14:46:16.149806", "domains": "networking", "dependencies": {"installer": "", "scenario": "onos-sfc"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": true, "name": "onos_sfc"}, {"project_name": "functest", "run": {"class": "ConnectionCheck", "module": "functest.opnfv_tests.openstack.snaps.connection_check"}, "description": "This test case verifies the retrieval of OpenStack clients: Keystone, Glance, Neutron and Nova and may perform some simple queries. When the config value of snaps. use_keystone is True, functest must have access to the cloud's private network.", "ci_loop": "daily", "tags": "snaps,openstack,vim", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "584a5d4c1d2c6e000ab2d7e4", "catalog_description": "Healthcheck OpenStack connectivity", "creation_date": "2016-12-09 07:29:16.270583", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">danube.1.0", "criteria": null, "tier": "healthcheck", "trust": "silver", "blocking": true, "name": "connection_check"}, {"project_name": "functest", "run": {"class": "ApiCheck", "module": "functest.opnfv_tests.openstack.snaps.api_check"}, "description": "This test case verifies the retrieval of OpenStack clients:Keystone, Glance, Neutron and Nova and may perform some simple queries. When the config value of snaps. use_keystone is True, functest must have access to the cloud's private network.", "ci_loop": "daily", "tags": "snaps,api,interfaces,openstack,vim", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "584a5e1d1d2c6e000ab2d7e5", "catalog_description": "Healthcheck OpenStack API", "creation_date": "2016-12-09 07:32:45.435360", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">danube.1.0", "criteria": null, "tier": "healthcheck", "trust": "silver", "blocking": true, "name": "api_check"}, {"project_name": "functest", "run": {"class": "SnapsSmoke", "module": "functest.opnfv_tests.openstack.snaps.smoke"}, "description": "This test case contains tests that setup and destroy environments with VMs with and without Floating IPs with a newly created user and project. Set the config value snaps.use_floating_ips (True|False) to toggle this functionality. When the config value of snaps. use_keystone is True, functest must have access to the cloud's private network.", "ci_loop": "daily", "tags": "snaps,openstack,vim", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "584a5e731d2c6e000ab2d7e6", "catalog_description": "SNAPS (smoke)", "creation_date": "2016-12-09 07:34:11.982435", "domains": "vim", "dependencies": {"installer": "", "scenario": ""}, "version": ">danube.1.0", "criteria": null, "tier": "smoke", "trust": "silver", "blocking": true, "name": "snaps_smoke"}, {"project_name": "functest", "run": "daily", "description": "This test case creates executes the SimpleHealthCheck Python test class which creates an, image, flavor, network, and Cirros VM instance and observes the console output to validate the single port obtains the correct IP address.", "ci_loop": "daily", "tags": "dhcp", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "589c8f248cf551000c78211e", "catalog_description": "Healthcheck OpenStack (network)", "creation_date": "2017-02-09 15:47:48.739222", "domains": "vim", "dependencies": "", "version": ">danube", "criteria": "", "tier": "healthcheck", "trust": null, "blocking": true, "name": "snaps_health_check"}, {"project_name": "functest", "run": {"class": "AaaVnf", "module": "functest.opnfv_tests.vnf.aaa.aaa"}, "description": "AAA VNF sample", "ci_loop": "weekly", "tags": "aaa, freeradius, vnf", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "58a324e6584d06000b0157f2", "catalog_description": "VNF AAA", "creation_date": "2017-02-14 15:40:22.150387", "domains": "vnf", "dependencies": "", "version": ">Danube", "criteria": "", "tier": "vnf", "trust": null, "blocking": false, "name": "aaa"}, {"project_name": "functest", "run": {"class": "ImsVnf", "module": "functest.opnfv_tests.vnf.ims.cloudify_ims"}, "description": "Clearwater vIMS deployed with cloudify orchestrator", "ci_loop": "weekly", "tags": "vnf, ims", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "58a325e8584d06000b0157f5", "catalog_description": "VNF clearwater IMS with Cloudify orchestrator", "creation_date": "2017-02-14 15:44:40.235672", "domains": "vnf", "dependencies": "", "version": ">Danube", "criteria": "", "tier": "vnf", "trust": null, "blocking": false, "name": "cloudify_ims"}, {"project_name": "functest", "run": {"class": "ImsVnf", "module": "functest.opnfv_tests.vnf.ims.orchestra_ims"}, "description": "openIMS deployed with openBaton orchestrator", "ci_loop": "weekly", "tags": "vnf, ims", "url": "http://artifacts.opnfv.org/functest/danube/docs/userguide/index.html", "_id": "58a3263b584d06000b0157f6", "catalog_description": "VNF openIMS with Openbaton orchestrator", "creation_date": "2017-02-14 15:46:03.398028", "domains": "vnf", "dependencies": "", "version": ">Danube", "criteria": "", "tier": "vnf", "trust": null, "blocking": false, "name": "orchestra_openims"}, {"project_name": "functest", "run": "", "description": "Defcore List of tempest testcases", "ci_loop": "daily", "tags": "", "url": "", "_id": "58b438daf5a101000ac478ea", "catalog_description": "OpenStack Tempest (defcore)", "creation_date": "2017-02-27 14:34:02.219544", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "components", "trust": null, "blocking": "false", "name": "tempest_defcore"}, {"project_name": "functest", "run": null, "description": "A sub group of tests of the OpenStack Defcore testcases by using refstack client", "ci_loop": "daily", "tags": null, "url": null, "_id": "58c91c64b91f23000a62ba0a", "catalog_description": "OpenStack RefStack", "creation_date": "2017-03-15 10:50:12.764115", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": "smoke", "trust": null, "blocking": "false", "name": "refstack_defcore"}, {"project_name": "functest", "run": {"class": "ImsVnf", "module": "functest.opnfv_tests.vnf.ims.opera_ims"}, "description": "Exemple of use of Open-O to deploy a VNF", "ci_loop": "weekly", "tags": "ims, open-o, onap, orchestration", "url": "", "_id": "58ca69abb91f23000a62baae", "catalog_description": "VNF clearwater IMS with Open-O orchestrator", "creation_date": "2017-03-16 10:32:11.203581", "domains": "orchestration, vnf", "dependencies": {"installer": "compass", "scenario": "os-nosdn-openo"}, "version": ">danube", "criteria": "", "tier": "vnf", "trust": null, "blocking": false, "name": "opera_ims"}, {"project_name": "functest", "run": {"class": "VrouterVnf", "module": "functest.opnfv_tests.vnf.router.vyos_vrouter"}, "description": "This test case is vRouter testing", "ci_loop": "", "tags": "vrouter, vnf", "url": "", "_id": "58ca6adeb91f23000a62baaf", "catalog_description": "VNF Vyatta vRouter with Cloudify orchestrator", "creation_date": "2017-03-16 10:37:18.293020", "domains": "network, vnf", "dependencies": {"installer": "fuel", "scenario": "nosdn-nofeature"}, "version": "", "criteria": "", "tier": "vnf", "trust": null, "blocking": "false", "name": "vyos_vrouter"}, {"project_name": "functest", "run": {"class": "ImsVnf", "module": "functest.opnfv_tests.vnf.ims.orchestra_ims"}, "description": "Clearwater vIMS deployed with Openbaton Mano orchestrator.", "ci_loop": "weekly", "tags": "vnf,ims", "url": "http://artifacts.opnfv.org/functest/euphrates/docs/userguide/index.html", "_id": "5922859a356833000a195187", "catalog_description": "VNF Clearwater IMS with OpenBaton orchestrator", "creation_date": "2017-05-22 06:30:50.512246", "domains": "mano,vnf", "dependencies": "", "version": ">euphrates", "criteria": 100, "tier": "vnf", "trust": null, "blocking": "false", "name": "orchestra_ims"}]}
+{"testcases": [{"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.PacketLossRatio for DPDK Ovs", "ci_loop": null, "tags": null, "url": "http://tput_ovsdpdk", "_id": "565feb6b514bc5087f3cfe2e", "catalog_description": "Packet Loss Ratio for DPDK OVS (RFC2544)", "creation_date": "2015-12-03 07:12:43.925943", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "tput_ovsdpdk"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.PacketLossRatio for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://tput_ovs", "_id": "566005d9514bc5087f3cfe30", "catalog_description": "Packet Loss Ratio for Vanilla Ovs (RFC2544)", "creation_date": "2015-12-03 09:05:29.686136", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "tput_ovs"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.PacketLossRatio for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://tput_ovs", "_id": "566005ed514bc5087f3cfe31", "catalog_description": "Packet Loss Ratio for Vanilla Ovs (RFC2544)", "creation_date": "2015-12-03 09:05:49.363961", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "tput_ovs"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.BackToBackFrames for DPDK Ovs", "ci_loop": null, "tags": null, "url": "http://b2b_ovsdpdk", "_id": "566006c8514bc5087f3cfe32", "catalog_description": "Back To Back Frames for DPDK Ovs (RFC2544)", "creation_date": "2015-12-03 09:09:28.927130", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "b2b_ovsdpdk"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.BackToBackFrames for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://b2b_ovs", "_id": "5660071e514bc5087f3cfe33", "catalog_description": "Back To Back Frames for Vanilla Ovs (RFC2544)", "creation_date": "2015-12-03 09:10:54.473180", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "b2b_ovs"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification for DPDK Ovs", "ci_loop": null, "tags": null, "url": "http://tput_mod_vlan_ovsdpdk", "_id": "566007a9514bc5087f3cfe34", "catalog_description": "Packet Loss Ratio Frame Modification for DPDK Ovs (RFC2544)", "creation_date": "2015-12-03 09:13:13.600168", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "tput_mod_vlan_ovsdpdk"}, {"project_name": "vsperf", "run": null, "description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://tput_mod_vlan_ovs", "_id": "566007ec514bc5087f3cfe35", "catalog_description": "Packet Loss Ratio Frame Modification for Vanilla Ovs (RFC2544)", "creation_date": "2015-12-03 09:14:20.594501", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "tput_mod_vlan_ovs"}, {"project_name": "vsperf", "run": null, "description": "LTD.Scalability.RFC2544.0PacketLoss for DPDK Ovs", "ci_loop": null, "tags": null, "url": "http://scalability_ovsdpdk", "_id": "56600870514bc5087f3cfe36", "catalog_description": ".Scalability Packet Loss for DPDK Ovs", "creation_date": "2015-12-03 09:16:32.491960", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "scalability_ovsdpdk"}, {"project_name": "vsperf", "run": null, "description": "LTD.Scalability.RFC2544.0PacketLoss for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://scalability_ovs", "_id": "566008b3514bc5087f3cfe37", "catalog_description": "Scalability Packet Loss for Vanilla Ovs (RFC2544)", "creation_date": "2015-12-03 09:17:39.501079", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "scalability_ovs"}, {"project_name": "vsperf", "run": null, "description": "PVP LTD.Throughput.RFC2544.PacketLossRatio for DPDK User Ovs", "ci_loop": null, "tags": null, "url": "http://pvp_tput_ovsdpdkuser", "_id": "5660095a514bc5087f3cfe38", "catalog_description": "PVP Packet Loss Ratio for DPDK User Ovs", "creation_date": "2015-12-03 09:20:26.244843", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvp_tput_ovsdpdkuser"}, {"project_name": "vsperf", "run": null, "description": "PVP LTD.Throughput.RFC2544.PacketLossRatio for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://pvp_tput_ovsvirtio", "_id": "566009ae514bc5087f3cfe39", "catalog_description": "PVP Packet Loss Ratio for Vanilla Ovs", "creation_date": "2015-12-03 09:21:50.251212", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvp_tput_ovsvirtio"}, {"project_name": "vsperf", "run": null, "description": "PVP LTD.Throughput.RFC2544.BackToBackFrames for DPDK User Ovs", "ci_loop": null, "tags": null, "url": "http://pvp_b2b_ovsdpdkuser", "_id": "56600a1a514bc5087f3cfe3a", "catalog_description": "PVP Back To Back Frames for DPDK User Ovs", "creation_date": "2015-12-03 09:23:38.269821", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvp_b2b_ovsdpdkuser"}, {"project_name": "vsperf", "run": null, "description": "PVP LTD.Throughput.RFC2544.BackToBackFrames for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://pvp_b2b_ovsvirtio", "_id": "56600a5f514bc5087f3cfe3b", "catalog_description": "PVP Back To Back Frames for Vanilla Ovs", "creation_date": "2015-12-03 09:24:47.990062", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvp_b2b_ovsvirtio"}, {"project_name": "vsperf", "run": null, "description": "PVVP LTD.Throughput.RFC2544.PacketLossRatio for DPDK User Ovs", "ci_loop": null, "tags": null, "url": "http://pvvp_tput_ovsdpdkuser", "_id": "56600ab3514bc5087f3cfe3c", "catalog_description": "PVVP Packet Loss Ratio for DPDK User Ovs", "creation_date": "2015-12-03 09:26:11.657515", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvvp_tput_ovsdpdkuser"}, {"project_name": "vsperf", "run": null, "description": "PVVP LTD.Throughput.RFC2544.PacketLossRatio for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://pvvp_tput_ovsvirtio", "_id": "56600ae9514bc5087f3cfe3d", "catalog_description": "PVVP Packet Loss Ratio for Vanilla Ovs", "creation_date": "2015-12-03 09:27:05.466374", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvvp_tput_ovsvirtio"}, {"project_name": "vsperf", "run": null, "description": "PVVP LTD.Throughput.RFC2544.BackToBackFrames for DPDK User Ovs", "ci_loop": null, "tags": null, "url": "http://pvvp_b2b_ovsdpdkuser", "_id": "56600b2a514bc5087f3cfe3e", "catalog_description": "PVVP Back To Back Frames for DPDK User Ovs", "creation_date": "2015-12-03 09:28:10.150217", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvvp_b2b_ovsdpdkuser"}, {"project_name": "vsperf", "run": null, "description": "PVVP LTD.Throughput.RFC2544.BackToBackFrames for Vanilla Ovs", "ci_loop": null, "tags": null, "url": "http://pvvp_b2b_ovsvirtio", "_id": "56600b4f514bc5087f3cfe3f", "catalog_description": "PVVP Back To Back Frames for Vanilla Ovs", "creation_date": "2015-12-03 09:28:47.108529", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "pvvp_b2b_ovsvirtio"}, {"project_name": "vsperf", "run": "", "description": "", "ci_loop": "", "tags": "ovs,dpdk", "url": "", "_id": "591e8a8f41b755000a68c831", "catalog_description": "Phy2Phy Continuous Stream DPDK", "creation_date": "2017-05-19 06:02:55.177254", "domains": "compute", "dependencies": "", "version": ">euphrates", "criteria": "", "tier": "performance", "trust": null, "blocking": "", "name": "cont_ovsdpdk"}, {"project_name": "vsperf", "run": "", "description": "", "ci_loop": "", "tags": "ovs", "url": "", "_id": "5980d1b073ce050010c339ca", "catalog_description": "Phy2Phy Continuous Stream", "creation_date": "2017-08-01 19:08:32.518983", "domains": "compute", "dependencies": "", "version": "euphrates", "criteria": "", "tier": null, "trust": null, "blocking": "", "name": "cont_ovs"}]}
+{"testcases": [{"project_name": "promise", "run": null, "description": "Reservation of a VM for immediate use followed by allocation", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "56583055514bc5087f2ddcea", "catalog_description": null, "creation_date": "2015-11-27 10:28:37.379982", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "VM-reservation-for-immediate-use-followed-by-allocation"}, {"project_name": "promise", "run": null, "description": "Reservation of a VM followed by denial of service to another user and by allocation of reserved VM", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565830a1514bc5087f2ddceb", "catalog_description": null, "creation_date": "2015-11-27 10:29:53.195016", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "VM-reservation-followed-by-denial-of-service-to-another-user-and-by-allocation-of-reserved-VM"}, {"project_name": "promise", "run": null, "description": "Reservation of a VM for future use", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565830cb514bc5087f2ddcec", "catalog_description": null, "creation_date": "2015-11-27 10:30:35.622990", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "VM-reservation-for-future-use"}, {"project_name": "promise", "run": null, "description": "Update of an outstanding reservation, increase capacity", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565830f0514bc5087f2ddced", "catalog_description": null, "creation_date": "2015-11-27 10:31:12.251753", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Update-of-an-outstanding-reservation-increase-capacity"}, {"project_name": "promise", "run": null, "description": "Update of an outstanding reservation, decrease capacity", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "5658310e514bc5087f2ddcee", "catalog_description": null, "creation_date": "2015-11-27 10:31:42.492243", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Update-of-an-outstanding-reservation-decrease-capacity"}, {"project_name": "promise", "run": null, "description": "Notification of reservation change", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "56583126514bc5087f2ddcef", "catalog_description": null, "creation_date": "2015-11-27 10:32:06.281109", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Notification-of-reservation-change"}, {"project_name": "promise", "run": null, "description": "Cancellation of a reservation", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "5658313f514bc5087f2ddcf0", "catalog_description": null, "creation_date": "2015-11-27 10:32:31.819144", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Cancellation-of-a-reservation"}, {"project_name": "promise", "run": null, "description": "Query of a reservation", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "56583162514bc5087f2ddcf1", "catalog_description": null, "creation_date": "2015-11-27 10:33:06.651788", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Query-of-a-reservation"}, {"project_name": "promise", "run": null, "description": "Create a bulk reservation of compute capacity", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "56583180514bc5087f2ddcf2", "catalog_description": null, "creation_date": "2015-11-27 10:33:36.633730", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Create-a-bulk-reservation-of-compute-capacity"}, {"project_name": "promise", "run": null, "description": "Rejection of a reservation due to lack of resources", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565831a1514bc5087f2ddcf3", "catalog_description": null, "creation_date": "2015-11-27 10:34:09.196279", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Rejection-of-a-reservation-due-to-lack-of-resources"}, {"project_name": "promise", "run": null, "description": "Reservation of block storage for future use", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565831c0514bc5087f2ddcf4", "catalog_description": null, "creation_date": "2015-11-27 10:34:40.449825", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Reservation-of-block-storage-for-future-use"}, {"project_name": "promise", "run": null, "description": "Capacity Management, query", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565831db514bc5087f2ddcf5", "catalog_description": null, "creation_date": "2015-11-27 10:35:07.912239", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Capacity-Management-query"}, {"project_name": "promise", "run": null, "description": "Capacity Management, notification", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/_media/promise/test_cases.docx", "_id": "565831eb514bc5087f2ddcf6", "catalog_description": null, "creation_date": "2015-11-27 10:35:23.003655", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Capacity-Management-notification"}, {"project_name": "promise", "run": {"class": "", "module": ""}, "description": "Global promise suite", "ci_loop": "daily", "tags": "promise,resource reservation, resource management", "url": "https://wiki.opnfv.org/promise", "_id": "56a9d74a851d7e6a0f74930c", "catalog_description": null, "creation_date": "2016-01-28 08:54:34.857669", "domains": "mano", "dependencies": {"installer": "(fuel)|(joid)", "scenario": ""}, "version": ">brahmaputra.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "promise"}]}
+{"testcases": [{"project_name": "sdnvpn", "run": null, "description": "RF tests for ODL VPN service using ODL REST API.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/sdnvpn/main#functest", "_id": "565c7341514bc5087f2ddcfc", "catalog_description": null, "creation_date": "2015-11-30 16:03:13.149596", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "odl_vpn"}, {"project_name": "sdnvpn", "run": null, "description": "RF tests for BGPVPN Neutron API extensions using Tempest framework.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/sdnvpn/main#Main-OpenStackNeutronBGPVPNAPItests", "_id": "565c7348514bc5087f2ddcfd", "catalog_description": null, "creation_date": "2015-11-30 16:03:20.997647", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "functest_tempest"}, {"project_name": "sdnvpn", "run": null, "description": "VPNs provide connectivity across Neutron networks and subnets if configured accordingly.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/sdnvpn/main#Main-TestCase1-VPNprovidesconnectivitybetweensubnets", "_id": "565d5e45514bc5087f2ddd03", "catalog_description": null, "creation_date": "2015-12-01 08:45:57.900254", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "functest_testcase_1"}, {"project_name": "sdnvpn", "run": null, "description": "Using VPNs to isolate tenants so that overlapping IP address ranges can be used.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/sdnvpn/main#Main-TestCase2-tenantseparation", "_id": "565d5e60514bc5087f2ddd04", "catalog_description": null, "creation_date": "2015-12-01 08:46:24.194775", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "functest_testcase_2"}, {"project_name": "sdnvpn", "run": {"class": "SdnVpnTests", "module": "functest.opnfv_tests.features.sdnvpn"}, "description": "This test case is to report the overall result of all the test cases executed in a specific CI run", "ci_loop": "daily", "tags": "bgpvpn", "url": "https://wiki.opnfv.org/display/sdnvpn/main", "_id": "578f743d9377c54b278bc466", "catalog_description": null, "creation_date": "2016-07-20 12:53:17.290365", "domains": "networking", "dependencies": {"installer": "(fuel)|(apex)", "scenario": "bgpvpn"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "bgpvpn"}]}
+{"testcases": [{"project_name": "sfc", "run": {"class": "OpenDaylightSFC", "module": "functest.opnfv_tests.features.odl_sfc"}, "description": "Test case written in Functest.", "ci_loop": "daily", "tags": "sfc,odl", "url": "", "_id": "57d6d3d41d2c6e000ab1d7a8", "catalog_description": null, "creation_date": "2016-09-12 16:12:04.638903", "domains": "networking", "dependencies": {"installer": "(apex)|(fuel)", "scenario": "odl_l2-sfc"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "functest-odl-sfc"}]}
+{"testcases": [{"project_name": "ha", "run": null, "description": "Sample test case for the HA of controller node Openstack service.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc019.html", "_id": "5923c338356833000a1951d1", "catalog_description": "HA_nova-api_service_down", "creation_date": "2017-05-23 05:06:00.729799", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc019"}, {"project_name": "ha", "run": null, "description": "Test case for TC045 :Control node Openstack service down - neutron server.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc045.html", "_id": "5923c339356833000a1951d2", "catalog_description": "HA_neutron-server_service_down", "creation_date": "2017-05-23 05:06:01.464749", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc045"}, {"project_name": "ha", "run": null, "description": "Test case for TC046 :Control node Openstack service down - keystone.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc046.html", "_id": "5923c33a356833000a1951d3", "catalog_description": "HA_keystone_service_down", "creation_date": "2017-05-23 05:06:02.029462", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc046"}, {"project_name": "ha", "run": null, "description": "Test case for TC047 :Control node Openstack service down - glance api.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc047.html", "_id": "5923c33a356833000a1951d4", "catalog_description": "HA_glance-api_service_down", "creation_date": "2017-05-23 05:06:02.675239", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc047"}, {"project_name": "ha", "run": null, "description": "Test case for TC048 :Control node Openstack service down - cinder api.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc048.html", "_id": "5923c33b356833000a1951d5", "catalog_description": "HA_cinder-api_service_down", "creation_date": "2017-05-23 05:06:03.215756", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc048"}, {"project_name": "ha", "run": null, "description": "Test case for TC051 :OpenStack Controller Node CPU Overload High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc051.html", "_id": "5923c33b356833000a1951d6", "catalog_description": "HA_CPU_overload", "creation_date": "2017-05-23 05:06:03.900311", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc051"}, {"project_name": "ha", "run": null, "description": "Test case for TC052 :OpenStack Controller Node Disk I/O Block High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc052.html", "_id": "5923c33c356833000a1951d7", "catalog_description": "HA_disk_I/O_block", "creation_date": "2017-05-23 05:06:04.452133", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc052"}, {"project_name": "ha", "run": null, "description": "Test case for TC053 :Openstack Controller Load Balance Service High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc053.html", "_id": "5923c33d356833000a1951d8", "catalog_description": "HA_load_balancer_service_down", "creation_date": "2017-05-23 05:06:05.031012", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc053"}]}
+{"testcases": [{"project_name": "ipvsix", "run": null, "description": "Test IPv6 connectivity between nodes on the tenant network", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-186", "_id": "565da626514bc5087f2ddd21", "catalog_description": null, "creation_date": "2015-12-01 13:52:38.704783", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC027_IPVSIX: IPv6 connectivity between nodes on the tenant network"}]}
+{"testcases": [{"project_name": "vnfgraph", "run": null, "description": "Verify HTTP is blocked, OpenStack Networking-SFC", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-194", "_id": "565dabcd514bc5087f2ddd23", "catalog_description": null, "creation_date": "2015-12-01 14:16:45.424034", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC032_VNFGRAPH: Block HTTP (OpenStack Networking-SFC)"}, {"project_name": "vnfgraph", "run": null, "description": "Verify HTTP is blocked, ONOS-SFC", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-195", "_id": "565dac1a514bc5087f2ddd24", "catalog_description": null, "creation_date": "2015-12-01 14:18:02.138468", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC034_VNFGRAPH: Block HTTP (ONOS-SFC)"}]}
+{"testcases": [{"project_name": "kvmfornfv", "run": null, "description": "Latency measurements with cyclictest", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-188?jql=project%20%3D%20YARDSTICK", "_id": "565d68f4514bc5087f2ddd0d", "catalog_description": null, "creation_date": "2015-12-01 09:31:32.920841", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC028_KVM: Latency measurements with cyclictest"}, {"project_name": "kvmfornfv", "run": null, "description": "packet forwarding latency with vsperf", "ci_loop": "daily", "tags": null, "url": "https://jira.opnfv.org/browse/KVMFORNFV-58", "_id": "59249e6578a2ad000ae6a15d", "catalog_description": null, "creation_date": "2017-05-23 20:41:09.969403", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "packet forwarding latency with vsperf"}, {"project_name": "kvmfornfv", "run": null, "description": "Fast Live Migration", "ci_loop": "daily", "tags": null, "url": "https://jira.opnfv.org/browse/KVMFORNFV-83", "_id": "5924a0af78a2ad000ae6a15f", "catalog_description": null, "creation_date": "2017-05-23 20:50:55.839838", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Fast Live Migration"}, {"project_name": "kvmfornfv", "run": null, "description": "DPDK interrupt mode", "ci_loop": "daily", "tags": null, "url": "https://jira.opnfv.org/browse/KVMFORNFV-81", "_id": "5924a11578a2ad000ae6a160", "catalog_description": null, "creation_date": "2017-05-23 20:52:37.016807", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "DPDK interrupt mode"}]}
+{"testcases": [{"project_name": "ovsnfv", "run": null, "description": "Yardstick NFVI generic test cases run on OVSNFV environment", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-196", "_id": "565dae87514bc5087f2ddd25", "catalog_description": null, "creation_date": "2015-12-01 14:28:23.946511", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC035_OVSNFV: Yardstick Test suite for OVSNFV"}]}
+{"testcases": [{"project_name": "armband", "run": null, "description": "Yardstick NFVI generic test cases run on ARM-based hardware", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/YARDSTICK-197", "_id": "565db01d514bc5087f2ddd26", "catalog_description": null, "creation_date": "2015-12-01 14:35:09.108065", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OPNFV_YARDSTICK_TC036_ARMBAND: Yardstick Test suite for ARMBAND"}]}
+{"testcases": [{"project_name": "copper", "run": null, "description": "Set of Tempest test cases to verify the Copper component.", "ci_loop": null, "tags": null, "url": "https://github.com/openstack/congress/tree/master/congress_tempest_tests", "_id": "565d99cb514bc5087f2ddd19", "catalog_description": null, "creation_date": "2015-12-01 12:59:55.741216", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "Tempest-copper"}, {"project_name": "copper", "run": null, "description": "An OpenStack Congress policy test. Sets up and validates policy creation and execution for: 1) Identifying VMs connected to a DMZ (currently identified through a specifically-named security group); 2) Identifying VMs connected per (1), which are by policy not allowed to be (currently implemented through an image tag intended to identify images that are 'authorized' i.e. tested and secure, to be DMZ-connected); 3) Reactively enforce the dmz placement rule by pausing VMs found to be in violation of the policy.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/cgit/copper/plain/tests/dmz.sh", "_id": "577d49739377c54b278bbc92", "catalog_description": null, "creation_date": "2016-07-06 18:09:55.391869", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "dmz"}, {"project_name": "copper", "run": null, "description": "An OpenStack Congress policy test. Sets up and validates policy creation and execution for: 1) Detecting that a reserved subnet has been created, by mistake. 'Reserved' in this example means e.g. not intended for use by VMs.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/cgit/copper/plain/tests/reserved_subnet.sh", "_id": "577d49819377c54b278bbc93", "catalog_description": null, "creation_date": "2016-07-06 18:10:09.205388", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "reserved_subnet"}, {"project_name": "copper", "run": null, "description": "An OpenStack Congress policy test. Sets up and validates policy creation and execution for: 1) Identifying VMs that have STMP (TCP port 25) open for ingress.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/cgit/copper/plain/tests/smtp_ingress.sh", "_id": "577d498e9377c54b278bbc94", "catalog_description": null, "creation_date": "2016-07-06 18:10:22.310104", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "smtp_ingress"}, {"project_name": "copper", "run": {"class": "Copper", "module": "functest.opnfv_tests.feature.copper"}, "description": "", "ci_loop": "daily", "tags": "copper,policy management,congress", "url": "https://wiki.opnfv.org/display/copper", "_id": "57adcbce9377c54b278bd67a", "catalog_description": null, "creation_date": "2016-08-12 13:14:54.469155", "domains": "mano", "dependencies": {"installer": "(apex)|(joid)", "scenario": "^((?!fdio|lxd).)*$"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "copper-notification"}, {"project_name": "copper", "run": null, "description": "An OpenStack Congress policy test. Sets up and validates policy creation and execution for: 1) Detecting that a VM is connected to two networks of different 'security levels' by mistake. 'Security levels' in this example means that the service provider assigns distinct sensitivity/risk to connections over those networks, e.g. a public network (e.g. DMZ) and an internal/private network (e.g. service provider admin network).", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/cgit/copper/plain/tests/network_bridging.sh", "_id": "5846e6341d2c6e000ab2d403", "catalog_description": null, "creation_date": "2016-12-06 16:24:20.749582", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "network_bridging"}, {"project_name": "copper", "run": null, "description": "An OpenStack Congress test. Verifies that if one instance of an HA-deployed Congress service fails, the Congress service continues to function during the failure period and after HA is service is restored.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/cgit/copper/plain/tests/congress_ha.sh", "_id": "5846e6611d2c6e000ab2d404", "catalog_description": null, "creation_date": "2016-12-06 16:25:05.027643", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "congress_ha"}]}
+{"testcases": [{"project_name": "doctor", "run": {"class": "", "module": ""}, "description": "immediate notification for fault management.", "ci_loop": "daily", "tags": "doctor,fault monitoring", "url": "https://etherpad.opnfv.org/p/doctor_use_case_for_b_release", "_id": "565d9f35514bc5087f2ddd1e", "catalog_description": null, "creation_date": "2015-12-01 13:23:01.972178", "domains": "mano", "dependencies": {"installer": "apex", "scenario": "^((?!fdio).)*$"}, "version": ">brahmaputra.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "doctor-notification"}, {"project_name": "doctor", "run": null, "description": "resource state correction for fault management.", "ci_loop": null, "tags": null, "url": "https://etherpad.opnfv.org/p/doctor_use_case_for_b_release", "_id": "565d9f43514bc5087f2ddd1f", "catalog_description": null, "creation_date": "2015-12-01 13:23:15.994153", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "doctor-mark-down"}]}
+{"testcases": [{"project_name": "qtip", "run": "", "description": "Overall score for system compute performance.", "ci_loop": "", "tags": "", "url": "", "_id": "59530da6bdd637000acb9f02", "catalog_description": "compute performance index", "creation_date": "2017-06-28 02:00:06.539932", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "compute"}]}
+{"testcases": [{"project_name": "ovno", "run": null, "description": "This test suite will check the basic operation such as network creation, noetwork policy, connectivity between VMs on an IPv4 network", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/ovno/project_proposal", "_id": "565ec2cc514bc5087f3cfe27", "catalog_description": null, "creation_date": "2015-12-02 10:07:08.008647", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opencontrail"}, {"project_name": "ovno", "run": null, "description": "This test suite will check the support of IPv6 for basic operations in opencontrail.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/ovno/project_proposal", "_id": "565ec2fb514bc5087f3cfe28", "catalog_description": null, "creation_date": "2015-12-02 10:07:55.729717", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opencontrail-ipvsix"}, {"project_name": "ovno", "run": null, "description": "This test suite will check the support of Network policy features in opencontrail.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/ovno/project_proposal", "_id": "565ec31a514bc5087f3cfe29", "catalog_description": null, "creation_date": "2015-12-02 10:08:26.150838", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opencontrail-policy"}, {"project_name": "ovno", "run": null, "description": "This test suite will check the creation of service template, service instance, network policy related to service instance or policy using opencontrail.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/ovno/project_proposal", "_id": "565ec351514bc5087f3cfe2a", "catalog_description": null, "creation_date": "2015-12-02 10:09:21.915762", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opencontrail-service"}, {"project_name": "ovno", "run": null, "description": "This test suite requires an gateway router (probably not possible in all labs in first step). Tests deal with creation of external router, floating IP address pool creation, floating IP allocation, connectivity check with external IP addresses.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/ovno/project_proposal", "_id": "565ec3b2514bc5087f3cfe2b", "catalog_description": null, "creation_date": "2015-12-02 10:10:58.745032", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opencontrail-ext"}]}
+{"testcases": [{"project_name": "bottlenecks", "run": null, "description": "Stress tess on dataplane traffic using netperf.", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/BOTTLENECK-94", "_id": "58cf436a32c829000a11507e", "catalog_description": "Bandwidth Baseline", "creation_date": "2017-03-20 02:50:18.066854", "domains": null, "dependencies": null, "version": ">=danube.1.0", "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "posca_factor_system_bandwidth"}, {"project_name": "bottlenecks", "run": null, "description": "Stress tess on performance life-cycle using ping.", "ci_loop": null, "tags": null, "url": "https://jira.opnfv.org/browse/BOTTLENECK-136", "_id": "58cf486332c829000a11508c", "catalog_description": "Ping Life-cycle Event", "creation_date": "2017-03-20 03:11:31.347177", "domains": null, "dependencies": null, "version": ">=danube.1.0", "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "posca_factor_ping"}]}
+{"testcases": [{"project_name": "policy-test", "run": null, "description": "groupe based policy testing on ODL", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/policytest", "_id": "5669a939514bc5068a345d30", "catalog_description": null, "creation_date": "2015-12-10 16:32:57.643318", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "odl-gbp"}]}
+{"testcases": [{"project_name": "moon", "run": {"class": "", "module": ""}, "description": "This case deals with moon authentication and moon authorization test suites.", "ci_loop": "daily", "tags": "moon,security,keystone,odl,multisite", "url": "To be completed", "_id": "571740a19377c5332042a5e2", "catalog_description": "Moon security module", "creation_date": "2016-04-20 08:41:05.453036", "domains": "security", "dependencies": {"installer": "compass", "scenario": "(odl)*(moon)"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "moon"}]}
+{"testcases": [{"project_name": "storperf", "run": {"class": "", "module": ""}, "description": "Following SNIA guidelines, this test consists of creating as many VMs and Cinder volumes as there are Cinder storage nodes, and then running a series of workloads against that environment.", "ci_loop": "daily", "tags": "openstack,cinder,storage", "url": "https://wiki.opnfv.org/display/storperf/SNIA+Targets", "_id": "588bb3d58cf551000c781d6f", "catalog_description": "Cinder volume testing (SNIA)", "creation_date": "2017-01-27 20:55:49.593736", "domains": "storage", "dependencies": {"installer": "", "scenario": ""}, "version": ">danube.1.0", "criteria": "", "tier": "performance", "trust": null, "blocking": true, "name": "snia_steady_state"}]}
+{"testcases": [{"project_name": "domino", "run": {"class": "Domino", "module": "functest.opnfv_tests.features.domino"}, "description": null, "ci_loop": "daily", "tags": "domino,policy", "url": null, "_id": "578ec6449377c54b278bc3f0", "catalog_description": null, "creation_date": "2016-07-20 00:31:00.307041", "domains": "mano", "dependencies": {"installer": "joid", "scenario": ""}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "domino-multinode"}, {"project_name": "domino", "run": null, "description": null, "ci_loop": null, "tags": null, "url": null, "_id": "578ec7779377c54b278bc3f1", "catalog_description": null, "creation_date": "2016-07-20 00:36:07.772175", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "domino-singlenode"}]}
+{"testcases": [{"project_name": "fastdatastacks", "run": {"args:": {"suites": "/home/opnfv/repos/fds/testing/robot"}, "class": "ODLTests", "module": "functest.opnfv_tests.sdn.odl.odl"}, "description": "Security groups test for http traffic in a fast data stack", "ci_loop": "daily", "tags": "networking, fdio, gbp, odl, openstack, vpp, honeycomb, apex ", "url": "http://artifacts.opnfv.org/fds/colorado/2.0/docs/index.html", "_id": "58c15e568fd6ac000aa241b1", "catalog_description": null, "creation_date": "2017-03-09 13:53:26.886856", "domains": "networking", "dependencies": {"installer": "apex", "scenario": "odl.*fdio"}, "version": ">danube", "criteria": "", "tier": "smoke", "trust": "silver", "blocking": false, "name": "fds"}, {"project_name": "fastdatastacks", "run": null, "description": "Verify that networking resources are created and deleted correctly across the whole stack - ODL GBP, ODL VBD, ODL LISP, Honeycomb and VPP", "ci_loop": "daily", "tags": "networking, fdio, gbp, vbd, odl, lisp, openstack, vpp, honeycomb, apex", "url": null, "_id": "591eeba9e93345000afa3841", "catalog_description": null, "creation_date": "2017-05-19 12:57:13.983864", "domains": "networking", "dependencies": {"installer": "apex", "scenario": "odl-fdio"}, "version": ">euphrates", "criteria": null, "tier": "smoke", "trust": null, "blocking": false, "name": "fds_stack_integrity"}, {"project_name": "fastdatastacks", "run": null, "description": "Distributed Virtual Routing (DVR) specific testcases focused on traffic inspection", "ci_loop": "daily", "tags": "networking, fdio, gbp, odl, lisp, openstack, vpp, honeycomb, apex", "url": null, "_id": "591eed2ee93345000afa3843", "catalog_description": null, "creation_date": "2017-05-19 13:03:42.350775", "domains": "networking", "dependencies": {"installer": "apex", "scenario": "odl-fdio-dvr"}, "version": ">euphrates", "criteria": null, "tier": "features", "trust": null, "blocking": false, "name": "fds_dvr"}, {"project_name": "fastdatastacks", "run": null, "description": "ODL split-rejoin test. In case any of the ODL controllers becomes unreachable the operability of the whole stack is not affected.", "ci_loop": "daily", "tags": "networking, fdio, gbp, odl, lisp, openstack, vpp, honeycomb, apex", "url": null, "_id": "591eeed2e93345000afa3849", "catalog_description": null, "creation_date": "2017-05-19 13:10:42.437167", "domains": "networking", "dependencies": {"installer": "apex", "scenario": "odl-fdio.*-ha"}, "version": ">euphrates", "criteria": null, "tier": "sdn_suites", "trust": null, "blocking": false, "name": "fds_odl_split_rejoin"}, {"project_name": "fastdatastacks", "run": null, "description": "ODL cluster stress test. Create a very large amount of networks and ports (~20 000) and verify that all of those were created properly.", "ci_loop": null, "tags": "networking, fdio, gbp, odl, lisp, openstack, vpp, honeycomb, apex", "url": null, "_id": "591ef15ce93345000afa384e", "catalog_description": null, "creation_date": "2017-05-19 13:21:32.020394", "domains": "networking", "dependencies": {"installer": "apex", "scenario": "odl-fdio.*-ha"}, "version": ">euphrates", "criteria": null, "tier": "sdn_suites", "trust": null, "blocking": false, "name": "fds_odl_stress"}]}
+{"testcases": [{"project_name": "models", "run": null, "description": "A basic TOSCA blueprint based test using Cloudify as VNFM. Based upon the vIMS Functest test, this test uses the same Clearwater IMS blueprint but simplifies it to deploy the Cloudify HelloWorld example, a simple web server. The test will include basic verification that the web server is deployed and operational.", "ci_loop": null, "tags": null, "url": "https://github.com/blsaws/vHello", "_id": "577d4d339377c54b278bbc95", "catalog_description": null, "creation_date": "2016-07-06 18:25:55.058124", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "vHello"}, {"project_name": "models", "run": null, "description": "A basic TOSCA blueprint based test using Cloudify as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, modified/extended for testing of Cloudify-supported features as of OpenStack Newton.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/models/plain/tests/vHello_Cloudify.sh\ufeff", "_id": "5846edbc1d2c6e000ab2d407", "catalog_description": null, "creation_date": "2016-12-06 16:56:28.523336", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "vHello_Cloudify"}, {"project_name": "models", "run": null, "description": "A basic TOSCA blueprint based test using Tacker as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of Tacker-supported features as of OpenStack Newton.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/models/plain/tests/vHello_Tacker.sh", "_id": "5846ee7a1d2c6e000ab2d408", "catalog_description": null, "creation_date": "2016-12-06 16:59:38.631893", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "vHello_Tacker"}, {"project_name": "models", "run": null, "description": "A basic TOSCA blueprint based test using OpenBaton as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of OpenBaton-supported features as of OpenStack Newton.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/models/plain/tests/vHello_OpenBaton.sh\ufeff", "_id": "5846eeed1d2c6e000ab2d409", "catalog_description": null, "creation_date": "2016-12-06 17:01:33.215412", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "vHello_OpenBaton"}, {"project_name": "models", "run": null, "description": "A basic TOSCA blueprint based test using OpenBaton as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of OpenBaton-supported features as of OpenStack Newton.", "ci_loop": null, "tags": null, "url": "https://git.opnfv.org/models/plain/tests/vHello_JuJu.sh\ufeff", "_id": "5846ef011d2c6e000ab2d40a", "catalog_description": null, "creation_date": "2016-12-06 17:01:53.074430", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "vHello_JuJu"}]}
+{"testcases": [{"project_name": "multisite", "run": {"class": "", "module": ""}, "description": "", "ci_loop": "daily", "tags": "multisite", "url": "", "_id": "57add11d9377c54b278bd67c", "catalog_description": null, "creation_date": "2016-08-12 13:37:33.326414", "domains": "vim", "dependencies": {"installer": "(fuel)|(compass)", "scenario": "multisite"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "multisite"}]}
+{"testcases": [{"project_name": "parser", "run": {"class": "", "module": ""}, "description": "OPNFV parser Project basic test case", "ci_loop": "daily", "tags": "parser,policy", "url": "", "_id": "57b2cd509377c54b278bdb91", "catalog_description": null, "creation_date": "2016-08-16 08:22:40.579465", "domains": "mano", "dependencies": {"installer": "fuel", "scenario": "^((?!bgpvpn|noha).)*$"}, "version": ">colorado.1.0", "criteria": null, "tier": "feature", "trust": "silver", "blocking": false, "name": "parser-basics"}]}
+{"testcases": [{"project_name": "netready", "run": null, "description": "This test case will exercise a new API exposed by a L3VPN Proton to configure a L3VPN network service. The API is addressed through a new protonclient.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/netready/Test+Strategy", "_id": "582ef66d1d2c6e000ab2b227", "catalog_description": null, "creation_date": "2016-11-18 12:39:09.904884", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "gluon_vping"}, {"project_name": "netready", "run": null, "description": "This test case exercises the model-driven API creation capabilities of Gluon.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/netready/Test+Strategy", "_id": "5922ca9c356833000a1951b2", "catalog_description": null, "creation_date": "2017-05-22 11:25:16.951468", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "gluon_api_generation"}]}
+{"testcases": [{"project_name": "securityscanning", "run": null, "description": "OpenSCAP security scan of OPNFV system", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/security/Security+Scanning", "_id": "582f29f51d2c6e000ab2b27e", "catalog_description": null, "creation_date": "2016-11-18 16:19:01.360172", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "security_scan"}]}
+{"testcases": [{"project_name": "opera", "run": null, "description": "vIMS is used as initial use case, based on which test cases will be created and aligned with Open-O first release for OPNFV D release.", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/PROJ/Opera+Project", "_id": "584888a41d2c6e000ab2d619", "catalog_description": null, "creation_date": "2016-12-07 22:09:40.481402", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "opera-vims"}]}
+{"testcases": []}
+null
+{"testcases": []}
+{"testcases": [{"project_name": "yardstick", "run": null, "description": "This is for ci to store test suites status", "ci_loop": "daily", "tags": null, "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/scenario_status.html", "_id": "592292b7356833000a195188", "catalog_description": "Not applicable (used for reporting)", "creation_date": "2017-05-22 07:26:47.523411", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "scenario_status"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC001 config file; Measure network throughput using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run twice. First twice with the least amount of ports and further on.\n", "ci_loop": "daily", "tags": "pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc001.html", "_id": "592292b8356833000a195189", "catalog_description": "network: throughput (pktgen)", "creation_date": "2017-05-22 07:26:48.714560", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc001"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC002 config file; measure network latency using ping;\n", "ci_loop": "daily", "tags": "ping", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc002.html", "_id": "592292b9356833000a19518a", "catalog_description": "network: latency (ping)", "creation_date": "2017-05-22 07:26:49.820133", "domains": "network", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc002"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC005 config file; Measure Storage IOPS, throughput and latency using fio.\n", "ci_loop": "daily", "tags": "fio", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc005.html", "_id": "592292ba356833000a19518b", "catalog_description": "storage: disk IOPS, latency & throughput (fio)", "creation_date": "2017-05-22 07:26:50.927211", "domains": "storage", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc005"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC006 config file.\n", "ci_loop": "daily", "tags": "vtc_throughput", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc006.html", "_id": "592292bc356833000a19518c", "catalog_description": "vtc: data plane throughput", "creation_date": "2017-05-22 07:26:52.058010", "domains": "vtc", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc006"}, {"project_name": "yardstick", "run": null, "description": "Sample benchmark task config file; vTC.\n", "ci_loop": "daily", "tags": "vtc_throughput_noisy", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc007.html", "_id": "592292bd356833000a19518d", "catalog_description": "vtc: data plane throughput(Noisy neighbours)", "creation_date": "2017-05-22 07:26:53.143162", "domains": "vtc", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc007"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC008 config file; Measure network throughput and packet loss using Pktgen; Different amount of flows, from 2 up to 1001000, in combination with different packet sizes are run in each test. Each combination of packet size and flow amount is run 10 times. First 10 times with the smallest packet size, starting with the least amount of ports/flows, then next amount of ports with same packet size, and so on. The test sequence continues with the next packet size, with same ports/flows sequence as before.\n", "ci_loop": "daily", "tags": "pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc008.html", "_id": "592292be356833000a19518e", "catalog_description": "network: throughput and packet loss extended(pktgen)", "creation_date": "2017-05-22 07:26:54.255469", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc008"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC009 config file; Measure network throughput and packet loss using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 10 times each. First 10 times with the least amount of ports, then 10 times with the next amount of ports, and so on until all packet sizes have been run with;\n", "ci_loop": "daily", "tags": "pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc009.html", "_id": "592292bf356833000a19518f", "catalog_description": "network: throughput and packet loss (pktgen)", "creation_date": "2017-05-22 07:26:55.406119", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc009"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC010 config file; measure memory read latency using lmbench.\n", "ci_loop": "daily", "tags": "lmbench", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc010.html", "_id": "592292c0356833000a195190", "catalog_description": "compute: memory read latency (lmbench)", "creation_date": "2017-05-22 07:26:56.562861", "domains": "compute", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc010"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC011 config file; Measure packet delay variation (jitter) using iperf3.\n", "ci_loop": "daily", "tags": "iperf3", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc011.html", "_id": "592292c1356833000a195191", "catalog_description": "network: performance latency (iperf)", "creation_date": "2017-05-22 07:26:57.673084", "domains": "network", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc011"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC012 config file; Measure memory read and write bandwidth using lmbench.\n", "ci_loop": "daily", "tags": "lmbench", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc012.html", "_id": "592292c2356833000a195192", "catalog_description": "compute: memory bandwith (lmbench)", "creation_date": "2017-05-22 07:26:58.871685", "domains": "compute", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc012"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC014 config file; Measure Processing speed using unixbench.\n", "ci_loop": "daily", "tags": "unixbench", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc014.html", "_id": "592292c4356833000a195193", "catalog_description": "compute: processing speed (unixbench)", "creation_date": "2017-05-22 07:27:00.007018", "domains": "compute", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc014"}, {"project_name": "yardstick", "run": null, "description": "Sample test case for the HA of controller node Openstack service.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc019.html", "_id": "592292c5356833000a195194", "catalog_description": "HA: nova-api service down", "creation_date": "2017-05-22 07:27:01.147332", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc019"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC020 config file.\n", "ci_loop": "daily", "tags": "vtc_instantiation_validation", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc020.html", "_id": "592292c6356833000a195195", "catalog_description": "vtc instantiation", "creation_date": "2017-05-22 07:27:02.271192", "domains": "vtc", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc020"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC021 config file.\n", "ci_loop": "daily", "tags": "vtc_instantiation_validation_noisy", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc021.html", "_id": "592292c7356833000a195196", "catalog_description": "vtc instantiation (Noisy neighbours)", "creation_date": "2017-05-22 07:27:03.420740", "domains": "vtc", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc021"}, {"project_name": "yardstick", "run": null, "description": "Sample test case for the HA of OpenStack Controll Node abnormally shutdown.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc025.html", "_id": "592292c8356833000a195197", "catalog_description": "HA: controller node shutdown", "creation_date": "2017-05-22 07:27:04.577080", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc025"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC027 config file; Measure IPV6 network latency using ping6.\n", "ci_loop": "daily", "tags": "ping6", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc027.html", "_id": "592292c9356833000a195198", "catalog_description": "network: IPv6 latency", "creation_date": "2017-05-22 07:27:05.736814", "domains": "ipv6", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc027"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC037 config file; Measure network throughput and packet loss using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 2 times each. First 2 times with the least amount of ports, then 2 times with the next amount of ports, and so on until all packet sizes have been run with; During the measurements system load and network latency are recorded/measured using ping and mpstat, respectively;\n", "ci_loop": "daily", "tags": "cpuload,ping,oktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc037.html", "_id": "592292ca356833000a195199", "catalog_description": "network: throughput and packet loss extended (cpu&ping load)", "creation_date": "2017-05-22 07:27:06.875236", "domains": "network,compute", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc037"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC038 config file; Measure network throughput and packet loss using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 10 times each. First 10 times with the least amount of ports, then 10 times with the next amount of ports, and so on until all packet sizes have been run with; During the measurements system load and network latency are recorded/measured using ping and mpstat, respectively;\n", "ci_loop": "daily", "tags": "cpuload,ping,pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc038.html", "_id": "592292cb356833000a19519a", "catalog_description": "network: throughput packet loss (cpu&ping load)", "creation_date": "2017-05-22 07:27:07.988262", "domains": "network,compute", "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc038"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC040 config file; Running Parser Yang-to-Tosca module as a tool, validating output against expected outcome.\n", "ci_loop": "daily", "tags": "parser", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc040.html", "_id": "592292cd356833000a19519b", "catalog_description": "Parser Yang Tosca", "creation_date": "2017-05-22 07:27:09.104621", "domains": null, "dependencies": null, "version": ">brahmaputra.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc040"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC042 config file; Measure network latency using testpmd and pktgen-dpdk.\n", "ci_loop": "daily", "tags": "pktgenDPDKLatency", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc042.html", "_id": "592292ce356833000a19519c", "catalog_description": "network: throughput latency (dpdk-pktgen)", "creation_date": "2017-05-22 07:27:10.207188", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc042"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC043 config file; Measure latency between NFVI nodes using ping.\n", "ci_loop": "daily", "tags": "ping", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc043.html", "_id": "592292cf356833000a19519d", "catalog_description": "network: node throughput latency(ping)", "creation_date": "2017-05-22 07:27:11.286317", "domains": "network", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc043"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC045 :Control node Openstack service down - neutron server.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc045.html", "_id": "592292d0356833000a19519e", "catalog_description": "HA: neutron-server service down", "creation_date": "2017-05-22 07:27:12.399327", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc045"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC046 :Control node Openstack service down - keystone.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc046.html", "_id": "592292d1356833000a19519f", "catalog_description": "HA: keystone service down", "creation_date": "2017-05-22 07:27:13.502066", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc046"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC047 :Control node Openstack service down - glance api.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc047.html", "_id": "592292d2356833000a1951a0", "catalog_description": "HA: glance-api service down", "creation_date": "2017-05-22 07:27:14.610834", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc047"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC048 :Control node Openstack service down - cinder api.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc048.html", "_id": "592292d3356833000a1951a1", "catalog_description": "HA: cinder-api service down", "creation_date": "2017-05-22 07:27:15.751416", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc048"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC049 :Control node Openstack service down - swift proxy.\n", "ci_loop": "daily", "tags": "serviceHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc049.html", "_id": "592292d4356833000a1951a2", "catalog_description": "HA: swift proxy service down", "creation_date": "2017-05-22 07:27:16.859383", "domains": "ha", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc049"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC050 :OpenStack Controller Node Network High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc050.html", "_id": "592292d6356833000a1951a3", "catalog_description": "HA: network interface down", "creation_date": "2017-05-22 07:27:18.014215", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc050"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC051 :OpenStack Controller Node CPU Overload High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc051.html", "_id": "592292d7356833000a1951a4", "catalog_description": "HA: CPU overload", "creation_date": "2017-05-22 07:27:19.124525", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc051"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC052 :OpenStack Controller Node Disk I/O Block High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc052.html", "_id": "592292d8356833000a1951a5", "catalog_description": "HA: disk I/O block", "creation_date": "2017-05-22 07:27:20.288709", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc052"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC053 :Openstack Controller Load Balance Service High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc053.html", "_id": "592292de356833000a1951a6", "catalog_description": "HA: load balancer service down", "creation_date": "2017-05-22 07:27:26.504630", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc053"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC054 :OpenStack VIP Master Node abnormally shutdown High Availability; This test case is written by new scenario-based HA testing framework.\n", "ci_loop": "daily", "tags": "GeneralHA", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc054.html", "_id": "592292df356833000a1951a7", "catalog_description": "HA: virtual IP node shutdown", "creation_date": "2017-05-22 07:27:27.763354", "domains": null, "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc054"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC055 config file; Collect hardware specification from /proc/cpuinfo /proc/meminfo; compute capacity and scale. the results have, number of CPUs, number of physical cores in a single CPU; number of logical cores, total memory size; cache size per CPU, total cache size; HT (Hyper-Thread) support status, 1 for open, 0 for close.\n", "ci_loop": "daily", "tags": "computeCapacity", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc055.html", "_id": "592292e1356833000a1951a8", "catalog_description": "compute: cpu & memory_specification", "creation_date": "2017-05-22 07:27:29.032130", "domains": "compute", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc055"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC063 config file; Measure disk size, block size and disk utilization using fdisk and iostat.\n", "ci_loop": "daily", "tags": "storageCapacity", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc063.html", "_id": "592292e2356833000a1951a9", "catalog_description": "storage: disk size&utilization", "creation_date": "2017-05-22 07:27:30.302236", "domains": "storage", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc063"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC069 config file; Measure memory read and write bandwidth using ramspeed.\n", "ci_loop": "daily", "tags": "ramspeed", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc069.html", "_id": "592292e3356833000a1951aa", "catalog_description": "compute: memory bandwith(ramspeed)", "creation_date": "2017-05-22 07:27:31.542189", "domains": "compute", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc069"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC070 config file; Measure network throughput and packet loss using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 2 times each. First 2 times with the least amount of ports, then 2 times with the next amount of ports, and so on until all packet sizes have been run with; During the measurements memory usage statistics and network latency are recorded/measured using free and ping, respectively;\n", "ci_loop": "daily", "tags": "memoryload,ping,pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc070.html", "_id": "592292e4356833000a1951ab", "catalog_description": "network: throughput packet loss (memory&ping load)", "creation_date": "2017-05-22 07:27:32.747354", "domains": "network,storage", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc070"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC071 config file; Measure cache hit/miss ratio and usage, network throughput and latency; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 2 times each. First 2 times with the least amount of ports, then 2 times with the next amount of ports, and so on until all packet sizes have been run with; During the measurements cache hit/miss ration, cache usage statistics and network latency are recorded/measured using cachestat and ping, respectively;\n", "ci_loop": "daily", "tags": "cachestat,ping,pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc071.html", "_id": "592292e5356833000a1951ac", "catalog_description": "compute: cache hit&network throughput latency", "creation_date": "2017-05-22 07:27:33.957092", "domains": "network,storage", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc071"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC072 config file; Measure network throughput and packet loss using pktgen; Different amounts of flows are tested with, from 2 up to 1001000; All tests are run 2 times each. First 2 times with the least amount of ports, then 2 times with the next amount of ports, and so on until all packet sizes have been run with; During the measurements network usage statistics and network latency are recorded/measured using sar and ping, respectively;\n", "ci_loop": "daily", "tags": "netutilization,ping,pktgen", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc072.html", "_id": "592292e7356833000a1951ad", "catalog_description": "network: throughput(netutilization&pktgen load)", "creation_date": "2017-05-22 07:27:35.175762", "domains": "network,storage", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc072"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC073 config file; measure network latency and throughput using netperf; There are two sample scenarios: bulk test and request/response test; In bulk test, UDP_STREAM and TCP_STREAM can be used; send_msg_size and recv_msg_size are options of bulk test; In req/rsp test, TCP_RR TCP_CRR UDP_RR can be used; req_rsp_size is option of req/rsp test;\n", "ci_loop": "daily", "tags": "netperfnode", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc073.html", "_id": "592292e8356833000a1951ae", "catalog_description": "network: node throughput(netperf)", "creation_date": "2017-05-22 07:27:36.466462", "domains": "network", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc073"}, {"project_name": "yardstick", "run": null, "description": "Test case for TC074 StorPerf benchmark task config file; StorPerf is a tool to measure block and object storage performance in an NFVI.\n", "ci_loop": "daily", "tags": "storperf", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc074.html", "_id": "592292e9356833000a1951af", "catalog_description": "storage: storperf integration", "creation_date": "2017-05-22 07:27:37.665283", "domains": "storage", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc074"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC075 config file; Measure network capacity and scale. Measure number of connections, number of frames received;\n", "ci_loop": "daily", "tags": "networkCapacity", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc075.html", "_id": "592292ea356833000a1951b0", "catalog_description": "network: capacity connections number", "creation_date": "2017-05-22 07:27:38.857919", "domains": "network", "dependencies": null, "version": ">colorado.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc075"}, {"project_name": "yardstick", "run": null, "description": "Yardstick TC076 config file; Monitor network metrics provided by the kernel in a host and calculate IP datagram error rate, ICMP message error rate, TCP segment error rate and UDP datagram error rate.", "ci_loop": "daily", "tags": "ping,nstat", "url": "http://artifacts.opnfv.org/yardstick/docs/userguide/opnfv_yardstick_tc076.html", "_id": "592292ec356833000a1951b1", "catalog_description": "network: metrics (ping nstat)", "creation_date": "2017-05-22 07:27:40.163423", "domains": "network", "dependencies": null, "version": ">danube.1.0", "criteria": null, "tier": null, "trust": "silver", "blocking": null, "name": "opnfv_yardstick_tc076"}]}
+{"testcases": [{"project_name": "barometer", "run": "", "description": "barometercollectd testcase", "ci_loop": "", "tags": "", "url": "", "_id": "58a2e30e584d06000b0157d3", "catalog_description": null, "creation_date": "2017-02-14 10:59:26.396742", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "barometercollectd"}]}
+{"testcases": [{"project_name": "OpenRetriever", "run": null, "description": "The test cases about Container is integrated into NFV", "ci_loop": null, "tags": null, "url": "https://wiki.opnfv.org/display/OpenRetriever/Test+Strategy", "_id": "5923e51578a2ad000ae6a140", "catalog_description": null, "creation_date": "2017-05-23 07:30:29.840213", "domains": null, "dependencies": null, "version": null, "criteria": null, "tier": null, "trust": null, "blocking": null, "name": "OpenRetriever Test Cases"}, {"project_name": "OpenRetriever", "run": "", "description": "", "ci_loop": "", "tags": "kubernetes,container", "url": "https://wiki.opnfv.org/display/OpenRetriever/Test+Strategy", "_id": "5923fb0b78a2ad000ae6a143", "catalog_description": "", "creation_date": "2017-05-23 09:04:11.498178", "domains": "", "dependencies": "", "version": ">danube", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "e2e"}]}
+{"testcases": [{"project_name": "ovn4nfv", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "592887af78a2ad000ae6a65f", "catalog_description": "", "creation_date": "2017-05-26 19:53:19.223720", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "connection_check"}, {"project_name": "ovn4nfv", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "592887ce78a2ad000ae6a660", "catalog_description": "", "creation_date": "2017-05-26 19:53:50.130441", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "api_check"}, {"project_name": "ovn4nfv", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "592887e578a2ad000ae6a661", "catalog_description": "", "creation_date": "2017-05-26 19:54:13.939149", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "vping_ssh"}, {"project_name": "ovn4nfv", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "592887ef78a2ad000ae6a662", "catalog_description": "", "creation_date": "2017-05-26 19:54:23.764427", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "vping_userdata"}]}
+{"testcases": [{"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928a9bb78a2ad000ae6a6c8", "catalog_description": "", "creation_date": "2017-05-26 22:18:35.709812", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "connection_check"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928aa4178a2ad000ae6a6ca", "catalog_description": "", "creation_date": "2017-05-26 22:20:49.183239", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "api_check"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928aa6578a2ad000ae6a6cb", "catalog_description": "", "creation_date": "2017-05-26 22:21:25.440080", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "snaps_health_check"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928aad478a2ad000ae6a6cc", "catalog_description": "", "creation_date": "2017-05-26 22:23:16.642815", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "vping_ssh"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928ab1878a2ad000ae6a6ce", "catalog_description": "", "creation_date": "2017-05-26 22:24:24.418194", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "vping_userdata"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928ab7a78a2ad000ae6a6d1", "catalog_description": "", "creation_date": "2017-05-26 22:26:02.619234", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "tempest_smoke_serial"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928abc878a2ad000ae6a6d2", "catalog_description": "", "creation_date": "2017-05-26 22:27:20.130387", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "rally_sanity"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928ac0878a2ad000ae6a6d3", "catalog_description": "", "creation_date": "2017-05-26 22:28:24.564141", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "refstack_defcore"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928ac2c78a2ad000ae6a6d4", "catalog_description": "", "creation_date": "2017-05-26 22:29:00.953556", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "onos"}, {"project_name": "onosfw", "run": "", "description": "", "ci_loop": "", "tags": "", "url": "", "_id": "5928ac5d78a2ad000ae6a6d5", "catalog_description": "", "creation_date": "2017-05-26 22:29:49.322376", "domains": "", "dependencies": "", "version": "", "criteria": "", "tier": "", "trust": null, "blocking": "", "name": "snaps_smoke"}]}
+{"testcases": [{"project_name": "vina", "run": null, "description": "Verify that credentials to access OpenStack environment are valid", "ci_loop": "daily", "tags": "networking, vina, openstack, fuel", "url": null, "_id": "592be78d78a2ad000ae6aad8", "catalog_description": null, "creation_date": "2017-05-29 09:19:09.076114", "domains": "networking", "dependencies": {"installer": "fuel", "scenario": "vina-setup"}, "version": ">euphrates", "criteria": null, "tier": "smoke", "trust": null, "blocking": false, "name": "openstack_integrity"}]}
diff --git a/docker/db/get_db_schema.py b/docker/db/get_db_schema.py
new file mode 100644
index 0000000..1106355
--- /dev/null
+++ b/docker/db/get_db_schema.py
@@ -0,0 +1,61 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import requests
+import json
+
+
+source_url = 'http://116.66.187.136:9999/api/v1'
+
+
+def get(url):
+ try:
+ ret = requests.get(url)
+ return ret.json()
+ except:
+ return None
+
+
+def pod():
+ source = '{}/pods'.format(source_url)
+ try:
+ pods = get(source)['pods']
+ with open("pods.json", "w") as f:
+ f.write(json.dumps(pods, indent=4))
+ except:
+ return
+
+
+def project():
+ source = '{}/projects'.format(source_url)
+
+ try:
+ projects = get(source)['projects']
+ with open("projects.json", "w") as f:
+ f.write(json.dumps(projects, indent=4))
+ except:
+ return
+
+ for p in projects:
+ source = '{}/projects/{}/cases'.format(source_url, p['name'])
+ print(p['name'])
+ print(source)
+ try:
+ cases = get(source)
+ with open("cases.json", "a+") as f:
+ f.write(json.dumps(cases))
+ f.write('\n')
+ f.close()
+ except:
+ print("useless data")
+
+
+if __name__ == '__main__':
+ pod()
+ project()
diff --git a/docker/db/init_db.py b/docker/db/init_db.py
new file mode 100644
index 0000000..2aac6fc
--- /dev/null
+++ b/docker/db/init_db.py
@@ -0,0 +1,90 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import requests
+import json
+import sys
+
+db_host_ip = sys.argv[1]
+testapi_port = sys.argv[2]
+
+target_url = 'http://{}:{}/api/v1'.format(db_host_ip, testapi_port)
+print(target_url)
+
+
+def get(url):
+ return requests.get(url).json()
+
+
+def post(url, data):
+ headers = {'Content-Type': 'application/json'}
+ res = requests.post(url, data=json.dumps(data), headers=headers)
+ print(res.text)
+
+
+def pod():
+ target = '{}/pods'.format(target_url)
+
+ with open('pods.json', 'r') as f:
+ pods = json.load(f)
+ for p in pods:
+ post(target, p)
+
+ add_pod('master', 'metal')
+ add_pod('virtual_136_2', 'virtual')
+
+
+def project():
+ target = '{}/projects'.format(target_url)
+ with open('projects.json', 'r') as f:
+ projects = json.load(f)
+ for p in projects:
+ post(target, p)
+
+
+def cases():
+ with open('cases.json', 'r') as f:
+ for line in f:
+ try:
+ cases = json.loads(line)
+ for c in cases["testcases"]:
+ target = '{}/projects/{}/cases'.format(target_url,
+ c['project_name'])
+ print(target)
+ post(target, c)
+ except:
+ print("useless data")
+ add_case("functest", "tempest_custom")
+
+
+def add_pod(name, mode):
+ data = {
+ "role": "",
+ "name": name,
+ "details": '',
+ "mode": mode,
+ "creation_date": "2017-2-23 11:23:03.765581"
+ }
+ pod_url = '{}/pods'.format(target_url)
+ post(pod_url, data)
+
+
+def add_case(project, case):
+ data = {
+ "project_name": project,
+ "name": case,
+ }
+ case_url = '{}/projects/{}/cases'.format(target_url, project)
+ post(case_url, data)
+
+
+if __name__ == '__main__':
+ pod()
+ project()
+ cases()
diff --git a/docker/db/init_dovetail.py b/docker/db/init_dovetail.py
new file mode 100644
index 0000000..6d066cb
--- /dev/null
+++ b/docker/db/init_dovetail.py
@@ -0,0 +1,59 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+import requests
+import datetime
+import json
+import yaml
+import sys
+
+base_url = sys.argv[1]
+headers = {'Content-Type': 'application/json'}
+
+
+def create_project():
+
+ name = 'dovetail'
+ s = '2015-10-14 06:56:09'
+ time = datetime.datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
+
+ data = {
+ 'name': name,
+ 'creation_date': str(time),
+ 'description': ''
+ }
+
+ url = '{}/projects'.format(base_url)
+ requests.post(url, data=json.dumps(data), headers=headers)
+
+
+def dovetail():
+ with open('../../compliance/proposed_tests.yml') as f:
+ data = yaml.safe_load(f)['proposed_tests']['testcases_list']
+
+ url = '{}/projects/dovetail/cases'.format(base_url)
+ for case in data:
+ c = {
+ 'ci_loop': 'daily',
+ 'description': 'dovetail',
+ 'name': case,
+ 'project_name': 'dovetail',
+ 'trust': 'gold',
+ 'url': '',
+ 'version': 'master',
+ 'domains': 'master',
+ 'tags': 'dovetail'
+ }
+ requests.post(url, data=json.dumps(c), headers=headers)
+
+
+if __name__ == '__main__':
+ create_project()
+ dovetail()
diff --git a/docker/db/launch_db.sh b/docker/db/launch_db.sh
new file mode 100755
index 0000000..b3398e5
--- /dev/null
+++ b/docker/db/launch_db.sh
@@ -0,0 +1,124 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+if [ "$#" -ne 2 ]; then
+ echo "Error: missing parameter! try again like this:"
+ echo ""
+ echo "./launch_db.sh 192.168.115.2 http://116.66.187.136:9999"
+ echo ""
+ echo "parameters:"
+ echo " host_ip: your localhost ip address "
+ echo " base_url: your public url for website"
+ echo ""
+ exit 1
+fi
+
+export mongodb_port=${mongodb_port:-"27017"}
+export testapi_port=${testapi_port:-"8010"}
+export db_host_ip=${db_host_ip:-"$1"}
+export base_url=${base_url:-"$2"}
+
+
+set -e
+
+echo "==================="
+echo "Create the mongodb."
+echo "==================="
+
+set +e
+# pull image mongo:3.2.1
+mongodb_img="mongo:3.2.1"
+echo "Step1: pull the image $mongodb_img."
+sudo docker pull $mongodb_img
+set -e
+
+container_name='mongodb'
+
+echo "Step2: remove the exist container with the same name '$container_name' if exists."
+sudo docker ps -a -f "name=${container_name}"
+
+if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
+ sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
+fi
+
+# run mongodb container
+echo "Step3: run ${container_name} container."
+cmd="sudo docker run -itd -p ${mongodb_port}:27017 -v /home/testapi/mongo:/data/db --name ${container_name} ${mongodb_img}"
+echo $cmd
+${cmd}
+
+echo "Successfully create mongo DB."
+
+
+echo "=========================="
+echo "Create the testapi service."
+echo "=========================="
+
+set +e
+testapi_img="opnfv/testapi:cvp.0.5.0"
+echo "Step1: pull the image $testapi_img."
+sudo docker pull $testapi_img
+set -e
+
+container_name='testapi'
+
+echo "Step2: remove the exist container with the same name '$container_name' if exists."
+sudo docker ps -a -f "name=${container_name}"
+
+if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
+ sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
+fi
+
+# run testapi container
+echo "Step3: run ${container_name} container."
+cmd="sudo docker run -itd -p 8010:8010 --name ${container_name} -v /home/testapi/logs:/home/testapi/logs -e mongodb_url=mongodb://${db_host_ip}:${mongodb_port}/ -e base_url=${base_url} ${testapi_img}"
+echo $cmd
+${cmd}
+
+echo "Wait for testapi to work..."
+sleep 10
+
+set +e
+web_img="opnfv/dovetail:web.cvp.0.6.0"
+echo "Step1: pull the image $web_img."
+sudo docker pull $web_img
+set -e
+
+container_name='web_cvp'
+
+echo "Step2: remove the exist container with the same name '$container_name' if exists."
+sudo docker ps -a -f "name=${container_name}"
+
+if [[ ! -z $(sudo docker ps -aq -f "name=${container_name}") ]]; then
+ sudo docker ps -aq -f "name=${container_name}" | xargs sudo docker rm -f
+fi
+
+# run web container
+echo "Step3: run ${container_name} container."
+cmd="sudo docker run -itd -p 8000:8000 -v /home/testapi/logs:/home/testapi/logs --name ${container_name} -e testapi_url=${db_host_ip}:8010 ${web_img}"
+echo $cmd
+${cmd}
+
+echo "================================="
+echo "Upload default project info to DB"
+echo "================================="
+
+echo "Init DB info..."
+cmd="python ./init_db.py ${db_host_ip} 8010"
+echo $cmd
+${cmd}
+
+echo "Init dovetail testcase"
+cmd="python ./init_dovetail.py ${base_url}/api/v1"
+echo $cmd
+${cmd}
+
+echo "Successfully load DB info."
+
diff --git a/docker/db/pods.json b/docker/db/pods.json
new file mode 100644
index 0000000..3cd1dad
--- /dev/null
+++ b/docker/db/pods.json
@@ -0,0 +1,382 @@
+[
+ {
+ "name": "lf-pod2",
+ "creation_date": "2015-01-01 08:00:00.476549",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "5617f98e514bc5355b51f6b5",
+ "details": ""
+ },
+ {
+ "name": "lf-pod1",
+ "creation_date": "2015-01-01 08:00:00.476549",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "5617fa5a514bc5355b51f6b6",
+ "details": ""
+ },
+ {
+ "name": "orange-pod2",
+ "creation_date": "2015-10-27 15:27:30.312012",
+ "role": "",
+ "mode": "metal",
+ "_id": "562f97e2514bc5174d053d38",
+ "details": "https://wiki.opnfv.org/opnfv-orange"
+ },
+ {
+ "name": "unknown-pod",
+ "creation_date": "2015-11-30 08:55:02.550465",
+ "role": "",
+ "mode": "undefined",
+ "_id": "565c0ee6514bc5087f2ddcf7",
+ "details": null
+ },
+ {
+ "name": "huawei-pod1",
+ "creation_date": "",
+ "role": "",
+ "mode": "metal",
+ "_id": "566fea58514bc5068a345d4b",
+ "details": ""
+ },
+ {
+ "name": "intel-pod5",
+ "creation_date": "2015-12-15 10:24:53.476549",
+ "role": "",
+ "mode": "metal",
+ "_id": "566fea75514bc5068a345d4c",
+ "details": null
+ },
+ {
+ "name": "intel-pod3",
+ "creation_date": "2015-12-21 17:38:31.435593",
+ "role": "",
+ "mode": "metal",
+ "_id": "56783917514bc5068a345d97",
+ "details": null
+ },
+ {
+ "name": "ericsson-pod1",
+ "creation_date": "2015-12-22 07:21:03.765581",
+ "role": "",
+ "mode": "metal",
+ "_id": "5678f9df514bc5068a345d98",
+ "details": null
+ },
+ {
+ "name": "ericsson-pod2",
+ "creation_date": "2015-12-22 07:21:18.173966",
+ "role": "",
+ "mode": "metal",
+ "_id": "5678f9ee514bc5068a345d99",
+ "details": null
+ },
+ {
+ "name": "dell-us-testing-bm-1",
+ "creation_date": "2016-01-08 12:41:54.097114",
+ "role": "",
+ "mode": "metal",
+ "_id": "568fae92514bc5068a60e7d2",
+ "details": null
+ },
+ {
+ "name": "dell-us-deploying-bm-3",
+ "creation_date": "2016-01-08 14:13:16.740415",
+ "role": "",
+ "mode": null,
+ "_id": "568fc3fc514bc5068a60e7d4",
+ "details": null
+ },
+ {
+ "name": "dell-us-deploying-bm-2",
+ "creation_date": "2016-01-08 14:15:54.037500",
+ "role": "",
+ "mode": null,
+ "_id": "568fc49a514bc5068a60e7d5",
+ "details": null
+ },
+ {
+ "name": "dell-us-deploying-bm3",
+ "creation_date": "2016-01-15 12:14:20.956198",
+ "role": "",
+ "mode": "metal",
+ "_id": "5698e29c514bc56e65a47bc8",
+ "details": null
+ },
+ {
+ "name": "intel-pod6",
+ "creation_date": "2016-01-22 13:32:18.767326",
+ "role": "",
+ "mode": "metal",
+ "_id": "56a22f62514bc541f885b2c0",
+ "details": null
+ },
+ {
+ "name": "huawei-virtual2",
+ "creation_date": "",
+ "role": "",
+ "mode": "virtual",
+ "_id": "56a9d7ac851d7e6a0f74930d",
+ "details": ""
+ },
+ {
+ "name": "huawei-virtual1",
+ "creation_date": "",
+ "role": "",
+ "mode": "virtual",
+ "_id": "56a9f411851d7e6a0f749313",
+ "details": ""
+ },
+ {
+ "name": "huawei-virtual3",
+ "creation_date": "",
+ "role": "",
+ "mode": "virtual",
+ "_id": "56e67ba6851d7e4b188676bc",
+ "details": ""
+ },
+ {
+ "name": "huawei-virtual4",
+ "creation_date": "",
+ "role": "",
+ "mode": "virtual",
+ "_id": "56e67bb6851d7e4b188676bd",
+ "details": ""
+ },
+ {
+ "name": "intel-pod8",
+ "creation_date": "2016-03-14 08:52:47.576623",
+ "role": "",
+ "mode": "metal",
+ "_id": "56e67bdf851d7e4b188676be",
+ "details": null
+ },
+ {
+ "name": "intel-pod7",
+ "creation_date": "2016-03-14 08:53:00.757525",
+ "role": "",
+ "mode": "metal",
+ "_id": "56e67bec851d7e4b188676c0",
+ "details": null
+ },
+ {
+ "name": "huawei-pod2",
+ "creation_date": "",
+ "role": "",
+ "mode": "metal",
+ "_id": "56e67c35851d7e4b188676c1",
+ "details": ""
+ },
+ {
+ "name": "ericsson-virtual1",
+ "creation_date": "2016-03-14 08:58:06.432105",
+ "role": "",
+ "mode": "virtual",
+ "_id": "56e67d1e851d7e4b188676c2",
+ "details": null
+ },
+ {
+ "name": "arm-pod1",
+ "creation_date": "2016-05-05 09:18:54.879497",
+ "role": "",
+ "mode": "metal",
+ "_id": "572b0ffe9377c51472b7878f",
+ "details": null
+ },
+ {
+ "name": "zte-pod1",
+ "creation_date": "2016-05-12 03:36:56.091397",
+ "role": "",
+ "mode": "metal",
+ "_id": "5733fa589377c548e8df3834",
+ "details": null
+ },
+ {
+ "name": "intel-virtual1",
+ "creation_date": "2016-08-23 17:22:30.901081",
+ "role": null,
+ "mode": "virtual",
+ "_id": "57bc86561d2c6e000ab19d93",
+ "details": null
+ },
+ {
+ "name": "intel-virtual2",
+ "creation_date": "2016-08-23 17:24:23.143681",
+ "role": null,
+ "mode": "virtual",
+ "_id": "57bc86c71d2c6e000ab19d94",
+ "details": null
+ },
+ {
+ "name": "zte-pod2",
+ "creation_date": "2016-09-06 09:49:20.228736",
+ "role": "",
+ "mode": "metal",
+ "_id": "57ce91201d2c6e000ab1c261",
+ "details": ""
+ },
+ {
+ "name": "zte-pod3",
+ "creation_date": "2016-09-06 09:49:26.019816",
+ "role": "",
+ "mode": "metal",
+ "_id": "57ce91261d2c6e000ab1c263",
+ "details": ""
+ },
+ {
+ "name": "arm-pod3",
+ "creation_date": "2016-09-12 09:47:50.791351",
+ "role": "",
+ "mode": "metal",
+ "_id": "57d679c61d2c6e000ab1d6bd",
+ "details": "ARM POD3"
+ },
+ {
+ "name": "cisco-pod1",
+ "creation_date": "2016-09-13 13:01:21.906958",
+ "role": "Community lab",
+ "mode": "metal",
+ "_id": "57d7f8a11d2c6e000ab1db88",
+ "details": "not yet declared in CI but needed to validate vpp scenarios for Colorado"
+ },
+ {
+ "name": "ool-virtual1",
+ "creation_date": "2016-09-19 12:43:50.313032",
+ "role": "",
+ "mode": "virtual",
+ "_id": "57dfdd861d2c6e000ab1f37b",
+ "details": "Okinawa lab"
+ },
+ {
+ "name": "ericsson-pod3",
+ "creation_date": "2016-09-26 09:45:40.565795",
+ "role": "",
+ "mode": "metal",
+ "_id": "57e8ee441d2c6e000ab20fa9",
+ "details": ""
+ },
+ {
+ "name": "ericsson-pod4",
+ "creation_date": "2016-09-26 09:45:48.980198",
+ "role": "",
+ "mode": "metal",
+ "_id": "57e8ee4c1d2c6e000ab20faa",
+ "details": ""
+ },
+ {
+ "name": "ericsson-virtual2",
+ "creation_date": "2016-09-26 09:46:05.508776",
+ "role": "",
+ "mode": "virtual",
+ "_id": "57e8ee5d1d2c6e000ab20fac",
+ "details": ""
+ },
+ {
+ "name": "ericsson-virtual3",
+ "creation_date": "2016-09-26 09:46:10.244443",
+ "role": "",
+ "mode": "virtual",
+ "_id": "57e8ee621d2c6e000ab20fad",
+ "details": ""
+ },
+ {
+ "name": "ericsson-virtual4",
+ "creation_date": "2016-09-26 09:46:14.734383",
+ "role": "",
+ "mode": "virtual",
+ "_id": "57e8ee661d2c6e000ab20fae",
+ "details": ""
+ },
+ {
+ "name": "ericsson-virtual5",
+ "creation_date": "2016-09-26 09:46:19.477110",
+ "role": "",
+ "mode": "virtual",
+ "_id": "57e8ee6b1d2c6e000ab20faf",
+ "details": ""
+ },
+ {
+ "name": "intel-pod9",
+ "creation_date": "2016-11-23 14:07:35.963037",
+ "role": "",
+ "mode": "metal",
+ "_id": "5835a2a71d2c6e000ab2bb4b",
+ "details": "https://wiki.opnfv.org/display/pharos/Intel+Pod9"
+ },
+ {
+ "name": "huawei-pod3",
+ "creation_date": "2017-01-17 13:36:03.908341",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "587e1dc38cf551000c780eda",
+ "details": ""
+ },
+ {
+ "name": "huawei-pod4",
+ "creation_date": "2017-01-17 13:36:10.759860",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "587e1dca8cf551000c780edb",
+ "details": ""
+ },
+ {
+ "name": "huawei-pod5",
+ "creation_date": "2017-01-17 13:36:15.447849",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "587e1dcf8cf551000c780edc",
+ "details": ""
+ },
+ {
+ "name": "huawei-pod6",
+ "creation_date": "2017-01-18 10:53:10.586724",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "587f49168cf551000c780f5e",
+ "details": ""
+ },
+ {
+ "name": "huawei-pod7",
+ "creation_date": "2017-01-18 10:53:15.373953",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "587f491b8cf551000c780f5f",
+ "details": ""
+ },
+ {
+ "name": "huawei-pod12",
+ "creation_date": "2017-02-09 07:22:46.425836",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "589c18c68cf551000c7820e8",
+ "details": ""
+ },
+ {
+ "name": "intel-pod12",
+ "creation_date": "2017-05-17 14:11:18.852731",
+ "role": "production-ci",
+ "details": "performance",
+ "query": "<function query at 0x7f574c29c500>",
+ "mode": "metal",
+ "_id": "591c5a06ee2e3f000a50f0b4",
+ "miss_fields": [
+ "name"
+ ]
+ },
+ {
+ "name": "cisco-vina-pod10",
+ "creation_date": "2017-05-29 09:13:20.818497",
+ "role": "production-ci",
+ "mode": "metal",
+ "_id": "592be63078a2ad000ae6aad7",
+ "details": ""
+ },
+ {
+ "name": "zte-virtual1",
+ "creation_date": "2017-05-30 14:11:04.264967",
+ "role": "",
+ "mode": "baremetal",
+ "_id": "592d7d7878a2ad000ae6ac49",
+ "details": ""
+ }
+] \ No newline at end of file
diff --git a/docker/db/projects.json b/docker/db/projects.json
new file mode 100644
index 0000000..d034b80
--- /dev/null
+++ b/docker/db/projects.json
@@ -0,0 +1,218 @@
+[
+ {
+ "_id": "561dfc89514bc5355b51f6c6",
+ "description": "Project functest aims to run suites of functional tests at the end of an OPNFV fresh install. These suites consist in functional tests on the main components of the solution (VIM, SDN controllers). It thus includes several upstream suites from upstream projects.",
+ "name": "functest",
+ "creation_date": "2015-10-14 06:56:09.317134"
+ },
+ {
+ "_id": "5641e12d514bc5174df3d77e",
+ "description": "OPNFV vsperf project",
+ "name": "vsperf",
+ "creation_date": "2015-11-10 12:21:01.464979"
+ },
+ {
+ "_id": "56582fae514bc5087f2ddce9",
+ "description": "Promise is resource reservation and management project to identify NFV related requirements and realize resource reservation for future usage by capacity management of resource pools regarding compute, network and storage. ",
+ "name": "promise",
+ "creation_date": "2015-11-27 10:25:50.539634"
+ },
+ {
+ "_id": "565c5939514bc5087f2ddcfa",
+ "description": "The project aims to integrate the OpenStack Neutron BGPVPN project and its supported backends into the OPNFV reference platform.",
+ "name": "sdnvpn",
+ "creation_date": "2015-11-30 14:12:09.101020"
+ },
+ {
+ "_id": "565c7181514bc5087f2ddcfb",
+ "description": "Service Function Chaining provides the ability to define an ordered list of a network services (e.g. firewalls, NAT, QoS).",
+ "name": "sfc",
+ "creation_date": "2015-11-30 15:55:45.932846"
+ },
+ {
+ "_id": "565d5fa2514bc5087f2ddd05",
+ "description": "High availability for OPNFV",
+ "name": "ha",
+ "creation_date": "2015-12-01 08:51:46.011622"
+ },
+ {
+ "_id": "565d606c514bc5087f2ddd06",
+ "description": "IPv6-enabled OPNFV",
+ "name": "ipvsix",
+ "creation_date": "2015-12-01 08:55:08.824385"
+ },
+ {
+ "_id": "565d60f7514bc5087f2ddd07",
+ "description": "OpenStack based VNF Forwarding Graph",
+ "name": "vnfgraph",
+ "creation_date": "2015-12-01 08:57:27.378992"
+ },
+ {
+ "_id": "565d6398514bc5087f2ddd08",
+ "description": "NFV hypervisors - kvm",
+ "name": "kvmfornfv",
+ "creation_date": "2015-12-01 09:08:40.006837"
+ },
+ {
+ "_id": "565d63f9514bc5087f2ddd09",
+ "description": "Open vSwitch for NFV",
+ "name": "ovsnfv",
+ "creation_date": "2015-12-01 09:10:17.341894"
+ },
+ {
+ "_id": "565d646f514bc5087f2ddd0a",
+ "description": "ARMband project",
+ "name": "armband",
+ "creation_date": "2015-12-01 09:12:15.681896"
+ },
+ {
+ "_id": "565d97be514bc5087f2ddd11",
+ "description": "Project Copper aims to help ensure that virtualized infrastructure deployments comply with goals of the VNF designer/user, e.g. re affinity and partitioning (e.g. per regulation, control/user plane separation, cost\u2026).",
+ "name": "copper",
+ "creation_date": "2015-12-01 12:51:10.776433"
+ },
+ {
+ "_id": "565d9f0f514bc5087f2ddd1d",
+ "description": "Doctor is fault management and maintenance project to develop and realize the consequent implementation for the OPNFV reference platform.",
+ "name": "doctor",
+ "creation_date": "2015-12-01 13:22:23.294997"
+ },
+ {
+ "_id": "565da033514bc5087f2ddd20",
+ "description": "OPNFV platform performance benchmark project",
+ "name": "qtip",
+ "creation_date": "2015-12-01 13:27:15.834860"
+ },
+ {
+ "_id": "565ec191514bc5087f3cfe26",
+ "description": "This project will enable OpenContrail to be selected as the virtual networking technology in OPNFV deployments. The following diagram illustrates how the components of an OPNFV stack that includes OpenContrail map onto the ETSI NFV architecture.",
+ "name": "ovno",
+ "creation_date": "2015-12-02 10:01:53.786607"
+ },
+ {
+ "_id": "566108c7514bc5087f3cfe41",
+ "description": "This project aims to find system bottlenecks by testing and verifying OPNFV infrastructure in a staging environment before committing it to a production environment. ",
+ "name": "bottlenecks",
+ "creation_date": "2015-12-04 03:30:15.934170"
+ },
+ {
+ "_id": "5669a8b4514bc5068a345d2f",
+ "description": "OPNFV policy test based on ODL (Groupe Based Policy)",
+ "name": "policy-test",
+ "creation_date": "2015-12-10 16:30:44.118352"
+ },
+ {
+ "_id": "57173ffe9377c5332042a5e1",
+ "description": "This project proposes a security management system called Moon. NFV uses cloud computing technologies to virtualize the resources and automate the control. The cloud infrastructure is able to provision a set of different cloud resources/services for VNFs (Virtualized Network Functions). Management of isolation and protection of, and interaction between, these VNFs become a big challenge. In order to avoid losing control over the VNFs in the cloud, Moon aims at designing and developing a security management system for OPNFV.",
+ "name": "moon",
+ "creation_date": "2016-04-20 08:38:22.335984"
+ },
+ {
+ "_id": "573395499377c56d4fc3f069",
+ "description": "OPNFV storage perfomance testing project",
+ "name": "storperf",
+ "creation_date": "2016-05-11 20:25:45.317073"
+ },
+ {
+ "_id": "575efa949377c5337aa248f1",
+ "description": "template distribution service",
+ "name": "domino",
+ "creation_date": "2016-06-13 18:25:24.157400"
+ },
+ {
+ "_id": "5762ad599377c5337a5ebc3b",
+ "description": "Project \u201cFastDataStacks\u201d creates and composes a set of scenarios which include the virtual forwarder supplied by the FD.IO project. The project also provides required enhancements to individual components such as SDN controllers or installers to allow for the scenario composition.",
+ "name": "fastdatastacks",
+ "creation_date": "2016-06-16 13:44:57.065160"
+ },
+ {
+ "_id": "577d46ef9377c54b278bbc91",
+ "description": "This project will address various goals for promoting availability and convergence of information and/or data models related to NFV service/VNF management, as being defined in standards (SDOs) and as developed in open source projects.",
+ "name": "models",
+ "creation_date": "2016-07-06 17:59:11.553045"
+ },
+ {
+ "_id": "57add1169377c54b278bd67b",
+ "description": " enhancement to OpenStack ( Nova / Cinder / Neutron / Glance / Ceilometer / KeyStone ), so that OpenStack as the VIM is able to support multisite NFV cloud.",
+ "name": "multisite",
+ "creation_date": "2016-08-12 13:37:26.911022"
+ },
+ {
+ "_id": "57b2cd019377c54b278bdb90",
+ "description": "OPNFV Parser project",
+ "name": "parser",
+ "creation_date": "2016-08-16 08:21:21.788381"
+ },
+ {
+ "_id": "582ef5ec1d2c6e000ab2b226",
+ "description": "The goal of the NetReady project is to investigate how the current OpenStack networking architecture needs to be evolved in order to ensure that NFV-related use cases can be flexibly and efficiently supported. ",
+ "name": "netready",
+ "creation_date": "2016-11-18 12:37:00.875824"
+ },
+ {
+ "_id": "582f29a61d2c6e000ab2b27d",
+ "description": "Security Scanning is a project to insure security compliance and vulnerability checks , as part of an automated CI-CD platform delivery process and as a standalone application. The project makes use of the existing SCAP format to perform deep scanning of NFVi nodes, to insure they are hardened and free of known CVE reported vulnerabilities. The SCAP content itself, is then consumed and run using an upstream opensource tool known as OpenSCAP",
+ "name": "securityscanning",
+ "creation_date": "2016-11-18 16:17:42.047102"
+ },
+ {
+ "_id": "583479f61d2c6e000ab2b9ee",
+ "description": "Opera seeks to develop requirements for OPEN-O MANO support in the OPNFV reference platform, with the plan to eventually integrate OPEN-O in OPNFV as a non-exclusive upstream MANO. ",
+ "name": "opera",
+ "creation_date": "2016-11-22 17:01:42.703558"
+ },
+ {
+ "_id": "58347a121d2c6e000ab2b9ef",
+ "description": "This project will enable the integration of the open source Open Baton platform, already available as ETSI NFV MANO reference implementation since October 2015, with existing OPNFV projects for specific scenarios and use cases.",
+ "name": "orchestra",
+ "creation_date": "2016-11-22 17:02:10.793237"
+ },
+ {
+ "_id": "587520262f248d000c44275b",
+ "description": "",
+ "name": "",
+ "creation_date": "2017-01-10 17:55:50.084797"
+ },
+ {
+ "_id": "587da16e8cf551000c780e93",
+ "description": "Model Oriented Virtualization Interface",
+ "name": "movie",
+ "creation_date": "2017-01-17 04:45:34.074478"
+ },
+ {
+ "_id": "58a155e3584d06000b01574e",
+ "description": "The goal of yardstick is to verify the infrastructure compliance when running VNF applications. NFV Use Cases described in ETSI GS NFV 001 show a large variety of applications, each defining specific requirements and complex configuration on the underlying infrastructure and test tools.The Yardstick concept decomposes typical VNF work-load performance metrics into a number of characteristics/performance vectors, which each of them can be represented by distinct test-cases.",
+ "name": "yardstick",
+ "creation_date": "2015-10-14 06:56:09"
+ },
+ {
+ "_id": "58a2e2c2584d06000b0157d2",
+ "description": "a few plugins that expand the capabilities of collectd which runs on compute nodes regarding collecting and reporting metrics",
+ "name": "barometer",
+ "creation_date": "2017-02-14 10:58:10.292536"
+ },
+ {
+ "_id": "5923e2ff78a2ad000ae6a13f",
+ "description": "Container Integrated For NFV",
+ "name": "OpenRetriever",
+ "creation_date": "2017-05-23 07:21:35.191176"
+ },
+ {
+ "_id": "592887a178a2ad000ae6a65e",
+ "description": "OVN for NFV",
+ "name": "ovn4nfv",
+ "creation_date": "2017-05-26 19:53:05.984276"
+ },
+ {
+ "_id": "5928a4af78a2ad000ae6a6be",
+ "description": "ONOS Framework",
+ "name": "onosfw",
+ "creation_date": "2017-05-26 21:57:03.600198"
+ },
+ {
+ "_id": "592be2ad78a2ad000ae6aad1",
+ "description": "VIM infrastructure networking assurance, visualizing and monitoring low level details of virtual networking, components and inter-connections: internal and across hosts",
+ "name": "vina",
+ "creation_date": "2017-05-29 08:58:21.248835"
+ }
+] \ No newline at end of file
diff --git a/docker/db/restart_db.sh b/docker/db/restart_db.sh
new file mode 100755
index 0000000..e44bc07
--- /dev/null
+++ b/docker/db/restart_db.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+if [ "$#" -ne 1 ]; then
+ echo "Error: missing parameter! try again like this:"
+ echo ""
+ echo "./restart_db.sh 192.168.115.2"
+ echo ""
+ echo "parameters:"
+ echo " db_host_ip: your localhost ip address"
+ echo ""
+ exit 1
+fi
+
+export mongodb_port=${mongodb_port:-"27017"}
+export testapi_port=${testapi_port:-"8000"}
+export db_host_ip=${db_host_ip:-"$1"}
+
+sudo docker rm -f testapi
+sudo docker run -itd -p $testapi_port:8000 --name testapi \
+ -e mongodb_url=mongodb://$db_host_ip:$mongodb_port/ opnfv/testapi:cvp.0.5.0
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000..a5da0b9
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,58 @@
+---
+version: '3'
+services:
+ testapi:
+ image: opnfv/testapi:cvp.0.5.0
+ container_name: cvp-testapi
+ env_file:
+ - config.env
+ volumes:
+ - cvp-testapi-logs:/home/testapi/logs
+ links:
+ - mongodb
+ ports:
+ - "8010:8010"
+ mongodb:
+ image: mongo:3.2.1
+ container_name: cvp-db
+ volumes:
+ - cvp-db:/data/db
+ expose:
+ - "27017"
+ web:
+ image: opnfv/dovetail:web.ovp.1.1.2
+ container_name: cvp-web
+ restart: always
+ env_file:
+ - config.env
+ - vhost.env
+ volumes:
+ - cvp-testapi-logs:/home/testapi/logs
+ links:
+ - mongodb
+ - testapi
+ - cvpapi
+ ports:
+ - "8000:8000"
+ cvpapi:
+ image: opnfv/dovetail:api.ovp.1.1.2
+ container_name: cvp-cvpapi
+ env_file:
+ - config.env
+ volumes:
+ - cvp-testapi-logs:/home/testapi/logs
+ ports:
+ - "8011:8011"
+ nginx:
+ image: jwilder/nginx-proxy
+ container_name: cvp-nginx
+ volumes:
+ - /var/run/docker.sock:/tmp/docker.sock:ro
+ depends_on:
+ - web
+ ports:
+ - "80:80"
+
+volumes:
+ cvp-db:
+ cvp-testapi-logs:
diff --git a/docker/nginx/fastcgi.conf b/docker/nginx/fastcgi.conf
new file mode 100644
index 0000000..091738c
--- /dev/null
+++ b/docker/nginx/fastcgi.conf
@@ -0,0 +1,26 @@
+
+fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+fastcgi_param QUERY_STRING $query_string;
+fastcgi_param REQUEST_METHOD $request_method;
+fastcgi_param CONTENT_TYPE $content_type;
+fastcgi_param CONTENT_LENGTH $content_length;
+
+fastcgi_param SCRIPT_NAME $fastcgi_script_name;
+fastcgi_param REQUEST_URI $request_uri;
+fastcgi_param DOCUMENT_URI $document_uri;
+fastcgi_param DOCUMENT_ROOT $document_root;
+fastcgi_param SERVER_PROTOCOL $server_protocol;
+fastcgi_param REQUEST_SCHEME $scheme;
+fastcgi_param HTTPS $https if_not_empty;
+
+fastcgi_param GATEWAY_INTERFACE CGI/1.1;
+fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
+
+fastcgi_param REMOTE_ADDR $remote_addr;
+fastcgi_param REMOTE_PORT $remote_port;
+fastcgi_param SERVER_ADDR $server_addr;
+fastcgi_param SERVER_PORT $server_port;
+fastcgi_param SERVER_NAME $server_name;
+
+# PHP only, required if PHP was built with --enable-force-cgi-redirect
+fastcgi_param REDIRECT_STATUS 200;
diff --git a/docker/nginx/fastcgi_params b/docker/nginx/fastcgi_params
new file mode 100644
index 0000000..28decb9
--- /dev/null
+++ b/docker/nginx/fastcgi_params
@@ -0,0 +1,25 @@
+
+fastcgi_param QUERY_STRING $query_string;
+fastcgi_param REQUEST_METHOD $request_method;
+fastcgi_param CONTENT_TYPE $content_type;
+fastcgi_param CONTENT_LENGTH $content_length;
+
+fastcgi_param SCRIPT_NAME $fastcgi_script_name;
+fastcgi_param REQUEST_URI $request_uri;
+fastcgi_param DOCUMENT_URI $document_uri;
+fastcgi_param DOCUMENT_ROOT $document_root;
+fastcgi_param SERVER_PROTOCOL $server_protocol;
+fastcgi_param REQUEST_SCHEME $scheme;
+fastcgi_param HTTPS $https if_not_empty;
+
+fastcgi_param GATEWAY_INTERFACE CGI/1.1;
+fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
+
+fastcgi_param REMOTE_ADDR $remote_addr;
+fastcgi_param REMOTE_PORT $remote_port;
+fastcgi_param SERVER_ADDR $server_addr;
+fastcgi_param SERVER_PORT $server_port;
+fastcgi_param SERVER_NAME $server_name;
+
+# PHP only, required if PHP was built with --enable-force-cgi-redirect
+fastcgi_param REDIRECT_STATUS 200;
diff --git a/docker/nginx/koi-utf b/docker/nginx/koi-utf
new file mode 100644
index 0000000..e7974ff
--- /dev/null
+++ b/docker/nginx/koi-utf
@@ -0,0 +1,109 @@
+
+# This map is not a full koi8-r <> utf8 map: it does not contain
+# box-drawing and some other characters. Besides this map contains
+# several koi8-u and Byelorussian letters which are not in koi8-r.
+# If you need a full and standard map, use contrib/unicode2nginx/koi-utf
+# map instead.
+
+charset_map koi8-r utf-8 {
+
+ 80 E282AC ; # euro
+
+ 95 E280A2 ; # bullet
+
+ 9A C2A0 ; # &nbsp;
+
+ 9E C2B7 ; # &middot;
+
+ A3 D191 ; # small yo
+ A4 D194 ; # small Ukrainian ye
+
+ A6 D196 ; # small Ukrainian i
+ A7 D197 ; # small Ukrainian yi
+
+ AD D291 ; # small Ukrainian soft g
+ AE D19E ; # small Byelorussian short u
+
+ B0 C2B0 ; # &deg;
+
+ B3 D081 ; # capital YO
+ B4 D084 ; # capital Ukrainian YE
+
+ B6 D086 ; # capital Ukrainian I
+ B7 D087 ; # capital Ukrainian YI
+
+ B9 E28496 ; # numero sign
+
+ BD D290 ; # capital Ukrainian soft G
+ BE D18E ; # capital Byelorussian short U
+
+ BF C2A9 ; # (C)
+
+ C0 D18E ; # small yu
+ C1 D0B0 ; # small a
+ C2 D0B1 ; # small b
+ C3 D186 ; # small ts
+ C4 D0B4 ; # small d
+ C5 D0B5 ; # small ye
+ C6 D184 ; # small f
+ C7 D0B3 ; # small g
+ C8 D185 ; # small kh
+ C9 D0B8 ; # small i
+ CA D0B9 ; # small j
+ CB D0BA ; # small k
+ CC D0BB ; # small l
+ CD D0BC ; # small m
+ CE D0BD ; # small n
+ CF D0BE ; # small o
+
+ D0 D0BF ; # small p
+ D1 D18F ; # small ya
+ D2 D180 ; # small r
+ D3 D181 ; # small s
+ D4 D182 ; # small t
+ D5 D183 ; # small u
+ D6 D0B6 ; # small zh
+ D7 D0B2 ; # small v
+ D8 D18C ; # small soft sign
+ D9 D18B ; # small y
+ DA D0B7 ; # small z
+ DB D188 ; # small sh
+ DC D18D ; # small e
+ DD D189 ; # small shch
+ DE D187 ; # small ch
+ DF D18A ; # small hard sign
+
+ E0 D0AE ; # capital YU
+ E1 D090 ; # capital A
+ E2 D091 ; # capital B
+ E3 D0A6 ; # capital TS
+ E4 D094 ; # capital D
+ E5 D095 ; # capital YE
+ E6 D0A4 ; # capital F
+ E7 D093 ; # capital G
+ E8 D0A5 ; # capital KH
+ E9 D098 ; # capital I
+ EA D099 ; # capital J
+ EB D09A ; # capital K
+ EC D09B ; # capital L
+ ED D09C ; # capital M
+ EE D09D ; # capital N
+ EF D09E ; # capital O
+
+ F0 D09F ; # capital P
+ F1 D0AF ; # capital YA
+ F2 D0A0 ; # capital R
+ F3 D0A1 ; # capital S
+ F4 D0A2 ; # capital T
+ F5 D0A3 ; # capital U
+ F6 D096 ; # capital ZH
+ F7 D092 ; # capital V
+ F8 D0AC ; # capital soft sign
+ F9 D0AB ; # capital Y
+ FA D097 ; # capital Z
+ FB D0A8 ; # capital SH
+ FC D0AD ; # capital E
+ FD D0A9 ; # capital SHCH
+ FE D0A7 ; # capital CH
+ FF D0AA ; # capital hard sign
+}
diff --git a/docker/nginx/koi-win b/docker/nginx/koi-win
new file mode 100644
index 0000000..72afabe
--- /dev/null
+++ b/docker/nginx/koi-win
@@ -0,0 +1,103 @@
+
+charset_map koi8-r windows-1251 {
+
+ 80 88 ; # euro
+
+ 95 95 ; # bullet
+
+ 9A A0 ; # &nbsp;
+
+ 9E B7 ; # &middot;
+
+ A3 B8 ; # small yo
+ A4 BA ; # small Ukrainian ye
+
+ A6 B3 ; # small Ukrainian i
+ A7 BF ; # small Ukrainian yi
+
+ AD B4 ; # small Ukrainian soft g
+ AE A2 ; # small Byelorussian short u
+
+ B0 B0 ; # &deg;
+
+ B3 A8 ; # capital YO
+ B4 AA ; # capital Ukrainian YE
+
+ B6 B2 ; # capital Ukrainian I
+ B7 AF ; # capital Ukrainian YI
+
+ B9 B9 ; # numero sign
+
+ BD A5 ; # capital Ukrainian soft G
+ BE A1 ; # capital Byelorussian short U
+
+ BF A9 ; # (C)
+
+ C0 FE ; # small yu
+ C1 E0 ; # small a
+ C2 E1 ; # small b
+ C3 F6 ; # small ts
+ C4 E4 ; # small d
+ C5 E5 ; # small ye
+ C6 F4 ; # small f
+ C7 E3 ; # small g
+ C8 F5 ; # small kh
+ C9 E8 ; # small i
+ CA E9 ; # small j
+ CB EA ; # small k
+ CC EB ; # small l
+ CD EC ; # small m
+ CE ED ; # small n
+ CF EE ; # small o
+
+ D0 EF ; # small p
+ D1 FF ; # small ya
+ D2 F0 ; # small r
+ D3 F1 ; # small s
+ D4 F2 ; # small t
+ D5 F3 ; # small u
+ D6 E6 ; # small zh
+ D7 E2 ; # small v
+ D8 FC ; # small soft sign
+ D9 FB ; # small y
+ DA E7 ; # small z
+ DB F8 ; # small sh
+ DC FD ; # small e
+ DD F9 ; # small shch
+ DE F7 ; # small ch
+ DF FA ; # small hard sign
+
+ E0 DE ; # capital YU
+ E1 C0 ; # capital A
+ E2 C1 ; # capital B
+ E3 D6 ; # capital TS
+ E4 C4 ; # capital D
+ E5 C5 ; # capital YE
+ E6 D4 ; # capital F
+ E7 C3 ; # capital G
+ E8 D5 ; # capital KH
+ E9 C8 ; # capital I
+ EA C9 ; # capital J
+ EB CA ; # capital K
+ EC CB ; # capital L
+ ED CC ; # capital M
+ EE CD ; # capital N
+ EF CE ; # capital O
+
+ F0 CF ; # capital P
+ F1 DF ; # capital YA
+ F2 D0 ; # capital R
+ F3 D1 ; # capital S
+ F4 D2 ; # capital T
+ F5 D3 ; # capital U
+ F6 C6 ; # capital ZH
+ F7 C2 ; # capital V
+ F8 DC ; # capital soft sign
+ F9 DB ; # capital Y
+ FA C7 ; # capital Z
+ FB D8 ; # capital SH
+ FC DD ; # capital E
+ FD D9 ; # capital SHCH
+ FE D7 ; # capital CH
+ FF DA ; # capital hard sign
+}
diff --git a/docker/nginx/mime.types b/docker/nginx/mime.types
new file mode 100644
index 0000000..89be9a4
--- /dev/null
+++ b/docker/nginx/mime.types
@@ -0,0 +1,89 @@
+
+types {
+ text/html html htm shtml;
+ text/css css;
+ text/xml xml;
+ image/gif gif;
+ image/jpeg jpeg jpg;
+ application/javascript js;
+ application/atom+xml atom;
+ application/rss+xml rss;
+
+ text/mathml mml;
+ text/plain txt;
+ text/vnd.sun.j2me.app-descriptor jad;
+ text/vnd.wap.wml wml;
+ text/x-component htc;
+
+ image/png png;
+ image/tiff tif tiff;
+ image/vnd.wap.wbmp wbmp;
+ image/x-icon ico;
+ image/x-jng jng;
+ image/x-ms-bmp bmp;
+ image/svg+xml svg svgz;
+ image/webp webp;
+
+ application/font-woff woff;
+ application/java-archive jar war ear;
+ application/json json;
+ application/mac-binhex40 hqx;
+ application/msword doc;
+ application/pdf pdf;
+ application/postscript ps eps ai;
+ application/rtf rtf;
+ application/vnd.apple.mpegurl m3u8;
+ application/vnd.ms-excel xls;
+ application/vnd.ms-fontobject eot;
+ application/vnd.ms-powerpoint ppt;
+ application/vnd.wap.wmlc wmlc;
+ application/vnd.google-earth.kml+xml kml;
+ application/vnd.google-earth.kmz kmz;
+ application/x-7z-compressed 7z;
+ application/x-cocoa cco;
+ application/x-java-archive-diff jardiff;
+ application/x-java-jnlp-file jnlp;
+ application/x-makeself run;
+ application/x-perl pl pm;
+ application/x-pilot prc pdb;
+ application/x-rar-compressed rar;
+ application/x-redhat-package-manager rpm;
+ application/x-sea sea;
+ application/x-shockwave-flash swf;
+ application/x-stuffit sit;
+ application/x-tcl tcl tk;
+ application/x-x509-ca-cert der pem crt;
+ application/x-xpinstall xpi;
+ application/xhtml+xml xhtml;
+ application/xspf+xml xspf;
+ application/zip zip;
+
+ application/octet-stream bin exe dll;
+ application/octet-stream deb;
+ application/octet-stream dmg;
+ application/octet-stream iso img;
+ application/octet-stream msi msp msm;
+
+ application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
+ application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
+ application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
+
+ audio/midi mid midi kar;
+ audio/mpeg mp3;
+ audio/ogg ogg;
+ audio/x-m4a m4a;
+ audio/x-realaudio ra;
+
+ video/3gpp 3gpp 3gp;
+ video/mp2t ts;
+ video/mp4 mp4;
+ video/mpeg mpeg mpg;
+ video/quicktime mov;
+ video/webm webm;
+ video/x-flv flv;
+ video/x-m4v m4v;
+ video/x-mng mng;
+ video/x-ms-asf asx asf;
+ video/x-ms-wmv wmv;
+ video/x-msvideo avi;
+}
diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf
new file mode 100644
index 0000000..98fb26a
--- /dev/null
+++ b/docker/nginx/nginx.conf
@@ -0,0 +1,97 @@
+user www-data;
+worker_processes 4;
+pid /run/nginx.pid;
+
+daemon off;
+
+events {
+ worker_connections 768;
+ # multi_accept on;
+}
+
+http {
+
+ ##
+ # Basic Settings
+ ##
+
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+ keepalive_timeout 65;
+ types_hash_max_size 2048;
+ # server_tokens off;
+
+ # server_names_hash_bucket_size 64;
+ # server_name_in_redirect off;
+
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+
+ ##
+ # Logging Settings
+ ##
+
+ access_log /var/log/nginx/access.log;
+ error_log /var/log/nginx/error.log;
+
+ ##
+ # Gzip Settings
+ ##
+
+ gzip on;
+ gzip_disable "msie6";
+
+ # gzip_vary on;
+ # gzip_proxied any;
+ # gzip_comp_level 6;
+ # gzip_buffers 16 8k;
+ # gzip_http_version 1.1;
+ # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
+
+ ##
+ # nginx-naxsi config
+ ##
+ # Uncomment it if you installed nginx-naxsi
+ ##
+
+ #include /etc/nginx/naxsi_core.rules;
+
+ ##
+ # nginx-passenger config
+ ##
+ # Uncomment it if you installed nginx-passenger
+ ##
+
+ #passenger_root /usr;
+ #passenger_ruby /usr/bin/ruby;
+
+ ##
+ # Virtual Host Configs
+ ##
+
+ include /etc/nginx/conf.d/*.conf;
+ include /etc/nginx/sites-enabled/*;
+}
+
+
+#mail {
+# # See sample authentication script at:
+# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
+#
+# # auth_http localhost/auth.php;
+# # pop3_capabilities "TOP" "USER";
+# # imap_capabilities "IMAP4rev1" "UIDPLUS";
+#
+# server {
+# listen localhost:110;
+# protocol pop3;
+# proxy on;
+# }
+#
+# server {
+# listen localhost:143;
+# protocol imap;
+# proxy on;
+# }
+#}
diff --git a/docker/nginx/proxy_params b/docker/nginx/proxy_params
new file mode 100644
index 0000000..df75bc5
--- /dev/null
+++ b/docker/nginx/proxy_params
@@ -0,0 +1,4 @@
+proxy_set_header Host $http_host;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Proto $scheme;
diff --git a/docker/nginx/scgi_params b/docker/nginx/scgi_params
new file mode 100644
index 0000000..6d4ce4f
--- /dev/null
+++ b/docker/nginx/scgi_params
@@ -0,0 +1,17 @@
+
+scgi_param REQUEST_METHOD $request_method;
+scgi_param REQUEST_URI $request_uri;
+scgi_param QUERY_STRING $query_string;
+scgi_param CONTENT_TYPE $content_type;
+
+scgi_param DOCUMENT_URI $document_uri;
+scgi_param DOCUMENT_ROOT $document_root;
+scgi_param SCGI 1;
+scgi_param SERVER_PROTOCOL $server_protocol;
+scgi_param REQUEST_SCHEME $scheme;
+scgi_param HTTPS $https if_not_empty;
+
+scgi_param REMOTE_ADDR $remote_addr;
+scgi_param REMOTE_PORT $remote_port;
+scgi_param SERVER_PORT $server_port;
+scgi_param SERVER_NAME $server_name;
diff --git a/docker/nginx/sites-available/default b/docker/nginx/sites-available/default
new file mode 100644
index 0000000..765e33e
--- /dev/null
+++ b/docker/nginx/sites-available/default
@@ -0,0 +1,168 @@
+# You may add here your
+# server {
+# ...
+# }
+# statements for each of your virtual hosts to this file
+
+##
+# You should look at the following URL's in order to grasp a solid understanding
+# of Nginx configuration files in order to fully unleash the power of Nginx.
+# http://wiki.nginx.org/Pitfalls
+# http://wiki.nginx.org/QuickStart
+# http://wiki.nginx.org/Configuration
+#
+# Generally, you will want to move this file somewhere, and start with a clean
+# file but keep this around for reference. Or just disable in sites-enabled.
+#
+# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
+##
+
+upstream testapi {
+ server 192.168.33.101:8010;
+}
+
+upstream testapi_cvp {
+ server 192.168.33.101:8011;
+}
+
+server {
+ listen 8000 default_server;
+ listen [::]:8000 default_server ipv6only=on;
+
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+
+ # Make site accessible from http://localhost/
+ server_name localhost;
+
+ #location ~* /testapi-ui/.+/\.(js|css|html|json|map|jpg|jpeg|gif|png|swf)$ {
+ location ~* /testapi-ui/ {
+ #if (-f $request_filename) {
+ root /www/static;
+ expires 1d;
+ #break;
+ #}
+ }
+
+ location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ {
+ root /home/testapi;
+ add_header Content-Type text/plain;
+ }
+
+ location ~* /logs/.*/results {
+ root /home/testapi;
+ expires 1d;
+ autoindex on;
+ autoindex_exact_size off;
+ autoindex_localtime on;
+ }
+
+ location /api/v1/auth {
+ proxy_pass http://testapi_cvp/api/v1/auth;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/profile {
+ proxy_pass http://testapi_cvp/api/v1/profile;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/test {
+ proxy_pass http://testapi_cvp/api/v1/test;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/ {
+ proxy_pass http://testapi/api/v1/;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location / {
+ # First attempt to serve request as file, then
+ # as directory, then fall back to displaying a 404.
+ #try_files $uri $uri/ =404;
+ # Uncomment to enable naxsi on this location
+ # include /etc/nginx/naxsi.rules
+ root /www/static/testapi-ui;
+ expires 1d;
+ }
+
+ # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
+ #location /RequestDenied {
+ # proxy_pass http://127.0.0.1:8080;
+ #}
+
+ #error_page 404 /404.html;
+
+ # redirect server error pages to the static page /50x.html
+ #
+ #error_page 500 502 503 504 /50x.html;
+ #location = /50x.html {
+ # root /usr/share/nginx/html;
+ #}
+
+ # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
+ #
+ #location ~ \.php$ {
+ # fastcgi_split_path_info ^(.+\.php)(/.+)$;
+ # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
+ #
+ # # With php5-cgi alone:
+ # fastcgi_pass 127.0.0.1:9000;
+ # # With php5-fpm:
+ # fastcgi_pass unix:/var/run/php5-fpm.sock;
+ # fastcgi_index index.php;
+ # include fastcgi_params;
+ #}
+
+ # deny access to .htaccess files, if Apache's document root
+ # concurs with nginx's one
+ #
+ #location ~ /\.ht {
+ # deny all;
+ #}
+}
+
+
+# another virtual host using mix of IP-, name-, and port-based configuration
+#
+#server {
+# listen 8000;
+# listen somename:8080;
+# server_name somename alias another.alias;
+# root html;
+# index index.html index.htm;
+#
+# location / {
+# try_files $uri $uri/ =404;
+# }
+#}
+
+
+# HTTPS server
+#
+#server {
+# listen 443;
+# server_name localhost;
+#
+# root html;
+# index index.html index.htm;
+#
+# ssl on;
+# ssl_certificate cert.pem;
+# ssl_certificate_key cert.key;
+#
+# ssl_session_timeout 5m;
+#
+# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
+# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
+# ssl_prefer_server_ciphers on;
+#
+# location / {
+# try_files $uri $uri/ =404;
+# }
+#}
diff --git a/docker/nginx/sites-enabled/default b/docker/nginx/sites-enabled/default
new file mode 100644
index 0000000..e2e718c
--- /dev/null
+++ b/docker/nginx/sites-enabled/default
@@ -0,0 +1,200 @@
+# You may add here your
+# server {
+# ...
+# }
+# statements for each of your virtual hosts to this file
+
+##
+# You should look at the following URL's in order to grasp a solid understanding
+# of Nginx configuration files in order to fully unleash the power of Nginx.
+# http://wiki.nginx.org/Pitfalls
+# http://wiki.nginx.org/QuickStart
+# http://wiki.nginx.org/Configuration
+#
+# Generally, you will want to move this file somewhere, and start with a clean
+# file but keep this around for reference. Or just disable in sites-enabled.
+#
+# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
+##
+
+upstream testapi {
+ server testapi:8010;
+}
+
+upstream cvpapi {
+ server cvpapi:8011;
+}
+
+server {
+ listen 8000 default_server;
+ listen [::]:8000 default_server ipv6only=on;
+
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+
+ # Make site accessible from http://localhost/
+ server_name localhost;
+
+ #location ~* /testapi-ui/.+/\.(js|css|html|json|map|jpg|jpeg|gif|png|swf)$ {
+ location ~* /testapi-ui/ {
+ #if (-f $request_filename) {
+ root /www/static;
+ expires 1d;
+ #break;
+ #}
+ }
+
+ location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ {
+ root /home/testapi;
+ add_header Content-Type text/plain;
+ }
+
+ location ~* /logs/.*/results {
+ root /home/testapi;
+ expires 1d;
+ autoindex on;
+ autoindex_exact_size off;
+ autoindex_localtime on;
+ }
+
+ location ~* /logs/api {
+ root /home/testapi;
+ expires 1d;
+ autoindex on;
+ autoindex_exact_size on;
+ autoindex_localtime on;
+ }
+
+ location /api/v1/cvp {
+ proxy_pass http://cvpapi/api/v1/cvp;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/auth {
+ proxy_pass http://cvpapi/api/v1/auth;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/profile {
+ proxy_pass http://cvpapi/api/v1/profile;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/test {
+ proxy_pass http://cvpapi/api/v1/test;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location = /api/v1/results {
+ proxy_pass http://testapi/api/v1/results;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location ~* /api/v1/results/([a-zA-Z0-9]+) {
+ proxy_pass http://cvpapi/api/v1/results/$1;
+ proxy_set_header X-Real_IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location ~* /api/v1/suts/hardware/([a-zA-Z0-9\-]+) {
+ proxy_pass http://cvpapi/api/v1/suts/hardware/$1;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location /api/v1/ {
+ proxy_pass http://testapi/api/v1/;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $host;
+ }
+
+ location / {
+ # First attempt to serve request as file, then
+ # as directory, then fall back to displaying a 404.
+ #try_files $uri $uri/ =404;
+ # Uncomment to enable naxsi on this location
+ # include /etc/nginx/naxsi.rules
+ root /www/static/testapi-ui;
+ expires 1d;
+ }
+
+ # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
+ #location /RequestDenied {
+ # proxy_pass http://127.0.0.1:8080;
+ #}
+
+ #error_page 404 /404.html;
+
+ # redirect server error pages to the static page /50x.html
+ #
+ #error_page 500 502 503 504 /50x.html;
+ #location = /50x.html {
+ # root /usr/share/nginx/html;
+ #}
+
+ # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
+ #
+ #location ~ \.php$ {
+ # fastcgi_split_path_info ^(.+\.php)(/.+)$;
+ # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
+ #
+ # # With php5-cgi alone:
+ # fastcgi_pass 127.0.0.1:9000;
+ # # With php5-fpm:
+ # fastcgi_pass unix:/var/run/php5-fpm.sock;
+ # fastcgi_index index.php;
+ # include fastcgi_params;
+ #}
+
+ # deny access to .htaccess files, if Apache's document root
+ # concurs with nginx's one
+ #
+ #location ~ /\.ht {
+ # deny all;
+ #}
+}
+
+
+# another virtual host using mix of IP-, name-, and port-based configuration
+#
+#server {
+# listen 8000;
+# listen somename:8080;
+# server_name somename alias another.alias;
+# root html;
+# index index.html index.htm;
+#
+# location / {
+# try_files $uri $uri/ =404;
+# }
+#}
+
+
+# HTTPS server
+#
+#server {
+# listen 443;
+# server_name localhost;
+#
+# root html;
+# index index.html index.htm;
+#
+# ssl on;
+# ssl_certificate cert.pem;
+# ssl_certificate_key cert.key;
+#
+# ssl_session_timeout 5m;
+#
+# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
+# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
+# ssl_prefer_server_ciphers on;
+#
+# location / {
+# try_files $uri $uri/ =404;
+# }
+#}
diff --git a/docker/nginx/snippets/fastcgi-php.conf b/docker/nginx/snippets/fastcgi-php.conf
new file mode 100644
index 0000000..8f8e4a2
--- /dev/null
+++ b/docker/nginx/snippets/fastcgi-php.conf
@@ -0,0 +1,13 @@
+# regex to split $uri to $fastcgi_script_name and $fastcgi_path
+fastcgi_split_path_info ^(.+\.php)(/.+)$;
+
+# Check that the PHP script exists before passing it
+try_files $fastcgi_script_name =404;
+
+# Bypass the fact that try_files resets $fastcgi_path_info
+# see: http://trac.nginx.org/nginx/ticket/321
+set $path_info $fastcgi_path_info;
+fastcgi_param PATH_INFO $path_info;
+
+fastcgi_index index.php;
+include fastcgi.conf;
diff --git a/docker/nginx/snippets/snakeoil.conf b/docker/nginx/snippets/snakeoil.conf
new file mode 100644
index 0000000..ad26c3e
--- /dev/null
+++ b/docker/nginx/snippets/snakeoil.conf
@@ -0,0 +1,5 @@
+# Self signed certificates generated by the ssl-cert package
+# Don't use them in a production server!
+
+ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
+ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
diff --git a/docker/nginx/uwsgi_params b/docker/nginx/uwsgi_params
new file mode 100644
index 0000000..09c732c
--- /dev/null
+++ b/docker/nginx/uwsgi_params
@@ -0,0 +1,17 @@
+
+uwsgi_param QUERY_STRING $query_string;
+uwsgi_param REQUEST_METHOD $request_method;
+uwsgi_param CONTENT_TYPE $content_type;
+uwsgi_param CONTENT_LENGTH $content_length;
+
+uwsgi_param REQUEST_URI $request_uri;
+uwsgi_param PATH_INFO $document_uri;
+uwsgi_param DOCUMENT_ROOT $document_root;
+uwsgi_param SERVER_PROTOCOL $server_protocol;
+uwsgi_param REQUEST_SCHEME $scheme;
+uwsgi_param HTTPS $https if_not_empty;
+
+uwsgi_param REMOTE_ADDR $remote_addr;
+uwsgi_param REMOTE_PORT $remote_port;
+uwsgi_param SERVER_PORT $server_port;
+uwsgi_param SERVER_NAME $server_name;
diff --git a/docker/nginx/win-utf b/docker/nginx/win-utf
new file mode 100644
index 0000000..774fd9f
--- /dev/null
+++ b/docker/nginx/win-utf
@@ -0,0 +1,125 @@
+# This map is not a full windows-1251 <> utf8 map: it does not
+# contain Serbian and Macedonian letters. If you need a full map,
+# use contrib/unicode2nginx/win-utf map instead.
+
+charset_map windows-1251 utf-8 {
+
+ 82 E2809A; # single low-9 quotation mark
+
+ 84 E2809E; # double low-9 quotation mark
+ 85 E280A6; # ellipsis
+ 86 E280A0; # dagger
+ 87 E280A1; # double dagger
+ 88 E282AC; # euro
+ 89 E280B0; # per mille
+
+ 91 E28098; # left single quotation mark
+ 92 E28099; # right single quotation mark
+ 93 E2809C; # left double quotation mark
+ 94 E2809D; # right double quotation mark
+ 95 E280A2; # bullet
+ 96 E28093; # en dash
+ 97 E28094; # em dash
+
+ 99 E284A2; # trade mark sign
+
+ A0 C2A0; # &nbsp;
+ A1 D18E; # capital Byelorussian short U
+ A2 D19E; # small Byelorussian short u
+
+ A4 C2A4; # currency sign
+ A5 D290; # capital Ukrainian soft G
+ A6 C2A6; # borken bar
+ A7 C2A7; # section sign
+ A8 D081; # capital YO
+ A9 C2A9; # (C)
+ AA D084; # capital Ukrainian YE
+ AB C2AB; # left-pointing double angle quotation mark
+ AC C2AC; # not sign
+ AD C2AD; # soft hypen
+ AE C2AE; # (R)
+ AF D087; # capital Ukrainian YI
+
+ B0 C2B0; # &deg;
+ B1 C2B1; # plus-minus sign
+ B2 D086; # capital Ukrainian I
+ B3 D196; # small Ukrainian i
+ B4 D291; # small Ukrainian soft g
+ B5 C2B5; # micro sign
+ B6 C2B6; # pilcrow sign
+ B7 C2B7; # &middot;
+ B8 D191; # small yo
+ B9 E28496; # numero sign
+ BA D194; # small Ukrainian ye
+ BB C2BB; # right-pointing double angle quotation mark
+
+ BF D197; # small Ukrainian yi
+
+ C0 D090; # capital A
+ C1 D091; # capital B
+ C2 D092; # capital V
+ C3 D093; # capital G
+ C4 D094; # capital D
+ C5 D095; # capital YE
+ C6 D096; # capital ZH
+ C7 D097; # capital Z
+ C8 D098; # capital I
+ C9 D099; # capital J
+ CA D09A; # capital K
+ CB D09B; # capital L
+ CC D09C; # capital M
+ CD D09D; # capital N
+ CE D09E; # capital O
+ CF D09F; # capital P
+
+ D0 D0A0; # capital R
+ D1 D0A1; # capital S
+ D2 D0A2; # capital T
+ D3 D0A3; # capital U
+ D4 D0A4; # capital F
+ D5 D0A5; # capital KH
+ D6 D0A6; # capital TS
+ D7 D0A7; # capital CH
+ D8 D0A8; # capital SH
+ D9 D0A9; # capital SHCH
+ DA D0AA; # capital hard sign
+ DB D0AB; # capital Y
+ DC D0AC; # capital soft sign
+ DD D0AD; # capital E
+ DE D0AE; # capital YU
+ DF D0AF; # capital YA
+
+ E0 D0B0; # small a
+ E1 D0B1; # small b
+ E2 D0B2; # small v
+ E3 D0B3; # small g
+ E4 D0B4; # small d
+ E5 D0B5; # small ye
+ E6 D0B6; # small zh
+ E7 D0B7; # small z
+ E8 D0B8; # small i
+ E9 D0B9; # small j
+ EA D0BA; # small k
+ EB D0BB; # small l
+ EC D0BC; # small m
+ ED D0BD; # small n
+ EE D0BE; # small o
+ EF D0BF; # small p
+
+ F0 D180; # small r
+ F1 D181; # small s
+ F2 D182; # small t
+ F3 D183; # small u
+ F4 D184; # small f
+ F5 D185; # small kh
+ F6 D186; # small ts
+ F7 D187; # small ch
+ F8 D188; # small sh
+ F9 D189; # small shch
+ FA D18A; # small hard sign
+ FB D18B; # small y
+ FC D18C; # small soft sign
+ FD D18D; # small e
+ FE D18E; # small yu
+ FF D18F; # small ya
+}
diff --git a/docker/prepare-env.sh b/docker/prepare-env.sh
new file mode 100755
index 0000000..61ff233
--- /dev/null
+++ b/docker/prepare-env.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+FILE=/etc/opnfv_testapi/config.ini
+
+
+if [ "$mongodb_url" != "" ]; then
+ sudo crudini --set --existing $FILE mongo url $mongodb_url
+fi
+
+if [ "$base_url" != "" ]; then
+ sudo crudini --set --existing $FILE api url $base_url/api/v1
+ sudo crudini --set --existing $FILE swagger base_url $base_url
+ sudo crudini --set --existing $FILE ui url $base_url
+ sudo crudini --set --existing $FILE jira OAUTH_CALLBACK_URL $base_url/api/v1/auth/signin_return_jira
+ sudo crudini --set --existing $FILE lfid return_url $base_url/api/v1/auth/signin_return_cas
+fi
diff --git a/docker/start-nginx.sh b/docker/start-nginx.sh
new file mode 100755
index 0000000..c9949be
--- /dev/null
+++ b/docker/start-nginx.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+FILE=/etc/nginx/sites-enabled/default
+
+if [ "$testapi_url" != "" ]; then
+ sed -i "s/server localhost:8010/server $testapi_url/" $FILE
+fi
+
+service supervisor start
+
+tail -f /var/log/supervisor/supervisord.log
diff --git a/docker/start-server.sh b/docker/start-server.sh
new file mode 100755
index 0000000..8bf6084
--- /dev/null
+++ b/docker/start-server.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+bash docker/prepare-env.sh
+opnfv-testapi
diff --git a/docker/supervisor/conf.d/nginx.conf b/docker/supervisor/conf.d/nginx.conf
new file mode 100644
index 0000000..72231ab
--- /dev/null
+++ b/docker/supervisor/conf.d/nginx.conf
@@ -0,0 +1,11 @@
+[program:nginx]
+command = /usr/sbin/nginx
+process_name=%(program_name)s
+numprocs = 1
+autostart = true
+autorestart=true
+startsecs = 5
+user = root
+redirect_stderr = true
+stdout_logfile = /var/log/supervisor/nginx.log
+stderr_logfile =/var/log/supervisor/ghost_err.log
diff --git a/docker/supervisor/supervisord.conf b/docker/supervisor/supervisord.conf
new file mode 100644
index 0000000..afead15
--- /dev/null
+++ b/docker/supervisor/supervisord.conf
@@ -0,0 +1,28 @@
+; supervisor config file
+
+[unix_http_server]
+file=/var/run/supervisor.sock ; (the path to the socket file)
+chmod=0700 ; sockef file mode (default 0700)
+
+[supervisord]
+logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
+pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
+childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
+
+; the below section must remain in the config file for RPC
+; (supervisorctl/web interface) to work, additional interfaces may be
+; added by defining them in separate rpcinterface: sections
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
+
+; The [include] section can just contain the "files" setting. This
+; setting can list multiple files (separated by whitespace or
+; newlines). It can also contain wildcards. The filenames are
+; interpreted as relative to this file. Included files *cannot*
+; include files themselves.
+
+[include]
+files = /etc/supervisor/conf.d/*.conf
diff --git a/docker/vhost.env.sample b/docker/vhost.env.sample
new file mode 100644
index 0000000..1c4c87f
--- /dev/null
+++ b/docker/vhost.env.sample
@@ -0,0 +1 @@
+VIRTUAL_HOST=ovp.localhost