Functest Release Notes¶
OPNFV Fraser release note for Functest¶
Abstract¶
This document contains the release notes of the Functest project.
OPNFV Fraser Release¶
Functest deals with functional testing of the OPNFV solution. It includes test cases developed within the project, test cases developed in other OPNFV projects and it also integrates test cases from other upstream communities.
OpenStack¶
The internal test cases are:
- connection_check
- api_check
- snaps_health_check
- vping_ssh
- vping_userdata
- tempest_smoke_serial
- rally_sanity
- refstack_defcore
- patrole
- odl
- snaps_smoke
- neutron_trunk
- tempest_full_parallel
- rally_full
- cloudify_ims
- vyos_vrouter
- juju_epc
The OPNFV projects integrated into Functest framework for automation are:
- doctor
- bgpvpn
- odl-sfc
- barometer
- fds
- parser
Kubernetes¶
The internal test cases are:
- k8s_smoke
- k8s_conformance
The OPNFV projects integrated into Functest framework for automation are:
- stor4nfv
- clover
Release Data¶
Project | functest |
Release designation | Fraser |
Repository branch | stable/fraser |
Repository tag | opnfv-6.2.0 |
Release date | June 29th 2018 |
Deliverables¶
Software¶
Functest Docker images (OpenStack):
- https://hub.docker.com/r/opnfv/functest-healthcheck
- https://hub.docker.com/r/opnfv/functest-smoke
- https://hub.docker.com/r/opnfv/functest-features
- https://hub.docker.com/r/opnfv/functest-components
- https://hub.docker.com/r/opnfv/functest-vnf
- https://hub.docker.com/r/opnfv/functest-parser
Functest Docker images (Kubernetes):
Docker tag for Fraser release: opnfv-6.2.0 Docker tag for Fraser series: fraser
Documents¶
- Config Guide: http://docs.opnfv.org/en/stable-fraser/submodules/functest/docs/testing/user/configguide/index.html
- User Guide: http://docs.opnfv.org/en/stable-fraser/submodules/functest/docs/testing/user/userguide/index.html
- Developer Guide: http://docs.opnfv.org/en/stable-fraser/submodules/functest/docs/testing/developer/devguide/index.html
- API Docs: http://functest.readthedocs.io/en/latest/
Version change¶
New test cases¶
- neutron_trunk
- patrole
- juju_epc
- k8s_smoke
- k8s_conformance
- stor4nfv
- clover
Key changes¶
- update test cases and containers to OpenStack Pike
- move the framework into a separate project: Xtesting
- ease running all containers thanks to default values
- clean interfaces with OPNFV Installers and Features
- rewrite all vnfs to allow multiple tests in parallel
- fully support non-default region names and Keystone v3 domains
- refactor all tempest-based test cases (e.g. refstack_defcore)
- remove obsolete OpenStack and Functest utils
- verify all changes via doc8 and yamllint too
- generate reports for all tempest-based test cases
Key benefits¶
- the enduser can run all tests by setting only one input (EXTERNAL_NETWORK)
- the developer can only work on the test suites without diving into CI/CD integration
- both OpenStack and Kubernetes deployments can be verified
- Functest test cases are trustable as they meet the best coding rules (unit tests, coverage, linters, etc.)
- Functest can be reused in other projects (e.g. ONS: Re-using OPNFV framework tests for LFN projects)
Code quality¶
- pylint: ~9.5/10
- code coverage: ~70%
Useful links¶
- wiki project page: https://wiki.opnfv.org/opnfv_functional_testing
- Functest git repository: https://git.opnfv.org/cgit/functest
- Functest CI dashboard: https://build.opnfv.org/ci/view/functest/
- JIRA dashboard: https://jira.opnfv.org/secure/Dashboard.jspa?selectPageId=10611
- Functest IRC channel: #opnfv-functest
- Reporting page: http://testresults.opnfv.org/reporting/fraser/functest/functest.html
Release Gating¶
Thanks to the analysis of the offical OPNFV results and local tests (see Orange ONAP Openlab), Functest is trustable for verifying all OPNFV Fraser installers and more generally classical OpenStack Pike and Kubernetes deployments.
It should be noted that:
- any failed result highlights side effects for end users
- OpenStack scenarios which don’t pass tempest_smoke_serial break the upstream rules (and then decrease the overall quality) as all patches are tested vs tempest in OpenStack gating
apex¶
os-nosdn-nofeature-noha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-24 21:40:33 | lf-pod1 | PASS | |
api_check | 2018-06-24 21:50:59 | lf-pod1 | PASS | |
snaps_health_check | 2018-06-24 21:51:38 | lf-pod1 | PASS | |
vping_ssh | 2018-06-24 21:52:27 | lf-pod1 | PASS | |
vping_userdata | 2018-06-24 21:53:10 | lf-pod1 | PASS | |
tempest_smoke_serial | 2018-06-24 22:05:20 | lf-pod1 | PASS | |
rally_sanity | 2018-06-24 22:26:24 | lf-pod1 | PASS | |
refstack_defcore | 2018-06-24 22:33:44 | lf-pod1 | PASS | |
patrole | 2018-06-24 22:36:47 | lf-pod1 | PASS | |
snaps_smoke | 2018-06-24 23:18:09 | lf-pod1 | PASS | |
neutron_trunk | 2018-06-24 23:20:29 | lf-pod1 | PASS | |
cloudify_ims | 2018-06-24 23:50:53 | lf-pod1 | PASS | |
vyos_vrouter | 2018-06-20 17:56:48 | lf-pod1 | PASS | |
juju_epc | 2018-06-20 18:42:19 | lf-pod1 | PASS |
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-25 08:59:21 | lf-pod1 | PASS | |
api_check | 2018-06-25 09:12:17 | lf-pod1 | PASS | |
snaps_health_check | 2018-06-25 09:13:00 | lf-pod1 | PASS | |
vping_ssh | 2018-06-25 09:13:52 | lf-pod1 | PASS | |
vping_userdata | 2018-06-25 09:15:14 | lf-pod1 | PASS | |
tempest_smoke_serial | 2018-06-25 09:30:42 | lf-pod1 | PASS | |
rally_sanity | 2018-06-25 09:56:10 | lf-pod1 | PASS | |
refstack_defcore | 2018-06-25 09:59:40 | lf-pod1 | PASS | |
patrole | 2018-06-25 10:02:45 | lf-pod1 | PASS | |
snaps_smoke | 2018-06-25 10:58:29 | lf-pod1 | PASS | |
neutron_trunk | 2018-06-25 11:00:59 | lf-pod1 | PASS | |
cloudify_ims | 2018-06-25 11:30:08 | lf-pod1 | PASS | |
vyos_vrouter | 2018-06-25 11:48:52 | lf-pod1 | PASS | |
juju_epc | 2018-06-25 12:31:10 | lf-pod1 | PASS |
os-odl-nofeature-noha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-21 19:15:31 | lf-pod1 | PASS | |
api_check | 2018-06-21 19:25:15 | lf-pod1 | PASS | |
snaps_health_check | 2018-06-21 19:26:15 | lf-pod1 | PASS | |
vping_ssh | 2018-06-21 19:33:49 | lf-pod1 | FAIL | |
vping_userdata | 2018-06-21 19:34:31 | lf-pod1 | PASS | |
tempest_smoke_serial | 2018-06-21 19:46:41 | lf-pod1 | PASS | |
rally_sanity | 2018-06-21 20:08:17 | lf-pod1 | PASS | |
refstack_defcore | 2018-06-21 20:17:08 | lf-pod1 | FAIL | |
patrole | 2018-06-21 20:20:20 | lf-pod1 | PASS | |
snaps_smoke | 2018-06-21 21:13:42 | lf-pod1 | FAIL | |
odl | 2018-06-21 20:20:38 | lf-pod1 | PASS | |
neutron_trunk | 2018-06-21 21:16:06 | lf-pod1 | PASS | |
cloudify_ims | 2018-06-21 21:29:28 | lf-pod1 | FAIL | |
vyos_vrouter | 2018-06-21 23:36:49 | lf-pod1 | FAIL | |
juju_epc | 2018-06-22 00:09:16 | lf-pod1 | FAIL |
os-odl-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-25 20:35:00 | lf-pod1 | PASS | |
api_check | 2018-06-25 20:47:16 | lf-pod1 | PASS | |
snaps_health_check | 2018-06-25 20:48:52 | lf-pod1 | PASS | |
vping_ssh | 2018-06-25 20:50:43 | lf-pod1 | PASS | |
vping_userdata | 2018-06-25 20:52:33 | lf-pod1 | PASS | |
tempest_smoke_serial | 2018-06-25 21:09:07 | lf-pod1 | FAIL | |
rally_sanity | 2018-06-25 21:33:49 | lf-pod1 | PASS | |
refstack_defcore | 2018-06-25 21:36:55 | lf-pod1 | FAIL | |
patrole | 2018-06-25 21:40:21 | lf-pod1 | PASS | |
snaps_smoke | 2018-06-25 22:20:20 | lf-pod1 | FAIL | |
odl | 2018-06-25 21:40:43 | lf-pod1 | PASS | |
neutron_trunk | 2018-06-25 22:22:52 | lf-pod1 | FAIL | |
cloudify_ims | 2018-06-25 22:24:55 | lf-pod1 | FAIL | |
vyos_vrouter | 2018-06-25 22:26:54 | lf-pod1 | FAIL | |
juju_epc | 2018-06-25 22:27:16 | lf-pod1 | FAIL |
os-ovn-nofeature-noha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-22 03:36:05 | lf-pod1 | PASS | |
api_check | 2018-06-22 03:45:17 | lf-pod1 | PASS | |
snaps_health_check | 2018-06-22 03:45:50 | lf-pod1 | PASS | |
vping_ssh | 2018-06-22 03:46:27 | lf-pod1 | PASS | |
vping_userdata | 2018-06-22 03:47:08 | lf-pod1 | PASS | |
tempest_smoke_serial | 2018-06-22 04:00:34 | lf-pod1 | FAIL | |
rally_sanity | 2018-06-22 04:21:54 | lf-pod1 | PASS | |
refstack_defcore | 2018-06-22 04:24:52 | lf-pod1 | PASS | |
patrole | 2018-06-22 04:27:51 | lf-pod1 | FAIL | |
snaps_smoke | 2018-06-22 05:10:38 | lf-pod1 | PASS | |
neutron_trunk | 2018-06-22 05:12:23 | lf-pod1 | FAIL | |
cloudify_ims | 2018-06-22 06:18:55 | lf-pod1 | FAIL | |
vyos_vrouter | 2018-06-22 06:37:18 | lf-pod1 | PASS | |
juju_epc | 2018-06-22 06:40:52 | lf-pod1 | FAIL |
compass¶
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-29 11:56:27 | huawei-pod2 | PASS | |
api_check | 2018-06-29 12:06:41 | huawei-pod2 | PASS | |
snaps_health_check | 2018-06-29 12:08:13 | huawei-pod2 | PASS | |
vping_ssh | 2018-06-29 12:10:13 | huawei-pod2 | PASS | |
vping_userdata | 2018-06-29 12:11:59 | huawei-pod2 | PASS | |
tempest_smoke_serial | 2018-06-29 12:28:07 | huawei-pod2 | FAIL | |
rally_sanity | 2018-06-29 12:58:42 | huawei-pod2 | FAIL | COMPASS-597 |
refstack_defcore | 2018-06-29 13:02:37 | huawei-pod2 | PASS | |
patrole | 2018-06-29 13:05:45 | huawei-pod2 | PASS | |
snaps_smoke | 2018-06-29 14:00:12 | huawei-pod2 | PASS | |
neutron_trunk | 2018-06-29 14:03:35 | huawei-pod2 | PASS | |
cloudify_ims | 2018-06-29 15:18:53 | huawei-pod2 | FAIL | |
vyos_vrouter | 2018-06-27 19:06:55 | huawei-pod2 | PASS | |
juju_epc | 2018-06-27 19:55:47 | huawei-pod2 | PASS |
os-odl_l3-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-29 01:17:01 | huawei-pod2 | PASS | |
api_check | 2018-06-29 01:27:17 | huawei-pod2 | PASS | |
snaps_health_check | 2018-06-29 01:28:19 | huawei-pod2 | FAIL | |
vping_ssh | 2018-06-27 03:58:19 | huawei-pod2 | PASS | |
vping_userdata | 2018-06-27 03:58:58 | huawei-pod2 | PASS | |
tempest_smoke_serial | 2018-06-25 03:18:29 | huawei-pod2 | FAIL | |
rally_sanity | 2018-06-25 03:19:34 | huawei-pod2 | FAIL | |
refstack_defcore | 2018-06-25 03:23:02 | huawei-pod2 | PASS | |
patrole | 2018-06-25 03:26:15 | huawei-pod2 | PASS | |
snaps_smoke | 2018-06-25 04:13:18 | huawei-pod2 | FAIL | |
odl | 2018-05-15 05:26:20 | huawei-pod2 | PASS | |
neutron_trunk | 2018-06-25 04:15:59 | huawei-pod2 | PASS | |
cloudify_ims | 2018-06-27 05:08:03 | huawei-pod2 | FAIL | |
vyos_vrouter | 2018-06-27 05:32:53 | huawei-pod2 | PASS | |
juju_epc | 2018-06-27 06:18:50 | huawei-pod2 | PASS |
k8-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
k8s_smoke | huawei-pod2 | |||
k8s_conformance | huawei-pod2 |
daisy¶
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-04-25 06:59:37 | zte-pod2 | PASS | |
api_check | 2018-04-25 07:10:47 | zte-pod2 | PASS | |
snaps_health_check | 2018-04-25 07:11:29 | zte-pod2 | PASS | |
vping_ssh | 2018-04-25 07:12:35 | zte-pod2 | PASS | |
vping_userdata | 2018-04-25 07:13:35 | zte-pod2 | PASS | |
tempest_smoke_serial | 2018-04-25 07:29:32 | zte-pod2 | PASS | |
rally_sanity | 2018-04-25 07:57:31 | zte-pod2 | PASS | |
refstack_defcore | 2018-04-25 08:02:24 | zte-pod2 | PASS | |
patrole | 2018-04-25 08:06:40 | zte-pod2 | PASS | |
snaps_smoke | 2018-04-25 09:00:28 | zte-pod2 | PASS | |
neutron_trunk | zte-pod2 | |||
cloudify_ims | 2018-04-25 09:22:50 | zte-pod2 | FAIL | |
vyos_vrouter | 2018-04-25 09:50:01 | zte-pod2 | PASS | |
juju_epc | 2018-04-25 10:37:44 | zte-pod2 | PASS |
os-odl-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-04-24 21:22:19 | zte-pod2 | PASS | |
api_check | 2018-04-24 21:33:28 | zte-pod2 | PASS | |
snaps_health_check | 2018-04-24 21:34:09 | zte-pod2 | PASS | |
vping_ssh | 2018-04-24 21:37:52 | zte-pod2 | PASS | |
vping_userdata | 2018-04-24 21:38:54 | zte-pod2 | PASS | |
tempest_smoke_serial | 2018-04-24 21:54:24 | zte-pod2 | PASS | |
rally_sanity | 2018-04-24 22:22:44 | zte-pod2 | PASS | |
refstack_defcore | 2018-04-24 22:28:32 | zte-pod2 | PASS | |
patrole | 2018-04-24 22:34:25 | zte-pod2 | PASS | |
snaps_smoke | 2018-04-24 23:24:54 | zte-pod2 | FAIL | |
odl | 2018-04-24 22:34:46 | zte-pod2 | PASS | |
neutron_trunk | zte-pod2 | |||
cloudify_ims | 2018-04-25 00:00:01 | zte-pod2 | FAIL | |
vyos_vrouter | 2018-04-25 01:34:52 | zte-pod2 | PASS | |
juju_epc | 2018-04-25 02:03:48 | zte-pod2 | FAIL |
fuel(amd64)¶
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-05-28 13:19:03 | lf-pod2 | PASS | |
api_check | 2018-05-28 13:34:24 | lf-pod2 | PASS | |
snaps_health_check | 2018-05-28 13:35:24 | lf-pod2 | PASS | |
vping_ssh | 2018-05-28 13:37:05 | lf-pod2 | PASS | |
vping_userdata | 2018-05-28 13:38:25 | lf-pod2 | PASS | |
tempest_smoke_serial | 2018-05-28 14:02:24 | lf-pod2 | PASS | |
rally_sanity | 2018-05-28 14:40:14 | lf-pod2 | PASS | |
refstack_defcore | 2018-05-28 14:44:43 | lf-pod2 | PASS | |
patrole | 2018-05-28 14:49:51 | lf-pod2 | PASS | |
snaps_smoke | 2018-05-28 16:02:47 | lf-pod2 | PASS | |
neutron_trunk | 2018-05-28 16:07:20 | lf-pod2 | PASS | |
cloudify_ims | 2018-05-28 16:21:53 | lf-pod2 | FAIL | |
vyos_vrouter | 2018-05-28 17:14:28 | lf-pod2 | FAIL | |
juju_epc | 2018-05-28 18:08:07 | lf-pod2 | PASS |
os-odl-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-05-29 18:56:33 | lf-pod2 | PASS | |
api_check | 2018-05-29 19:07:45 | lf-pod2 | PASS | |
snaps_health_check | 2018-05-29 19:08:23 | lf-pod2 | PASS | |
vping_ssh | 2018-05-29 19:09:25 | lf-pod2 | PASS | |
vping_userdata | 2018-05-29 19:10:14 | lf-pod2 | PASS | |
tempest_smoke_serial | 2018-05-29 19:29:16 | lf-pod2 | FAIL | |
rally_sanity | 2018-05-29 19:59:06 | lf-pod2 | PASS | |
refstack_defcore | 2018-05-29 20:04:48 | lf-pod2 | FAIL | |
patrole | 2018-05-29 20:09:08 | lf-pod2 | PASS | |
snaps_smoke | 2018-05-29 21:03:10 | lf-pod2 | PASS | |
odl | 2018-05-29 20:09:31 | lf-pod2 | PASS | |
neutron_trunk | 2018-05-29 21:06:24 | lf-pod2 | FAIL | |
cloudify_ims | 2018-05-29 21:12:00 | lf-pod2 | FAIL | |
vyos_vrouter | 2018-05-29 21:17:35 | lf-pod2 | FAIL | |
juju_epc | 2018-05-30 01:44:01 | lf-pod2 | FAIL |
fuel(arm64)¶
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-05 11:01:32 | arm-pod6 | PASS | |
api_check | 2018-06-05 11:32:38 | arm-pod6 | PASS | |
snaps_health_check | 2018-06-05 11:34:49 | arm-pod6 | PASS | |
vping_ssh | 2018-06-05 11:38:25 | arm-pod6 | PASS | |
vping_userdata | 2018-06-05 11:41:28 | arm-pod6 | PASS | |
tempest_smoke_serial | 2018-06-05 12:38:36 | arm-pod6 | PASS | |
rally_sanity | 2018-06-05 13:49:14 | arm-pod6 | PASS | |
refstack_defcore | 2018-06-05 14:08:21 | arm-pod6 | PASS | |
patrole | 2018-06-05 14:23:56 | arm-pod6 | FAIL | |
snaps_smoke | 2018-06-05 17:19:43 | arm-pod6 | PASS | |
neutron_trunk | 2018-06-05 17:34:35 | arm-pod6 | PASS |
os-odl-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-01 06:01:27 | arm-pod6 | PASS | |
api_check | 2018-06-01 06:31:53 | arm-pod6 | PASS | |
snaps_health_check | 2018-06-01 06:33:52 | arm-pod6 | PASS | |
vping_ssh | 2018-06-01 06:37:25 | arm-pod6 | PASS | |
vping_userdata | 2018-06-01 06:40:26 | arm-pod6 | PASS | |
tempest_smoke_serial | 2018-06-01 07:34:32 | arm-pod6 | PASS | |
rally_sanity | 2018-06-01 08:41:07 | arm-pod6 | PASS | |
refstack_defcore | 2018-06-01 09:00:13 | arm-pod6 | PASS | |
patrole | 2018-06-01 09:15:33 | arm-pod6 | PASS | |
snaps_smoke | 2018-06-01 12:04:59 | arm-pod6 | PASS | |
neutron_trunk | 2018-06-01 12:19:52 | arm-pod6 | FAIL |
joid¶
os-nosdn-nofeature-ha¶
testcase | date | pod_name | result | jira |
---|---|---|---|---|
connection_check | 2018-06-07 04:28:49 | huawei-pod12 | PASS | |
api_check | 2018-06-07 04:36:58 | huawei-pod12 | FAIL | |
snaps_health_check | 2018-05-31 05:15:29 | huawei-pod12 | PASS | |
vping_ssh | 2018-05-31 05:16:39 | huawei-pod12 | PASS | |
vping_userdata | 2018-05-31 05:17:44 | huawei-pod12 | PASS | |
tempest_smoke_serial | 2018-05-31 05:32:11 | huawei-pod12 | FAIL | |
rally_sanity | 2018-05-31 05:35:31 | huawei-pod12 | FAIL | |
refstack_defcore | 2018-05-31 05:44:03 | huawei-pod12 | FAIL | |
patrole | 2018-05-31 05:47:21 | huawei-pod12 | FAIL | |
snaps_smoke | 2018-05-31 06:28:48 | huawei-pod12 | FAIL | |
neutron_trunk | huawei-pod12 | |||
cloudify_ims | 2018-05-31 06:29:11 | huawei-pod12 | FAIL | |
vyos_vrouter | 2018-05-31 06:29:19 | huawei-pod12 | FAIL | |
juju_epc | 2018-05-31 06:29:27 | huawei-pod12 | FAIL |
Build date: Oct 26, 2018
\ Sort by:\ best rated\ newest\ oldest\
\\
Add a comment\ (markup):
\``code``
, \ code blocks:::
and an indented block after blank line