1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
8 OPNFV Danube release note for Functest Docs
9 (c) by Jose Lausuch (Ericsson)
11 OPNFV Danube release note for Functest Docs
12 are licensed under a Creative Commons Attribution 4.0 International License.
13 You should have received a copy of the license along with this.
14 If not, see <http://creativecommons.org/licenses/by/4.0/>.
16 ===========================================
17 OPNFV Danube2.0 release note for Functest
18 ===========================================
23 This document describes the release note of Functest project.
29 +------------+----------+------------------+------------------------+
30 | **Date** | **Ver.** | **Author** | **Comment** |
32 +------------+----------+------------------+------------------------+
33 | 2016-08-17 | 1.0.0 | Morgan Richomme | Functest for Colorado |
34 | | | (Orange) | release |
35 +------------+----------+------------------+------------------------+
36 | 2017-03-29 | 4.0.0 | Jose Lausuch | Functest for Danube |
37 | | | (Ericsson) | release |
38 +------------+----------+------------------+------------------------+
39 | 2017-05-04 | 5.0.0 | Jose Lausuch | Functest for Danube.2.0|
40 | | | (Ericsson) | release |
41 +------------+----------+------------------+------------------------+
45 ======================
47 Functest deals with functional testing of the OPNFV solution.
48 It includes test cases developed within the project and test cases developed in
49 other OPNFV projects and other upstream communities.
51 The internal test cases are:
58 * tempest_smoke_serial
63 * tempest_full_parallel
67 The OPNFV projects integrated into Functest framework for automation are:
85 The validation of a scenario requires a subset of these tests depending
86 on the installer and the scenario.
88 The test cases from vnf (cloudify_ims, orchestra_ims, vyos_vrouter) and
89 component categories (tempest full parallel, Rally full) are not considered for
95 +--------------------------------------+--------------------------------------+
96 | **Project** | functest |
98 +--------------------------------------+--------------------------------------+
99 | **Repo/tag** | danube.2.0 |
101 +--------------------------------------+--------------------------------------+
102 | **Release designation** | Danube service release |
104 +--------------------------------------+--------------------------------------+
105 | **Release date** | May 4st 2017 |
107 +--------------------------------------+--------------------------------------+
108 | **Purpose of the delivery** | Danube second release |
110 +--------------------------------------+--------------------------------------+
118 - The Functest Docker image: https://hub.docker.com/r/opnfv/functest (tag: danube.2.0)
120 - The TestAPI Docker image: https://hub.docker.com/r/opnfv/testapi (tag:danube.2.0)
126 - Installation/configuration guide: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/configguide/index.html
128 - User Guide: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/user/userguide/index.html
130 - Developer Guide: http://docs.opnfv.org/en/latest/submodules/functest/docs/testing/developer/devguide/index.html
139 - Adoption of SNAPS as middleware in 4 new test cases (connection_check, api_check,
140 snaps_health_check and snaps_smoke)
142 - Introduction of refstack suite
144 - Support new odl suites (odl-netvirt, fds)
146 - Introduction of VNF onboarding capabilities
148 - Support of new feature projects (fds, netready, barometer, orchestra, vyos_vrouter)
155 - Harmonization of the naming, better adoption of OpenStack coding conventions
157 - Enhanced code to be more Object Oriented, removed bash scripts
159 - Introduction of abstraction classes to ease and harmonize the integration of
160 test cases (internal or from feature projects)
162 - New management of logger, env variables and configuration files
164 - Creation of unit tests on the whole framework to ensure stability
166 - Creation or ARM Functest docker
172 - Automatic documentation (html & pdf)
174 - Full dockerization and automation of the deployment on testresults.opnfv.org
176 - Automation of test database backup on artifact
179 New internal tests cases
180 ------------------------
186 - snaps_health_check (replacing shell script healtcheck)
198 For Danube 2.0, Functest was tested on the following HA scenarios (new
199 dabube scenarios in bold):
201 +---------------------+---------+---------+---------+---------+
202 | Scenario | Apex | Compass | Fuel | Joid |
203 +=====================+=========+=========+=========+=========+
204 | nosdn | X | X | X | X |
205 +---------------------+---------+---------+---------+---------+
206 | **fdio** | X | | | |
207 +---------------------+---------+---------+---------+---------+
209 +---------------------+---------+---------+---------+---------+
210 | **kvm_ovs_dpdk** | | | X | |
211 +---------------------+---------+---------+---------+---------+
212 | **kvm_ovs_dpdk-bar**| | | X | |
213 +---------------------+---------+---------+---------+---------+
215 +---------------------+---------+---------+---------+---------+
216 | **ovs** | | | X | |
217 +---------------------+---------+---------+---------+---------+
218 | **openo** | | X | | |
219 +---------------------+---------+---------+---------+---------+
220 | odl_l2 | | X | X | X |
221 +---------------------+---------+---------+---------+---------+
222 | odl-bgpvpn | X | | | |
223 +---------------------+---------+---------+---------+---------+
224 | odl_l2-bgpvpn | | | X | |
225 +---------------------+---------+---------+---------+---------+
226 | **odl_l2-fdio** | X | | | |
227 +---------------------+---------+---------+---------+---------+
228 | odl_l2-sfc | | | X | |
229 +---------------------+---------+---------+---------+---------+
230 | odl_l3 | X | X | X | |
231 +---------------------+---------+---------+---------+---------+
232 | **ocl** | | X | | |
233 +---------------------+---------+---------+---------+---------+
235 +---------------------+---------+---------+---------+---------+
236 | multisite | | | X | |
237 +---------------------+---------+---------+---------+---------+
241 +---------------------+---------+---------+---------+---------+
242 | Scenario | Apex | Compass | Fuel | Joid |
243 +=====================+=========+=========+=========+=========+
244 | nosdn | | | X | X |
245 +---------------------+---------+---------+---------+---------+
247 +---------------------+---------+---------+---------+---------+
248 | **kvm_ovs_dpdk** | | | X | |
249 +---------------------+---------+---------+---------+---------+
250 | **kvm_ovs_dpdk-bar**| | | X | |
251 +---------------------+---------+---------+---------+---------+
253 +---------------------+---------+---------+---------+---------+
255 +---------------------+---------+---------+---------+---------+
257 +---------------------+---------+---------+---------+---------+
258 | odl_l2-bgpvpn | | | X | |
259 +---------------------+---------+---------+---------+---------+
260 | odl_l2-fdio | X | | | |
261 +---------------------+---------+---------+---------+---------+
262 | **odl_l3-fdio** | X | | | |
263 +---------------------+---------+---------+---------+---------+
264 | odl_l2-sfc | | | X | |
265 +---------------------+---------+---------+---------+---------+
267 +---------------------+---------+---------+---------+---------+
268 | **odl_gluon** | X | | | |
269 +---------------------+---------+---------+---------+---------+
271 Colorado deprecated scenarios:
278 For the scenario validation, we consider only the healthcheck, smoke and
279 features categories. These tests are run systematically in the CI daily loops.
281 Success criterias have been defined for these test cases, they can be
282 PASS/FAIL or a success rate may be declared (100%, > 90%).
283 All the criteria, as well as the test dependencies are declared in the
284 testcases.yaml file located in the ci directory of the repository.
286 The scoring for the Danube release per installer can be described as
289 The scoring is an indicator showing how many feature project test suites
290 have been integrated in the scenario.
292 The scoring equals the number of tests * successful iteration of each
293 test [0-3]. The scoring method is described in https://wiki.opnfv.org/pages/viewpage.action?pageId=6828617
296 apex/odl_l2-nofeature-ha
297 tests = vping_ssh+vping_userdata+tempest+rally+odl+doctor+copper
298 Scoring = 21/21 = 7 * 3
300 By default, if not specified, the scenarios are HA.
301 HA means OpenStack High Availability (main services). Note that not
302 all VIM (e.g. OpenStack) services are deployed in HA mode, as that
303 depends upon support of the specific service for HA deployment.
304 For example, in the Danube release, the Congress service
305 is deployed in non-HA mode even for HA OPNFV scenarios, as explicit
306 support for HA operation has not yet been verified.
307 See the release notes of the installers for more details.
313 +------------------+---------+---------+-----------------+
314 | Scenario | Scoring | Success | Results |
316 +==================+=========+=========+=================+
317 | nosdn | 30/33 | 91% | `apex-res-1`_ |
318 +------------------+---------+---------+-----------------+
319 | odl_l3 | 23/33 | 70% | `apex-res-2`_ |
320 +------------------+---------+---------+-----------------+
321 | odl-bgpvpn | 16/36 | 44% | `apex-res-3`_ |
322 +------------------+---------+---------+-----------------+
323 | odl-gluon | 18/36 | 50% | `apex-res-4`_ |
324 +------------------+---------+---------+-----------------+
325 | kvm | 30/33 | 91% | `apex-res-5`_ |
326 +------------------+---------+---------+-----------------+
327 | odl_l2-fdio | 30/36 | 83% | `apex-res-6`_ |
328 +------------------+---------+---------+-----------------+
329 | odl_l2-fdio-noha | 29/36 | 81% | `apex-res-7`_ |
330 +------------------+---------+---------+-----------------+
331 | odl_l3-fdio-noha | 23/30 | 77% | `apex-res-8`_ |
332 +------------------+---------+---------+-----------------+
333 | fdio | 6/30 | 20% | `apex-res-9`_ |
334 +------------------+---------+---------+-----------------+
339 +------------------+---------+---------+------------------+
340 | Scenario | Scoring | Success | Results |
342 +==================+=========+=========+==================+
343 | nosdn | 29/30 | 97% | `compass-res-1`_ |
344 +------------------+---------+---------+------------------+
345 | odl_l2 | 29/33 | 88% | `compass-res-2`_ |
346 +------------------+---------+---------+------------------+
347 | odl_l3 | 25/30 | 83% | `compass-res-3`_ |
348 +------------------+---------+---------+------------------+
349 | onos | 28/33 | 84% | `compass-res-4`_ |
350 +------------------+---------+---------+------------------+
351 | openo | 29/30 | 97% | `compass-res-5`_ |
352 +------------------+---------+---------+------------------+
353 | ocl | 3/30 | 10% | `compass-res-6`_ |
354 +------------------+---------+---------+------------------+
356 Note: all the Compass tests for Danube have been executed on virtual
357 environment. Bare metal resources were used for Master branch.
363 +----------------------+---------+---------+----------------+
364 | Scenario | Scoring | Success | Results |
366 +======================+=========+=========+================+
367 | nosdn | 38/39 | 97% | `fuel-res-1`_ |
368 +----------------------+---------+---------+----------------+
369 | nosdn-noha | 36/36 | 100% | `fuel-res-2`_ |
370 +----------------------+---------+---------+----------------+
371 | nosdn-kvm | 39/39 | 100% | `fuel-res-3`_ |
372 +----------------------+---------+---------+----------------+
373 | nosdn-kvm-noha | 36/36 | 100% | `fuel-res-4`_ |
374 +----------------------+---------+---------+----------------+
375 | nosdn-ovs | 39/39 | 100% | `fuel-res-5`_ |
376 +----------------------+---------+---------+----------------+
377 | nosdn-ovs-noha | 36/36 | 100% | `fuel-res-6`_ |
378 +----------------------+---------+---------+----------------+
379 | odl_l2 | 40/42 | 95% | `fuel-res-7`_ |
380 +----------------------+---------+---------+----------------+
381 | odl_l2-noha | 37/39 | 95% | `fuel-res-8`_ |
382 +----------------------+---------+---------+----------------+
383 | odl_l2-sfc | 45/45 | 100% | `fuel-res-9`_ |
384 +----------------------+---------+---------+----------------+
385 | odl_l2-sfc-noha | 36/42 | 86% | `fuel-res-10`_ |
386 +----------------------+---------+---------+----------------+
387 | odl_l3 | 38/39 | 97% | `fuel-res-11`_ |
388 +----------------------+---------+---------+----------------+
389 | odl_l3-noha | 36/36 | 100% | `fuel-res-12`_ |
390 +----------------------+---------+---------+----------------+
391 | kvm_ovs_dpdk | 6/39 | 15% | `fuel-res-13`_ |
392 +----------------------+---------+---------+----------------+
393 | kvm_ovs_dpdk_noha | 36/36 | 100% | `fuel-res-14`_ |
394 +----------------------+---------+---------+----------------+
395 | kvm_ovs_dpdk_bar | 6/42 | 14% | `fuel-res-15`_ |
396 +----------------------+---------+---------+----------------+
397 | kvm_ovs_dpdk_bar_noha| 38/39 | 97% | `fuel-res-16`_ |
398 +----------------------+---------+---------+----------------+
406 +---------------------+---------+---------+---------------+
407 | Scenario | Scoring | Success | Results |
409 +=====================+=========+=========+===============+
410 | nosdn | 29/33 | 97% | `joid-res-1`_ |
411 +---------------------+---------+---------+---------------+
412 | nosdn-noha | 33/33 | 100% | `joid-res-2`_ |
413 +---------------------+---------+---------+---------------+
414 | nosdn-lxd | 18/24 | 75% | `joid-res-3`_ |
415 +---------------------+---------+---------+---------------+
416 | nosdn-lxd-noha | 18/24 | 71% | `joid-res-4`_ |
417 +---------------------+---------+---------+---------------+
418 | odl_l2 | 9/36 | 25% | `joid-res-5`_ |
419 +---------------------+---------+---------+---------------+
421 It is highly recommended to install a json viewer in your browser
422 (e.g. https://addons.mozilla.org/fr/firefox/addon/jsonview/)
424 You can get additional details through test logs on http://artifacts.opnfv.org/.
425 As no search engine is available on the OPNFV artifact web site you must
426 retrieve the pod identifier on which the tests have been executed (see
427 field pod in any of the results) then click on the selected POD and look
428 for the date of the test you are interested in.
430 The reporting pages can be found at:
432 * apex: http://testresults.opnfv.org/reporting/functest/release/danube/index-status-apex.html
433 * compass: http://testresults.opnfv.org/reporting/functest/release/danube/index-status-compass.html
434 * fuel: http://testresults.opnfv.org/reporting/functest/release/danube/index-status-fuel.html
435 * joid: http://testresults.opnfv.org/reporting/functest/release/danube/index-status-joid.html
437 Danube known restrictions/issues
438 ==================================
440 ************* TODO *****************************************
442 +-----------+-----------+----------------------------------------------+
443 | Installer | Scenario | Issue |
444 +===========+===========+==============================================+
445 | fuel | odl_-* | Tempest test case "TestServerBasicOps" |
446 | | | disabled due to bug `tempest-bug`_ |
447 +-----------+-----------+----------------------------------------------+
448 | apex/fuel | *-bgpvpn | Due to some instabilities in the bgpvpn |
449 | | | test case, the scenario has been postponed |
450 | | | to Danube 2.0 |
451 +-----------+-----------+----------------------------------------------+
452 | apex | *-gluon | vPing_ssh disabled due to floating ips |
453 | | | not working 100% of the times. |
454 | | | Tempest test "test_reboot_server_hard" |
455 | | | disabled due to bug `gluon-bug`_ |
456 +-----------+-----------+----------------------------------------------+
457 | joid | any | Tempest cases related to object storage |
459 +-----------+-----------+----------------------------------------------+
460 | any | any | The VNF tier has not been fully tested |
461 | | | since it has not been run in daily loops |
462 | | | in CI. Weekly jobs have been activated |
463 | | | a bit late in the process and have not been |
464 | | | used to validate the scenarios. |
465 +-----------+-----------+----------------------------------------------+
467 Test and installer/scenario dependencies
468 ========================================
470 It is not always possible to run all the test cases on all the scenarios.
471 The following table details the dependencies of the test cases per
472 scenario. The scenario dependencies (installer or scenario) are detailed
473 in https://git.opnfv.org/cgit/functest/tree/ci/testcases.yaml
478 Test results are available in:
480 - test results document: http://artifacts.opnfv.org/functest
482 - jenkins logs on CI: https://build.opnfv.org/ci/view/functest/
484 - jenkins logs on ARM CI: https://build.opnfv.org/ci/view/armband/
491 +------------------+-----------------------------------------------+
492 | JIRA | Description |
493 +==================+===============================================+
496 +------------------+-----------------------------------------------+
498 All the tickets that are not blocking have been fixed or postponed
501 Functest Danube 2.0 is released without known bugs.
508 - wiki project page: https://wiki.opnfv.org/opnfv_functional_testing
510 - wiki Functest Danube page: https://wiki.opnfv.org/display/functest/Functest+Danube
512 - Functest repo: https://git.opnfv.org/cgit/functest
514 - Functest CI dashboard: https://build.opnfv.org/ci/view/functest/
516 - JIRA dashboard: https://jira.opnfv.org/secure/Dashboard.jspa?selectPageId=10611
518 - Functest IRC chan: #opnfv-functest
520 - Reporting page: http://testresults.opnfv.org/reporting/danube.html
522 - Functest test configuration: https://git.opnfv.org/cgit/functest/tree/functest/ci/testcases.yaml
524 .. _`tempest-bug`: https://bugs.launchpad.net/tempest/+bug/1577632
526 .. _`gluon-bug`: https://bugs.opendaylight.org/show_bug.cgi?id=5586
528 .. _`apex-res-1`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-222
530 .. _`apex-res-2`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-211
532 .. _`apex-res-3`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-224
534 .. _`apex-res-4`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-225
536 .. _`apex-res-5`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-216
538 .. _`apex-res-6`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-215
540 .. _`apex-res-7`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-214
542 .. _`apex-res-8`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-217
544 .. _`apex-res-9`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-apex-apex-daily-danube-daily-danube-218
546 .. _`compass-res-1`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-virtual-daily-danube-216
548 .. _`compass-res-2`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-virtual-daily-danube-221
550 .. _`compass-res-3`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-baremetal-daily-danube-214
552 .. _`compass-res-4`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-virtual-daily-danube-213
554 .. _`compass-res-5`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-baremetal-daily-danube-212
556 .. _`compass-res-6`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-compass-baremetal-daily-danube-222
558 .. _`fuel-res-1`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-54
560 .. _`fuel-res-2`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-357
562 .. _`fuel-res-3`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-53
564 .. _`fuel-res-4`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-355
566 .. _`fuel-res-5`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-335
568 .. _`fuel-res-6`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-356
570 .. _`fuel-res-7`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-zte-pod1-daily-danube-337
572 .. _`fuel-res-8`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-358
574 .. _`fuel-res-9`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-340
576 .. _`fuel-res-10`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-353
578 .. _`fuel-res-11`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-338
580 .. _`fuel-res-12`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-360
582 .. _`fuel-res-13`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-341
584 .. _`fuel-res-14`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-359
586 .. _`fuel-res-15`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-baremetal-daily-danube-339
588 .. _`fuel-res-16`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-fuel-virtual-daily-danube-361
591 .. _`joid-res-1`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-joid-baremetal-daily-danube-164
593 .. _`joid-res-2`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-joid-baremetal-daily-danube-150
595 .. _`joid-res-3`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-joid-baremetal-daily-danube-162
597 .. _`joid-res-4`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-joid-baremetal-daily-danube-167
599 .. _`joid-res-5`: http://testresults.opnfv.org/test/api/v1/results?build_tag=jenkins-functest-joid-baremetal-daily-danube-165