aboutsummaryrefslogtreecommitdiffstats
path: root/docs/com/pres/compliance
diff options
context:
space:
mode:
Diffstat (limited to 'docs/com/pres/compliance')
-rw-r--r--docs/com/pres/compliance/compliance.md97
-rw-r--r--docs/com/pres/compliance/index.html52
2 files changed, 149 insertions, 0 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>