Page tree
Skip to end of metadata
Go to start of metadata

OPNFV Beijing Summit

Summary slides (Paris Plugfest/hackfest):  Functest Euphrates.pptx

General topics

1SNAP-rize the codeGet rid of openstack_utils and use snaps util functions to create openstack objects.Very High
2Composite VIM supportSupport for different VIM in Functest. Specially, k8. Abstraction layer?High
3Docker slicingIdea that we had for Danube to slice the image into different ones to isolate dependencies.High
4Docker -> AlpineUse Alpine instead.
5Code enhancement

Improve code in Functest (prepare_env, config files, logger, return, exits...)

Further OO-ize the code(testcases.yaml/installer_params.yaml parsing...etc)

6Functest offlineAchieve running Functest without internet connectivity.Medium
7Improve outputThere is too much output generated in jenkins console, which makes it unreadable.Low
8Functest APIMicro service approach to allow user to call Rest API to see test tiers and trigger testHigh
9Unit Testing

Achieve unit test coverage > 80%

anyone providing any new feature MUST provide the associated unit code..

bug fix = new unit test expliciting the problem causing the bug



1Modify TestCase constructor attributessee
2Fix Feature code status

FUNCTEST-778 - Getting issue details... STATUS

FUNCTEST-781 - Getting issue details... STATUS

3Cover Feature

Feature must be covered by UT (100%) as it's part of our framework

FUNCTEST-779 - Getting issue details... STATUS

4Add docstrings in Feature

Feature must be well documented as it's part of our framework

5Set cmd as run args in testcases.yamlsee
6Use Feature as driver for all bash third-party testcases

The following features will be useless:

  • copper
  • doctor
  • domino
  • netready
  • odl_sfc
  • promise
  • sdnvpn
  • security_scan
7Manage criteria as written in testcases.yaml
  • criteria (as defined in testcases.yaml) should be stored as a testcase attribute,
  • former criteria (used to push to db) should be renamed as result,
  • check_criteria could be renamed as check_result
8Move third party testcases to third party repoIt concerns barometer at least.Medium
9Feature __init__ should raise ValueError

 If repo is false, it raises AttributeError: 'Constants' object has no attribute 'foo'.

FUNCTEST-780 - Getting issue details... STATUS



10Check return code

TestCase status codes should be used in every TestCase (internal). must convert them to the corresponding releng status codes (external).

11Complete the VNF abstractionvnf_base must be updated to take the new rules defined into accountHigh
12Fully cover the VNF abstractionVnf must be covered by UT (100%) as it's part of our frameworkHigh
13Add docstrings in VNF abstractionVnf must be well documented as it's part of our frameworkHigh
14Filter CI data before calling TestCase constructor args

blocking, clean_flag and run shouldn't be passed to TestCase __init__()


15Remove :undoc-members: in apidoc rst

This is useless when the classes are well documented




1Promotion scenario/casePromote scenarios and test cases that work more often. CI evolution for Functest in DanubeHigh
2Gerrit commit gatingMore CI scripts to ensure no regression in coverage, no regression in file permission rights...Medium
3Gerrit commit gatingFor each patch-set, it should be a verify job that runs the code on a fresh virtual deployment.Low




Finalize CI interfaces

Feature project interfaces

Enhancement of Feature project interfaces, Policy to apply if unrespected


List of "bad" implementation, good practice guide


In code dev documentation



1Cross collaboration testingAlign with other communities (Openstack, odl, ..) to share ideas a leverage existing tools. Medium




1Rethink testsIdentify overlaps in the tests we run (e.g. tempest_smoke vs refstack)High
2ONAP testingAlign with ONAP community for a common testing practices.Medium
3More VNFsAdd more open source VNF examplesMedium
4k8 testBesides Functest supporting containers. Add a test for k8 scenarios.Medium

Test API

1TestAPI enhancementProvide website and support pagination there, let expose the website instead of swagger pageMedium


Internal Organization

Clarify internal organization

Avoid "panic" mode /  "installer first"

Avoid quick & dirty fix...we always pay at the end.

Avoid hide the dust under the carpet and report issues to the St Glinglin especially during first dev phase

CI MUST not be used to validate a patch...either use Functest Server or your server...

Priviledge UNIX like OS for dev... 

Be more strict, i.e. refuse integration if not compliant with interface requirements


Functest feature integration status



  • No labels


  1. I think Making Functest able to be called through Rest API is a good candidate. This will also fix the docker slicing issue.

    Please refer to the last comment that I left at the image slicing page.

    Docker images slicing

  2. How is the priority defined for each task? I would say Functest API is not as low as it is listed. Just like what is said in comment 1, making Functest called through API could be a solution for  docker image slicing.

    1. I think you're free to increase the priority

  3. We can discuss in tomorrow's meeting. Also, follow up session will happen during the hackfest.