diff options
-rw-r--r-- | docs/com/pres/compliance/compliance.md | 97 | ||||
-rw-r--r-- | docs/com/pres/compliance/index.html | 52 | ||||
-rw-r--r-- | tox.ini | 2 | ||||
-rw-r--r-- | upper-constraints.txt | 2 |
4 files changed, 151 insertions, 2 deletions
diff --git a/docs/com/pres/compliance/compliance.md b/docs/com/pres/compliance/compliance.md new file mode 100644 index 000000000..cbe0dbe17 --- /dev/null +++ b/docs/com/pres/compliance/compliance.md @@ -0,0 +1,97 @@ +# From Verification to CNTT Compliance + +[Cédric Ollivier](mailto:cedric.ollivier@orange.com) + +2019/12/04 + + + +## Infrastructure Verification + + +### Functest in a nutshell + +- verify any kind of OpenStack and Kubernetes deployments (OPNFV model) + including production environments +- conform with upstream rules (OpenStack gate jobs and Kubernetes conformance + tests) +- ensure that the platforms meet Network Functions Virtualization requirements + + +### Functest suites + +- all functional tests (3000+) as defined by the upstream communities + (e.g. Tempest, neutron-tempest-api, Barbican, Patrole...) +- 3 hours upstream API and dataplane benchmarking tests (Rally, VMTP and + Shaker) +- Virtual Network Function deployments and testing (vIMS, vRouter and vEPC) + + + +## CNTT Compliance + + +### Verification vs Compliance + +- verification allows skipping test if optional services (Gnocchi, Barbican, + etc.) or capabilities (remote console access, Neutron BGPVPN or SFC, etc.) + are missing +- compliance forces here the full API descriptions as currently proposed by + CNTT (please see + [Interfaces and APIs](https://github.com/cntt-n/CNTT/blob/master/doc/ref_arch/openstack/chapters/chapter05.md)) +- then the testcase descriptions should forbid skipping any test and cover only + the mandatory services (and their mandatory capabilities) + + +### Changelog + +- all the logics were already in Functest and the underlying frameworks (Rally, + Tempest, etc.) +- 2 new CNTT-related containers including the new testcase descriptions were + published to easily verify the compliance +- all 3 Functest SUTs (Rocky, Stein/Train and Master) are now compliant with + CNTT API to ensure the continuous integration +- the benchmarking testcases doesn't validate any KPI as nothing is written in + CNTT documentation + + +### RI verification and Compliance + +- CNTT Reference Implementation 1 is already continuously verified + ([continuous integration model](https://build.opnfv.org/ci/view/cntt/job/cntt-latest-daily/)) +- the conformance is currently failing due to a few bugs in deployments and + missing features + +**Be free to [deploy your own CNTT Compliance CI/CD toolchain](https://wiki.opnfv.org/pages/viewpage.action?pageId=32015004) + in a few commands** + + + +## Conclusion + + +### Next steps + +- fix reference implementation 1 deployments and then achieve the compliance +- port existing OPNFV testcases to Xtesting and then add them in the continuous + integration loop +- update the testcase descritions according to the CNTT progress (KPI, API + changes) + + +### Takeaways + +- Functest allows verifying any production Infrastructure and now checking the + CNTT API Compliance +- all containers can be already consumed +- any third-party certification should reuse the Functest CNTT-related + containers as they are +- [CNTT RI continuous integration](https://build.opnfv.org/ci/view/cntt/job/cntt-latest-daily/) + is in place and any testcase can be smoothly added if they leverage on + Xtesting + +**Try it, and you will love it!** + + + +## Thank you diff --git a/docs/com/pres/compliance/index.html b/docs/com/pres/compliance/index.html new file mode 100644 index 000000000..94fc121d6 --- /dev/null +++ b/docs/com/pres/compliance/index.html @@ -0,0 +1,52 @@ +<html> +<head> +<title>From Verification to Compliance</title> +<meta name="author" content="Cédric Ollivier"> +<meta name="viewport" + content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> +<link rel="stylesheet" href="../reveal.js/css/reveal.css"> +<link rel="stylesheet" href="../reveal.js/css/theme/white.css"> +<link rel="stylesheet" href="../reveal.js/lib/css/zenburn.css"> +<script> +var link = document.createElement( 'link' ); +link.rel = 'stylesheet'; +link.type = 'text/css'; +link.href = window.location.search.match( /print-pdf/gi ) ? '../reveal.js/css/print/pdf.css' : '../reveal.js/css/print/paper.css'; +document.getElementsByTagName( 'head' )[0].appendChild( link ); +</script> +</head> +<body> + <div class="reveal"> + <div class="slides"> + <section data-markdown="compliance.md" data-separator="^\n\n\n" + data-separator-vertical="^\n\n" data-separator-notes="^Note:"></section> + </div> + </div> + <script src="../reveal.js/lib/js/head.min.js"></script> + <script src="../reveal.js/js/reveal.js"></script> + <script> + Reveal.initialize({ + dependencies : [ { + src : '../reveal.js/plugin/markdown/marked.js', + condition : function() { + return !!document.querySelector('[data-markdown]'); + } + }, { + src : '../reveal.js/plugin/markdown/markdown.js', + condition : function() { + return !!document.querySelector('[data-markdown]'); + } + }, { + src: '../reveal.js/plugin/highlight/highlight.js', + async: true, + callback: function() { + hljs.initHighlightingOnLoad(); + } + }, { + src: '../reveal.js/plugin/notes/notes.js', + async: true + } ] + }); + </script> +</body> +</html> @@ -59,7 +59,7 @@ commands = [testenv:ansiblelint] basepython = python3.7 commands = - ansible-lint ansible/site.yml + ansible-lint -x303 ansible/site.yml [testenv:py37] commands = nosetests functest/tests/unit diff --git a/upper-constraints.txt b/upper-constraints.txt index 76a5d9a4b..b4f4ddcaf 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -14,7 +14,7 @@ robotframework===3.1.1 robotframework-httplibrary===0.4.2 robotframework-requests===0.5.0 robotframework-sshlibrary===3.3.0 -ansible===2.3.2.0 +ansible===2.9.2 xtesting===0.85.0 bandit===1.1.0 ruamel.yaml.jinja2==0.2.2 |