# Functest Gates [Cédric Ollivier](mailto:cedric.ollivier@orange.com) 2018/04/19 ### Why gating? - maintain an overall high quality code whatever the skills involved in our open community - detect the errors as soon as possible (before merge operations) - verify automatically most of Functest milestones ### Today's Verify -1 - one error is detected by yamllint, pylint or doc8 - one unit test fails (py27 and py35) - our Framework is not fully covered - specific modules are not rated 10/10 by pylint - unix permissions are wrong - one doc cannot be generated without warning Please see [tox.ini](https://git.opnfv.org/functest/tree/tox.ini) for details ### Gambia's Verify -1 - enforce an overall 10/10 by pylint - check the full coverage of all third-party interfaces - integrate other linters like ShellScript (if they meet tox basics) Please see [Gambia Challenges](http://testresults.opnfv.org/functest/gambiachallenges/) for details ### Great! But - the current gate checks all coding rules, our Framework and all interfaces to third-parties but **not our testcases** - it doesn't break **the circular dependencies** between Installers and Functest (Installers ask for a trustable healthcheck but we need results of "Installer runs" as prerequisites) Our testcases have still **to be verified by hand** what differs from OpenStack Workflow ### functional gating - we need to run all Functest patches before merge against reference plateforms (OpenStack and Kubernetes) - a voting job must forbid the merge if one test fails (as the workflow process implemented by OpenStack) ### reference platform - it could be baremetal or virtual if all testcases (including all VNFs) can be tested successfully - any compliant Installer could be selected as long as the appropriate target VIM version is proposed at the beginning of the release: - devstack (OpenStack gates) - kolla-ansible (Orange ONAP OpenLab) - XCI - APEX ### Verify +2 Only the functional check will take hours once the patchset is accepted by core reviewers (each patchset will be verified in ~10 minutes). **Always stable!** ## Thank you!