summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml5
-rw-r--r--build.sh1
-rw-r--r--ci/daily.yaml3
-rw-r--r--ci/gate.yaml4
-rw-r--r--ci/run.yaml28
-rw-r--r--docker/benchmarking/Dockerfile24
-rw-r--r--docker/benchmarking/hooks/post_checkout6
-rw-r--r--docker/benchmarking/testcases.yaml35
-rw-r--r--docker/components/testcases.yaml11
-rw-r--r--docker/core/Dockerfile4
-rw-r--r--docker/features/hooks/post_checkout2
-rw-r--r--docker/features/testcases.yaml23
-rw-r--r--docker/healthcheck/testcases.yaml41
-rw-r--r--docker/smoke/Dockerfile17
-rw-r--r--docker/smoke/hooks/post_checkout2
-rw-r--r--docker/smoke/testcases.yaml39
-rw-r--r--docker/tempest/Dockerfile2
-rw-r--r--docker/vnf/testcases.yaml17
-rw-r--r--functest/ci/testcases.yaml188
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py20
-rw-r--r--functest/tests/unit/odl/test_odl.py2
-rw-r--r--setup.cfg28
-rw-r--r--upper-constraints.txt2
23 files changed, 272 insertions, 232 deletions
diff --git a/.travis.yml b/.travis.yml
index ea13625e3..e4060757f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -52,6 +52,11 @@ jobs:
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
+ - amd64_dirs="docker/benchmarking"
+ - arm64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/features"
- arm64_dirs=""
- script: sudo -E bash build.sh
diff --git a/build.sh b/build.sh
index 74f67dada..c3bc57bf2 100644
--- a/build.sh
+++ b/build.sh
@@ -8,6 +8,7 @@ docker/core \
docker/tempest \
docker/healthcheck \
docker/smoke \
+docker/benchmarking \
docker/features \
docker/components \
docker/vnf"}
diff --git a/ci/daily.yaml b/ci/daily.yaml
index 2ae1b68c2..89b404f77 100644
--- a/ci/daily.yaml
+++ b/ci/daily.yaml
@@ -9,6 +9,7 @@
container:
- healthcheck
- smoke
+ - benchmarking
- components
- vnf
- features
@@ -24,6 +25,7 @@
projects:
- name: '{repo}-functest-healthcheck-{tag}-pull'
- name: '{repo}-functest-smoke-{tag}-pull'
+ - name: '{repo}-functest-benchmarking-{tag}-pull'
- name: '{repo}-functest-components-{tag}-pull'
- name: '{repo}-functest-vnf-{tag}-pull'
- name: '{repo}-functest-features-{tag}-pull'
@@ -49,6 +51,7 @@
name: advanced tests
projects:
- name: '{repo}-functest-smoke-{tag}-run'
+ - name: '{repo}-functest-benchmarking-{tag}-run'
- name: '{repo}-functest-components-{tag}-run'
- name: '{repo}-functest-vnf-{tag}-run'
- name: '{repo}-functest-features-{tag}-run'
diff --git a/ci/gate.yaml b/ci/gate.yaml
index ea0c76e09..1abfc67ac 100644
--- a/ci/gate.yaml
+++ b/ci/gate.yaml
@@ -39,6 +39,7 @@
- tempest
- healthcheck
- smoke
+ - benchmarking
- components
- vnf
- features
@@ -67,6 +68,8 @@
<<: *functest-projectparameters
- name: '{repo}-functest-smoke-{tag}-build'
<<: *functest-projectparameters
+ - name: '{repo}-functest-benchmarking-{tag}-build'
+ <<: *functest-projectparameters
- name: '{repo}-functest-components-{tag}-build'
<<: *functest-projectparameters
- name: '{repo}-functest-vnf-{tag}-build'
@@ -97,6 +100,7 @@
name: advanced tests
projects:
- name: '{repo}-functest-smoke-{tag}-run'
+ - name: '{repo}-functest-benchmarking-{tag}-run'
- name: '{repo}-functest-components-{tag}-run'
- name: '{repo}-functest-vnf-{tag}-run'
- name: '{repo}-functest-features-{tag}-run'
diff --git a/ci/run.yaml b/ci/run.yaml
index 558956f6f..9cc374c0c 100644
--- a/ci/run.yaml
+++ b/ci/run.yaml
@@ -68,8 +68,6 @@
- rally_sanity
- refstack_defcore
- patrole
- - vmtp
- - shaker
- snaps_smoke
- neutron_trunk
- networking-bgpvpn
@@ -90,8 +88,6 @@
- name: '{repo}-functest-smoke-rally_sanity-{tag}-run'
- name: '{repo}-functest-smoke-refstack_defcore-{tag}-run'
- name: '{repo}-functest-smoke-patrole-{tag}-run'
- - name: '{repo}-functest-smoke-vmtp-{tag}-run'
- - name: '{repo}-functest-smoke-shaker-{tag}-run'
- name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
- name: '{repo}-functest-smoke-neutron_trunk-{tag}-run'
- name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run'
@@ -104,6 +100,30 @@
- '{repo}-functest-smoke-{tag}-run'
- project:
+ name: '{repo}-functest-benchmarking-{test}-{tag}-run'
+ container: benchmarking
+ test:
+ - vmtp
+ - shaker
+ jobs:
+ - '{repo}-functest-{container}-{test}-{tag}-run'
+
+- job-template:
+ name: '{repo}-functest-benchmarking-{tag}-run'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: smoke
+ projects:
+ - name: '{repo}-functest-benchmarking-vmtp-{tag}-run'
+ - name: '{repo}-functest-benchmarking-shaker-{tag}-run'
+
+- project:
+ name: '{repo}-functest-benchmarking-{tag}-run'
+ jobs:
+ - '{repo}-functest-benchmarking-{tag}-run'
+
+- project:
name: '{repo}-functest-components-{test}-{tag}-run'
container: components
test:
diff --git a/docker/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile
new file mode 100644
index 000000000..3afa5c483
--- /dev/null
+++ b/docker/benchmarking/Dockerfile
@@ -0,0 +1,24 @@
+FROM opnfv/functest-core
+
+ARG BRANCH=master
+ARG OPENSTACK_TAG=stable/queens
+ARG VMTP_TAG=99b261ccccc2f8a08ee2d8fca9f54ef9d69899d7
+
+RUN apk --no-cache add --update libxml2 libxslt && \
+ apk --no-cache add --virtual .build-deps --update \
+ python-dev build-base linux-headers libffi-dev \
+ openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
+ wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
+ sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \
+ > upper-constraints.txt && \
+ wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \
+ sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \
+ git clone https://git.openstack.org/openstack/vmtp.git /src/vmtp && \
+ (cd /src/vmtp && git fetch origin --tags $VMTP_TAG && git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \
+ pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
+ /src/vmtp && \
+ rm -r upper-constraints.txt upper-constraints.opnfv.txt src/vmtp && \
+ apk del .build-deps
+COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml
+CMD ["run_tests", "-t", "all"]
diff --git a/docker/benchmarking/hooks/post_checkout b/docker/benchmarking/hooks/post_checkout
new file mode 100644
index 000000000..8d0e98124
--- /dev/null
+++ b/docker/benchmarking/hooks/post_checkout
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
+
+exit $?
diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml
new file mode 100644
index 000000000..0c4372679
--- /dev/null
+++ b/docker/benchmarking/testcases.yaml
@@ -0,0 +1,35 @@
+---
+tiers:
+ -
+ name: benchmarking
+ order: 2
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: vmtp
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ VMTP is a small python application that will automatically
+ perform ping connectivity, round trip time measurement
+ (latency) and TCP/UDP throughput
+ dependencies:
+ - POD_ARCH: '^(?!aarch64$)'
+ run:
+ name: vmtp
+
+ -
+ case_name: shaker
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ Shaker wraps around popular system network testing tools
+ like iperf, iperf3 and netperf (with help of flent). Shaker
+ is able to deploy OpenStack instances and networks in
+ different topologies.
+ run:
+ name: shaker
diff --git a/docker/components/testcases.yaml b/docker/components/testcases.yaml
index 6292d339c..73a88aeb7 100644
--- a/docker/components/testcases.yaml
+++ b/docker/components/testcases.yaml
@@ -2,7 +2,7 @@
tiers:
-
name: components
- order: 3
+ order: 4
description: >-
Extensive testing of OpenStack API.
testcases:
@@ -17,8 +17,7 @@ tiers:
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L83
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
option:
@@ -35,8 +34,7 @@ tiers:
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)'
option:
@@ -51,5 +49,4 @@ tiers:
This test case runs the full suite of scenarios of the
OpenStack Rally suite using several threads and iterations.
run:
- module: 'functest.opnfv_tests.openstack.rally.rally'
- class: 'RallyFull'
+ name: rally_full
diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile
index 97e4b17e8..8f744db67 100644
--- a/docker/core/Dockerfile
+++ b/docker/core/Dockerfile
@@ -15,8 +15,12 @@ RUN apk --no-cache add --update \
pip install --no-cache-dir --src /src -cupper-constraints.txt \
-chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
pip==$PIP_TAG && \
+ pip install --no-cache-dir --src /src -cupper-constraints.txt \
+ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
+ -e git+https://git.openstack.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \
git clone --depth 1 https://gerrit.opnfv.org/gerrit/functest /src/functest && \
(cd /src/functest && git fetch --depth 1 --tags origin $BRANCH && git checkout FETCH_HEAD) && \
+ update-requirements -s --source /src/openstack-requirements /src/functest && \
pip install --no-cache-dir --src /src -cupper-constraints.txt \
-chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
/src/functest && \
diff --git a/docker/features/hooks/post_checkout b/docker/features/hooks/post_checkout
index 8d0e98124..3e5670b4a 100644
--- a/docker/features/hooks/post_checkout
+++ b/docker/features/hooks/post_checkout
@@ -1,6 +1,6 @@
#!/bin/bash
-from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
exit $?
diff --git a/docker/features/testcases.yaml b/docker/features/testcases.yaml
index 138451174..a2f71f8c1 100644
--- a/docker/features/testcases.yaml
+++ b/docker/features/testcases.yaml
@@ -2,7 +2,7 @@
tiers:
-
name: features
- order: 2
+ order: 3
description: >-
Test suites from feature projects
integrated in functest
@@ -18,8 +18,7 @@ tiers:
- INSTALLER_TYPE: '(apex)|(fuel)|(daisy)'
- DEPLOY_SCENARIO: '^((?!fdio|nofeature).)*$'
run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
+ name: bashfeature
args:
cmd: 'doctor-test'
@@ -33,8 +32,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'bgpvpn'
run:
- module: 'sdnvpn.test.functest.run_sdnvpn_tests'
- class: 'SdnvpnFunctest'
+ name: bgpvpn
-
case_name: functest-odl-sfc
@@ -47,8 +45,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl.*sfc'
run:
- module: 'sfc.tests.functest.run_sfc_tests'
- class: 'SfcFunctest'
+ name: functest-odl-sfc
-
case_name: barometercollectd
@@ -62,8 +59,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'bar'
run:
- module: 'baro_tests.barometer'
- class: 'BarometerCollectd'
+ name: barometercollectd
-
case_name: fds
@@ -77,8 +73,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl.*-fdio'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/fds/testing/robot
@@ -92,8 +87,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'vgpu'
run:
- module: 'functest.opnfv_tests.openstack.vgpu.vgpu'
- class: 'vGPU'
+ name: vgpu
-
case_name: stor4nfv_os
@@ -106,5 +100,4 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'stor4nfv'
run:
- module: 'stor4nfv_tests.stor4nfv_os'
- class: 'OsStor4nfvTest'
+ name: stor4nfv_os
diff --git a/docker/healthcheck/testcases.yaml b/docker/healthcheck/testcases.yaml
index 84135678b..cdb13e53b 100644
--- a/docker/healthcheck/testcases.yaml
+++ b/docker/healthcheck/testcases.yaml
@@ -17,9 +17,7 @@ tiers:
Keystone, Glance, Neutron and Nova and may perform some
simple queries.
run:
- module:
- 'functest.opnfv_tests.openstack.api.connection_check'
- class: 'ConnectionCheck'
+ name: connection_check
-
case_name: tenantnetwork1
@@ -31,8 +29,7 @@ tiers:
required by advanced testcases (subnet, network and
router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork1'
+ name: tenantnetwork1
-
case_name: tenantnetwork2
@@ -44,8 +41,7 @@ tiers:
all tenant network ressources required by a testcase
(subnet, network and router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork2'
+ name: tenantnetwork2
-
case_name: vmready1
@@ -57,8 +53,7 @@ tiers:
resources and prepares a future VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady1'
+ name: vmready1
-
case_name: vmready2
@@ -70,8 +65,7 @@ tiers:
all tenant network ressources, flavors, images, etc.
required by advanced testcases.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady2'
+ name: vmready2
-
case_name: singlevm1
@@ -83,8 +77,7 @@ tiers:
resources and completes it by booting a VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm1'
+ name: singlevm1
-
case_name: singlevm2
@@ -96,8 +89,7 @@ tiers:
all tenant network ressources and vms required by advanced
testcases.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm2'
+ name: singlevm2
-
case_name: vping_ssh
@@ -109,8 +101,7 @@ tiers:
floating IPs over the public network. 2) Connectivity
between 2 instances over a private network.
run:
- module: 'functest.opnfv_tests.openstack.vping.vping_ssh'
- class: 'VPingSSH'
+ name: vping_ssh
-
case_name: vping_userdata
@@ -121,9 +112,7 @@ tiers:
This test case verifies: 1) Boot a VM with given userdata.
2) Connectivity between 2 instances over a private network.
run:
- module:
- 'functest.opnfv_tests.openstack.vping.vping_userdata'
- class: 'VPingUserdata'
+ name: vping_userdata
-
case_name: cinder_test
@@ -136,8 +125,7 @@ tiers:
from instance 1, attach it on instance 2 3) Read volume
data
run:
- module: 'functest.opnfv_tests.openstack.cinder.cinder_test'
- class: 'CinderCheck'
+ name: cinder_test
-
case_name: odl
@@ -151,8 +139,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/odl_test/csit/suites/integration/basic
@@ -170,8 +157,7 @@ tiers:
snaps.use_keystone is True, functest must have access to
the cloud's private network.
run:
- module: 'functest.opnfv_tests.openstack.snaps.api_check'
- class: 'ApiCheck'
+ name: api_check
-
case_name: snaps_health_check
@@ -184,5 +170,4 @@ tiers:
and Cirros VM instance and observes the console output to
validate the single port obtains the correct IP address.
run:
- module: 'functest.opnfv_tests.openstack.snaps.health_check'
- class: 'HealthCheck'
+ name: snaps_health_check
diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile
index 7e4939a41..58d096108 100644
--- a/docker/smoke/Dockerfile
+++ b/docker/smoke/Dockerfile
@@ -4,14 +4,12 @@ ARG BRANCH=master
ARG OPENSTACK_TAG=stable/queens
ARG REFSTACK_TARGET=2018.02
ARG PATROLE_TAG=0.3.0
-ARG VMTP_TAG=99b261ccccc2f8a08ee2d8fca9f54ef9d69899d7
-ARG NEUTRON_TAG=d307f5635d4015e7842a4a177f66c76ba4bd818a
-ARG BARBICAN_TAG=b8bf147bdcdd33f3ad276ca8815fd253ec9b24af
+ARG NEUTRON_TAG=0.2.0
+ARG BARBICAN_TAG=0.1.0
-RUN apk --no-cache add --update libxml2 libxslt && \
- apk --no-cache add --virtual .build-deps --update \
+RUN apk --no-cache add --virtual .build-deps --update \
python-dev build-base linux-headers libffi-dev \
- openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \
+ openssl-dev libjpeg-turbo-dev && \
wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \
sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \
> upper-constraints.txt && \
@@ -20,9 +18,6 @@ RUN apk --no-cache add --update libxml2 libxslt && \
git clone --depth 1 https://git.openstack.org/openstack/patrole.git /src/patrole && \
(cd /src/patrole && git fetch --tags origin $PATROLE_TAG && git checkout FETCH_HEAD) && \
update-requirements -s --source /src/openstack-requirements /src/patrole/ && \
- git clone https://git.openstack.org/openstack/vmtp.git /src/vmtp && \
- (cd /src/vmtp && git fetch origin --tags $VMTP_TAG && git checkout FETCH_HEAD) && \
- update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \
git clone https://git.openstack.org/openstack/neutron-tempest-plugin.git /src/neutron-tempest-plugin && \
(cd /src/neutron-tempest-plugin && git fetch --tags origin $NEUTRON_TAG && git checkout FETCH_HEAD) && \
update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \
@@ -31,9 +26,9 @@ RUN apk --no-cache add --update libxml2 libxslt && \
update-requirements -s --source /src/openstack-requirements /src/barbican-tempest-plugin/ && \
pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
/src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \
- networking-bgpvpn networking-sfc /src/vmtp && \
+ networking-bgpvpn networking-sfc && \
rm -r upper-constraints.txt upper-constraints.opnfv.txt \
- /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin /src/vmtp && \
+ /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin && \
mkdir -p /home/opnfv/functest/data/refstack && \
wget "https://refstack.openstack.org/api/v1/guidelines/${REFSTACK_TARGET}/tests?target=compute&type=required&alias=true&flag=false" \
-O /home/opnfv/functest/data/refstack/defcore.txt && \
diff --git a/docker/smoke/hooks/post_checkout b/docker/smoke/hooks/post_checkout
index 8d0e98124..3e5670b4a 100644
--- a/docker/smoke/hooks/post_checkout
+++ b/docker/smoke/hooks/post_checkout
@@ -1,6 +1,6 @@
#!/bin/bash
-from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
exit $?
diff --git a/docker/smoke/testcases.yaml b/docker/smoke/testcases.yaml
index 7c22e838c..2897e1045 100644
--- a/docker/smoke/testcases.yaml
+++ b/docker/smoke/testcases.yaml
@@ -18,8 +18,7 @@ tiers:
the OpenStack deplopyment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L114
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)'
option:
@@ -36,8 +35,7 @@ tiers:
Tempest automatically and depends on the parameters of
the OpenStack deployment.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '^neutron_tempest_plugin\.api'
option:
@@ -52,8 +50,7 @@ tiers:
This test case runs a sub group of tests of the OpenStack
Rally suite in smoke mode.
run:
- module: 'functest.opnfv_tests.openstack.rally.rally'
- class: 'RallySanity'
+ name: rally_sanity
-
case_name: refstack_defcore
@@ -64,9 +61,7 @@ tiers:
This test case runs a sub group of tests of the OpenStack
Defcore testcases.
run:
- module:
- 'functest.opnfv_tests.openstack.refstack.refstack'
- class: 'Refstack'
+ name: refstack_defcore
args:
option:
- '--concurrency=4'
@@ -79,8 +74,7 @@ tiers:
description: >-
Test suite from Patrole project.
run:
- module: 'functest.opnfv_tests.openstack.patrole.patrole'
- class: 'Patrole'
+ name: patrole
args:
role: 'admin'
includes:
@@ -101,9 +95,7 @@ tiers:
dependencies:
- POD_ARCH: '^(?!aarch64$)'
run:
- module:
- 'functest.opnfv_tests.openstack.vmtp.vmtp'
- class: 'Vmtp'
+ name: vmtp
-
case_name: shaker
@@ -116,9 +108,7 @@ tiers:
is able to deploy OpenStack instances and networks in
different topologies.
run:
- module:
- 'functest.opnfv_tests.openstack.shaker.shaker'
- class: 'Shaker'
+ name: shaker
-
case_name: snaps_smoke
@@ -134,8 +124,7 @@ tiers:
snaps.use_keystone is True, functest must have access to
the cloud's private network.
run:
- module: 'functest.opnfv_tests.openstack.snaps.smoke'
- class: 'SnapsSmoke'
+ name: snaps_smoke
-
case_name: neutron_trunk
@@ -148,8 +137,7 @@ tiers:
generated by Tempest having as input the relevant
testcase list file.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: 'neutron_tempest_plugin.(api|scenario).test_trunk'
neutron_extensions:
@@ -166,8 +154,7 @@ tiers:
suite. The list of test cases is generated by Tempest
having as input the relevant regex.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '^networking_bgpvpn_tempest\.'
neutron_extensions:
@@ -185,8 +172,7 @@ tiers:
suite. The list of test cases is generated by Tempest
having as input the relevant regex.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode:
'^(?:networking_sfc\.tests\.tempest_plugin.tests.api).*$'
@@ -204,8 +190,7 @@ tiers:
It leverages on the tempest plugin containing tests used to
verify the functionality of a barbican installation.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode:
'barbican_tempest_plugin.tests.(api|scenario).(?!test_image_signing)'
diff --git a/docker/tempest/Dockerfile b/docker/tempest/Dockerfile
index 3c30bae5a..d53457913 100644
--- a/docker/tempest/Dockerfile
+++ b/docker/tempest/Dockerfile
@@ -21,8 +21,6 @@ RUN apk --no-cache add --virtual .build-deps --update \
esac && \
wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \
sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \
- pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
- -e git+https://git.openstack.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \
git clone --depth 1 https://git.openstack.org/openstack/os-faults.git /src/os-faults && \
(cd /src/os-faults && git fetch --depth 1 --tags origin $OS_FAULTS_TAG && git checkout FETCH_HEAD) && \
update-requirements -s --source /src/openstack-requirements /src/os-faults/ && \
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index 1f0817708..170eed0e5 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -2,7 +2,7 @@
tiers:
-
name: vnf
- order: 4
+ order: 5
description: >-
Collection of VNF test cases.
testcases:
@@ -16,8 +16,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.core.cloudify'
- class: 'Cloudify'
+ name: cloudify
-
case_name: cloudify_ims
project_name: functest
@@ -30,8 +29,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
- class: 'CloudifyIms'
+ name: cloudify_ims
-
case_name: heat_ims
@@ -45,8 +43,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.heat_ims'
- class: 'HeatIms'
+ name: heat_ims
-
case_name: vyos_vrouter
@@ -58,8 +55,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
- class: 'CloudifyVrouter'
+ name: vyos_vrouter
-
case_name: juju_epc
@@ -72,5 +68,4 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.epc.juju_epc'
- class: 'JujuEpc'
+ name: juju_epc
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index 4b73a8418..20dc865d1 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -17,9 +17,7 @@ tiers:
Keystone, Glance, Neutron and Nova and may perform some
simple queries.
run:
- module:
- 'functest.opnfv_tests.openstack.api.connection_check'
- class: 'ConnectionCheck'
+ name: connection_check
-
case_name: tenantnetwork1
@@ -31,8 +29,7 @@ tiers:
required by advanced testcases (subnet, network and
router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork1'
+ name: tenantnetwork1
-
case_name: tenantnetwork2
@@ -44,8 +41,7 @@ tiers:
all tenant network ressources required by a testcase
(subnet, network and router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork2'
+ name: tenantnetwork2
-
case_name: vmready1
@@ -57,8 +53,7 @@ tiers:
resources and prepares a future VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady1'
+ name: vmready1
-
case_name: vmready2
@@ -70,8 +65,7 @@ tiers:
all tenant network ressources, flavors, images, etc.
required by advanced testcases.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady2'
+ name: vmready2
-
case_name: singlevm1
@@ -83,8 +77,7 @@ tiers:
resources and completes it by booting a VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm1'
+ name: singlevm1
-
case_name: singlevm2
@@ -96,8 +89,7 @@ tiers:
all tenant network ressources and vms required by advanced
testcases.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm2'
+ name: singlevm2
-
case_name: vping_ssh
@@ -109,8 +101,7 @@ tiers:
floating IPs over the public network. 2) Connectivity
between 2 instances over a private network.
run:
- module: 'functest.opnfv_tests.openstack.vping.vping_ssh'
- class: 'VPingSSH'
+ name: vping_ssh
-
case_name: vping_userdata
@@ -121,9 +112,7 @@ tiers:
This test case verifies: 1) Boot a VM with given userdata.
2) Connectivity between 2 instances over a private network.
run:
- module:
- 'functest.opnfv_tests.openstack.vping.vping_userdata'
- class: 'VPingUserdata'
+ name: vping_userdata
-
case_name: cinder_test
@@ -136,8 +125,7 @@ tiers:
from instance 1, attach it on instance 2 3) Read volume
data
run:
- module: 'functest.opnfv_tests.openstack.cinder.cinder_test'
- class: 'CinderCheck'
+ name: cinder_test
-
case_name: odl
@@ -151,8 +139,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/odl_test/csit/suites/integration/basic
@@ -170,8 +157,7 @@ tiers:
snaps.use_keystone is True, functest must have access to
the cloud's private network.
run:
- module: 'functest.opnfv_tests.openstack.snaps.api_check'
- class: 'ApiCheck'
+ name: api_check
-
case_name: snaps_health_check
@@ -184,8 +170,7 @@ tiers:
and Cirros VM instance and observes the console output to
validate the single port obtains the correct IP address.
run:
- module: 'functest.opnfv_tests.openstack.snaps.health_check'
- class: 'HealthCheck'
+ name: snaps_health_check
-
name: smoke
@@ -205,8 +190,7 @@ tiers:
the OpenStack deplopyment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L114
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)'
option:
@@ -223,8 +207,7 @@ tiers:
Tempest automatically and depends on the parameters of
the OpenStack deployment.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '^neutron_tempest_plugin\.api'
option:
@@ -239,8 +222,7 @@ tiers:
This test case runs a sub group of tests of the OpenStack
Rally suite in smoke mode.
run:
- module: 'functest.opnfv_tests.openstack.rally.rally'
- class: 'RallySanity'
+ name: rally_sanity
-
case_name: refstack_defcore
@@ -251,9 +233,7 @@ tiers:
This test case runs a sub group of tests of the OpenStack
Defcore testcases.
run:
- module:
- 'functest.opnfv_tests.openstack.refstack.refstack'
- class: 'Refstack'
+ name: refstack_defcore
args:
option:
- '--concurrency=4'
@@ -266,8 +246,7 @@ tiers:
description: >-
Test suite from Patrole project.
run:
- module: 'functest.opnfv_tests.openstack.patrole.patrole'
- class: 'Patrole'
+ name: patrole
args:
role: 'admin'
includes:
@@ -277,37 +256,6 @@ tiers:
- 'test_networks_multiprovider_rbac'
-
- case_name: vmtp
- project_name: functest
- criteria: 100
- blocking: false
- description: >-
- VMTP is a small python application that will automatically
- perform ping connectivity, round trip time measurement
- (latency) and TCP/UDP throughput
- dependencies:
- - POD_ARCH: '^(?!aarch64$)'
- run:
- module:
- 'functest.opnfv_tests.openstack.vmtp.vmtp'
- class: 'Vmtp'
-
- -
- case_name: shaker
- project_name: functest
- criteria: 100
- blocking: false
- description: >-
- Shaker wraps around popular system network testing tools
- like iperf, iperf3 and netperf (with help of flent). Shaker
- is able to deploy OpenStack instances and networks in
- different topologies.
- run:
- module:
- 'functest.opnfv_tests.openstack.shaker.shaker'
- class: 'Shaker'
-
- -
case_name: snaps_smoke
project_name: functest
criteria: 100
@@ -321,8 +269,7 @@ tiers:
snaps.use_keystone is True, functest must have access to
the cloud's private network.
run:
- module: 'functest.opnfv_tests.openstack.snaps.smoke'
- class: 'SnapsSmoke'
+ name: snaps_smoke
-
case_name: neutron_trunk
@@ -335,8 +282,7 @@ tiers:
generated by Tempest having as input the relevant
testcase list file.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: 'neutron_tempest_plugin.(api|scenario).test_trunk'
neutron_extensions:
@@ -353,8 +299,7 @@ tiers:
suite. The list of test cases is generated by Tempest
having as input the relevant regex.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '^networking_bgpvpn_tempest\.'
neutron_extensions:
@@ -372,8 +317,7 @@ tiers:
suite. The list of test cases is generated by Tempest
having as input the relevant regex.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode:
'^(?:networking_sfc\.tests\.tempest_plugin.tests.api).*$'
@@ -391,8 +335,7 @@ tiers:
It leverages on the tempest plugin containing tests used to
verify the functionality of a barbican installation.
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode:
'barbican_tempest_plugin.tests.(api|scenario).(?!test_image_signing)'
@@ -400,9 +343,43 @@ tiers:
- barbican
-
- name: features
+ name: benchmarking
order: 2
description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: vmtp
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ VMTP is a small python application that will automatically
+ perform ping connectivity, round trip time measurement
+ (latency) and TCP/UDP throughput
+ dependencies:
+ - POD_ARCH: '^(?!aarch64$)'
+ run:
+ name: vmtp
+
+ -
+ case_name: shaker
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ Shaker wraps around popular system network testing tools
+ like iperf, iperf3 and netperf (with help of flent). Shaker
+ is able to deploy OpenStack instances and networks in
+ different topologies.
+ run:
+ name: shaker
+
+ -
+ name: features
+ order: 3
+ description: >-
Test suites from feature projects
integrated in functest
testcases:
@@ -417,8 +394,7 @@ tiers:
- INSTALLER_TYPE: '(apex)|(fuel)|(daisy)'
- DEPLOY_SCENARIO: '^((?!fdio|nofeature).)*$'
run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
+ name: bashfeature
args:
cmd: 'doctor-test'
@@ -432,8 +408,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'bgpvpn'
run:
- module: 'sdnvpn.test.functest.run_sdnvpn_tests'
- class: 'SdnvpnFunctest'
+ name: bgpvpn
-
case_name: functest-odl-sfc
@@ -446,8 +421,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl.*sfc'
run:
- module: 'sfc.tests.functest.run_sfc_tests'
- class: 'SfcFunctest'
+ name: functest-odl-sfc
-
case_name: barometercollectd
@@ -461,8 +435,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'bar'
run:
- module: 'baro_tests.barometer'
- class: 'BarometerCollectd'
+ name: barometercollectd
-
case_name: fds
@@ -476,8 +449,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'odl.*-fdio'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/fds/testing/robot
@@ -491,8 +463,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'vgpu'
run:
- module: 'functest.opnfv_tests.openstack.vgpu.vgpu'
- class: 'vGPU'
+ name: vgpu
-
case_name: stor4nfv_os
@@ -505,12 +476,11 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'stor4nfv'
run:
- module: 'stor4nfv_tests.stor4nfv_os'
- class: 'OsStor4nfvTest'
+ name: stor4nfv_os
-
name: components
- order: 3
+ order: 4
description: >-
Extensive testing of OpenStack API.
testcases:
@@ -525,8 +495,7 @@ tiers:
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L83
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
option:
@@ -543,8 +512,7 @@ tiers:
the OpenStack deployment.
https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84
run:
- module: 'functest.opnfv_tests.openstack.tempest.tempest'
- class: 'TempestCommon'
+ name: tempest_common
args:
mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)'
option:
@@ -559,12 +527,11 @@ tiers:
This test case runs the full suite of scenarios of the
OpenStack Rally suite using several threads and iterations.
run:
- module: 'functest.opnfv_tests.openstack.rally.rally'
- class: 'RallyFull'
+ name: rally_full
-
name: vnf
- order: 4
+ order: 5
description: >-
Collection of VNF test cases.
testcases:
@@ -578,8 +545,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.core.cloudify'
- class: 'Cloudify'
+ name: cloudify
-
case_name: cloudify_ims
project_name: functest
@@ -592,8 +558,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
- class: 'CloudifyIms'
+ name: cloudify_ims
-
case_name: heat_ims
@@ -607,8 +572,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.heat_ims'
- class: 'HeatIms'
+ name: heat_ims
-
case_name: vyos_vrouter
@@ -620,8 +584,7 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
- class: 'CloudifyVrouter'
+ name: vyos_vrouter
-
case_name: juju_epc
@@ -634,5 +597,4 @@ tiers:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.epc.juju_epc'
- class: 'JujuEpc'
+ name: juju_epc
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index bd337ce2f..329e6b917 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -306,9 +306,9 @@ class TempestCommon(singlevm.VmReady2):
"""Set image name as tempest img_name_regex"""
rconfig = configparser.RawConfigParser()
rconfig.read(rally_conf)
- if not rconfig.has_section('tempest'):
- rconfig.add_section('tempest')
- rconfig.set('tempest', 'img_name_regex', '^{}$'.format(
+ if not rconfig.has_section('openstack'):
+ rconfig.add_section('openstack')
+ rconfig.set('openstack', 'img_name_regex', '^{}$'.format(
self.image.name))
with open(rally_conf, 'wb') as config_file:
rconfig.write(config_file)
@@ -320,9 +320,9 @@ class TempestCommon(singlevm.VmReady2):
return
rconfig = configparser.RawConfigParser()
rconfig.read(rally_conf)
- if not rconfig.has_section('tempest'):
- rconfig.add_section('tempest')
- rconfig.set('tempest', 'swift_operator_role', role.name)
+ if not rconfig.has_section('openstack'):
+ rconfig.add_section('openstack')
+ rconfig.set('openstack', 'swift_operator_role', role.name)
with open(rally_conf, 'wb') as config_file:
rconfig.write(config_file)
@@ -342,10 +342,10 @@ class TempestCommon(singlevm.VmReady2):
"""Clean Rally config"""
rconfig = configparser.RawConfigParser()
rconfig.read(rally_conf)
- if rconfig.has_option('tempest', 'img_name_regex'):
- rconfig.remove_option('tempest', 'img_name_regex')
- if rconfig.has_option('tempest', 'swift_operator_role'):
- rconfig.remove_option('tempest', 'swift_operator_role')
+ if rconfig.has_option('openstack', 'img_name_regex'):
+ rconfig.remove_option('openstack', 'img_name_regex')
+ if rconfig.has_option('openstack', 'swift_operator_role'):
+ rconfig.remove_option('openstack', 'swift_operator_role')
if rconfig.has_option('DEFAULT', 'log-file'):
rconfig.remove_option('DEFAULT', 'log-file')
if rconfig.has_option('DEFAULT', 'log_dir'):
diff --git a/functest/tests/unit/odl/test_odl.py b/functest/tests/unit/odl/test_odl.py
index f65170453..1b2e10b07 100644
--- a/functest/tests/unit/odl/test_odl.py
+++ b/functest/tests/unit/odl/test_odl.py
@@ -253,7 +253,7 @@ class ODLMainTesting(ODLTesting):
mock.patch.object(self.test, 'parse_results'), \
mock.patch.object(self.test, 'generate_report',
return_value=1):
- self._test_run_suites(testcase.TestCase.EX_RUN_ERROR, *args)
+ self._test_run_suites(testcase.TestCase.EX_OK, *args)
@mock.patch('os.makedirs')
@mock.patch('robot.run')
diff --git a/setup.cfg b/setup.cfg
index 17451a5b3..0f3a63594 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -13,6 +13,34 @@ scripts =
console_scripts =
functest_odl = functest.opnfv_tests.sdn.odl.odl:main
check_deployment = functest.ci.check_deployment:main
+xtesting.testcase =
+ connection_check = functest.opnfv_tests.openstack.api.connection_check:ConnectionCheck
+ tenantnetwork1 = functest.core.tenantnetwork:TenantNetwork1
+ tenantnetwork2 = functest.core.tenantnetwork:TenantNetwork2
+ vmready1 = functest.core.singlevm:VmReady1
+ vmready2 = functest.core.singlevm:VmReady2
+ singlevm1 = functest.core.singlevm:SingleVm1
+ singlevm2 = functest.core.singlevm:SingleVm2
+ vping_ssh = functest.opnfv_tests.openstack.vping.vping_ssh:VPingSSH
+ vping_userdata = functest.opnfv_tests.openstack.vping.vping_userdata:VPingUserdata
+ cinder_test = functest.opnfv_tests.openstack.cinder.cinder_test:CinderCheck
+ odl = functest.opnfv_tests.sdn.odl.odl:ODLTests
+ api_check = functest.opnfv_tests.openstack.snaps.api_check:ApiCheck
+ snaps_health_check = functest.opnfv_tests.openstack.snaps.health_check:HealthCheck
+ tempest_common = functest.opnfv_tests.openstack.tempest.tempest:TempestCommon
+ rally_sanity = functest.opnfv_tests.openstack.rally.rally:RallySanity
+ refstack_defcore = functest.opnfv_tests.openstack.refstack.refstack:Refstack
+ patrole = functest.opnfv_tests.openstack.patrole.patrole:Patrole
+ vmtp = functest.opnfv_tests.openstack.vmtp.vmtp:Vmtp
+ shaker = functest.opnfv_tests.openstack.shaker.shaker:Shaker
+ snaps_smoke = functest.opnfv_tests.openstack.snaps.smoke:SnapsSmoke
+ vgpu = functest.opnfv_tests.openstack.vgpu.vgpu:vGPU
+ rally_full = functest.opnfv_tests.openstack.rally.rally:RallyFull
+ cloudify = functest.core.cloudify:Cloudify
+ cloudify_ims = functest.opnfv_tests.vnf.ims.cloudify_ims:CloudifyIms
+ heat_ims = functest.opnfv_tests.vnf.ims.heat_ims:HeatIms
+ vyos_vrouter = functest.opnfv_tests.vnf.router.cloudify_vrouter:CloudifyVrouter
+ juju_epc = functest.opnfv_tests.vnf.epc.juju_epc:JujuEpc
[build_sphinx]
all_files = 1
diff --git a/upper-constraints.txt b/upper-constraints.txt
index 2ffb034e7..8ac4fd069 100644
--- a/upper-constraints.txt
+++ b/upper-constraints.txt
@@ -16,6 +16,6 @@ robotframework-httplibrary===0.4.2
robotframework-requests===0.4.7
robotframework-sshlibrary===2.1.3;python_version=='2.7'
ansible===2.3.2.0
-xtesting===0.58.0
+xtesting===0.60.0
networking-bgpvpn===8.0.0
networking-sfc===6.0.0