- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/smoke"
- arm64_dirs=""
+ - 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}"
docker/tempest \
docker/healthcheck \
docker/smoke \
+docker/benchmarking \
docker/features \
docker/components \
docker/vnf"}
container:
- healthcheck
- smoke
+ - benchmarking
- components
- vnf
- features
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'
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'
- tempest
- healthcheck
- smoke
+ - benchmarking
- components
- vnf
- features
<<: *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'
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'
- rally_sanity
- refstack_defcore
- patrole
- - vmtp
- - shaker
- snaps_smoke
- neutron_trunk
- networking-bgpvpn
- 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'
jobs:
- '{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
--- /dev/null
+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"]
--- /dev/null
+#!/bin/bash
+
+from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
+
+exit $?
--- /dev/null
+---
+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
tiers:
-
name: components
- order: 3
+ order: 4
description: >-
Extensive testing of OpenStack API.
testcases:
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:
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:
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
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 && \
#!/bin/bash
-from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
exit $?
tiers:
-
name: features
- order: 2
+ order: 3
description: >-
Test suites from feature projects
integrated in functest
- INSTALLER_TYPE: '(apex)|(fuel)|(daisy)'
- DEPLOY_SCENARIO: '^((?!fdio|nofeature).)*$'
run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
+ name: bashfeature
args:
cmd: 'doctor-test'
dependencies:
- DEPLOY_SCENARIO: 'bgpvpn'
run:
- module: 'sdnvpn.test.functest.run_sdnvpn_tests'
- class: 'SdnvpnFunctest'
+ name: bgpvpn
-
case_name: functest-odl-sfc
dependencies:
- DEPLOY_SCENARIO: 'odl.*sfc'
run:
- module: 'sfc.tests.functest.run_sfc_tests'
- class: 'SfcFunctest'
+ name: functest-odl-sfc
-
case_name: barometercollectd
dependencies:
- DEPLOY_SCENARIO: 'bar'
run:
- module: 'baro_tests.barometer'
- class: 'BarometerCollectd'
+ name: barometercollectd
-
case_name: fds
dependencies:
- DEPLOY_SCENARIO: 'odl.*-fdio'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/fds/testing/robot
dependencies:
- DEPLOY_SCENARIO: 'vgpu'
run:
- module: 'functest.opnfv_tests.openstack.vgpu.vgpu'
- class: 'vGPU'
+ name: vgpu
-
case_name: stor4nfv_os
dependencies:
- DEPLOY_SCENARIO: 'stor4nfv'
run:
- module: 'stor4nfv_tests.stor4nfv_os'
- class: 'OsStor4nfvTest'
+ name: stor4nfv_os
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
required by advanced testcases (subnet, network and
router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork1'
+ name: tenantnetwork1
-
case_name: tenantnetwork2
all tenant network ressources required by a testcase
(subnet, network and router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork2'
+ name: tenantnetwork2
-
case_name: vmready1
resources and prepares a future VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady1'
+ name: vmready1
-
case_name: vmready2
all tenant network ressources, flavors, images, etc.
required by advanced testcases.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady2'
+ name: vmready2
-
case_name: singlevm1
resources and completes it by booting a VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm1'
+ name: singlevm1
-
case_name: singlevm2
all tenant network ressources and vms required by advanced
testcases.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm2'
+ name: singlevm2
-
case_name: vping_ssh
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
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
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
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
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
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
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 && \
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 && \
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 && \
#!/bin/bash
-from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
+from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
exit $?
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:
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:
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
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'
description: >-
Test suite from Patrole project.
run:
- module: 'functest.opnfv_tests.openstack.patrole.patrole'
- class: 'Patrole'
+ name: patrole
args:
role: 'admin'
includes:
dependencies:
- POD_ARCH: '^(?!aarch64$)'
run:
- module:
- 'functest.opnfv_tests.openstack.vmtp.vmtp'
- class: 'Vmtp'
+ name: vmtp
-
case_name: shaker
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
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
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:
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:
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).*$'
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)'
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/ && \
tiers:
-
name: vnf
- order: 4
+ order: 5
description: >-
Collection of VNF test cases.
testcases:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.core.cloudify'
- class: 'Cloudify'
+ name: cloudify
-
case_name: cloudify_ims
project_name: functest
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
- class: 'CloudifyIms'
+ name: cloudify_ims
-
case_name: heat_ims
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.heat_ims'
- class: 'HeatIms'
+ name: heat_ims
-
case_name: vyos_vrouter
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
- class: 'CloudifyVrouter'
+ name: vyos_vrouter
-
case_name: juju_epc
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.epc.juju_epc'
- class: 'JujuEpc'
+ name: juju_epc
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
required by advanced testcases (subnet, network and
router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork1'
+ name: tenantnetwork1
-
case_name: tenantnetwork2
all tenant network ressources required by a testcase
(subnet, network and router).
run:
- module: 'functest.core.tenantnetwork'
- class: 'TenantNetwork2'
+ name: tenantnetwork2
-
case_name: vmready1
resources and prepares a future VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady1'
+ name: vmready1
-
case_name: vmready2
all tenant network ressources, flavors, images, etc.
required by advanced testcases.
run:
- module: 'functest.core.singlevm'
- class: 'VmReady2'
+ name: vmready2
-
case_name: singlevm1
resources and completes it by booting a VM attached to that
network.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm1'
+ name: singlevm1
-
case_name: singlevm2
all tenant network ressources and vms required by advanced
testcases.
run:
- module: 'functest.core.singlevm'
- class: 'SingleVm2'
+ name: singlevm2
-
case_name: vping_ssh
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
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
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
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
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
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
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:
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:
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
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'
description: >-
Test suite from Patrole project.
run:
- module: 'functest.opnfv_tests.openstack.patrole.patrole'
- class: 'Patrole'
+ name: patrole
args:
role: 'admin'
includes:
excludes:
- '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
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
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:
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:
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).*$'
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)'
- 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
- INSTALLER_TYPE: '(apex)|(fuel)|(daisy)'
- DEPLOY_SCENARIO: '^((?!fdio|nofeature).)*$'
run:
- module: 'xtesting.core.feature'
- class: 'BashFeature'
+ name: bashfeature
args:
cmd: 'doctor-test'
dependencies:
- DEPLOY_SCENARIO: 'bgpvpn'
run:
- module: 'sdnvpn.test.functest.run_sdnvpn_tests'
- class: 'SdnvpnFunctest'
+ name: bgpvpn
-
case_name: functest-odl-sfc
dependencies:
- DEPLOY_SCENARIO: 'odl.*sfc'
run:
- module: 'sfc.tests.functest.run_sfc_tests'
- class: 'SfcFunctest'
+ name: functest-odl-sfc
-
case_name: barometercollectd
dependencies:
- DEPLOY_SCENARIO: 'bar'
run:
- module: 'baro_tests.barometer'
- class: 'BarometerCollectd'
+ name: barometercollectd
-
case_name: fds
dependencies:
- DEPLOY_SCENARIO: 'odl.*-fdio'
run:
- module: 'functest.opnfv_tests.sdn.odl.odl'
- class: 'ODLTests'
+ name: odl
args:
suites:
- /src/fds/testing/robot
dependencies:
- DEPLOY_SCENARIO: 'vgpu'
run:
- module: 'functest.opnfv_tests.openstack.vgpu.vgpu'
- class: 'vGPU'
+ name: vgpu
-
case_name: stor4nfv_os
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:
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:
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:
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:
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.core.cloudify'
- class: 'Cloudify'
+ name: cloudify
-
case_name: cloudify_ims
project_name: functest
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
- class: 'CloudifyIms'
+ name: cloudify_ims
-
case_name: heat_ims
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.ims.heat_ims'
- class: 'HeatIms'
+ name: heat_ims
-
case_name: vyos_vrouter
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
- class: 'CloudifyVrouter'
+ name: vyos_vrouter
-
case_name: juju_epc
dependencies:
- DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
run:
- module: 'functest.opnfv_tests.vnf.epc.juju_epc'
- class: 'JujuEpc'
+ name: juju_epc
"""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)
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)
"""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'):
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')
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
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