Publish CNTT Snezka RC Cookbook 34/69534/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Sat, 11 Jan 2020 18:08:27 +0000 (19:08 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Sat, 11 Jan 2020 18:09:40 +0000 (19:09 +0100)
http://testresults.opnfv.org/functest/cntt_rc_cookbook/

Change-Id: Ie100ddcf4a0ad1b8ba01a10ae91d2a6f40587c3c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
doc/cntt_rc_cookbook/cntt_rc_cookbook.md [new file with mode: 0644]
doc/cntt_rc_cookbook/index.html [new file with mode: 0644]

diff --git a/doc/cntt_rc_cookbook/cntt_rc_cookbook.md b/doc/cntt_rc_cookbook/cntt_rc_cookbook.md
new file mode 100644 (file)
index 0000000..dfb97ae
--- /dev/null
@@ -0,0 +1,80 @@
+# CNTT Snezka RC Cookbook
+
+[Cédric Ollivier](mailto:cedric.ollivier@orange.com)
+
+2020/01/15
+
+
+
+## CNTT Snezka RC
+
+
+### CNTT RI and RC toolchains
+
+- leverage on existing OPNFV testing knowledge and experience
+- conform to LFN CI/CD toolchain continuously deploying and testing NFVI
+- deploy locally the same components via
+  [Xtesting CI](https://galaxy.ansible.com/collivier/xtesting) in case of RC
+
+
+### TC integration requirements
+
+- enforce that the test cases are delivered with all runtime dependencies
+- avoid manual operations when configuring the server running the test cases
+- conform to the common test case execution
+- leverage on an unified way to manage all the interactions with the CI/CD
+  components and with third-parties
+
+**2 simple requirements: [Docker](https://www.docker.com/) + [Xtesting](https://xtesting.readthedocs.io/en/latest/)**
+
+
+### Run CNTT RC Cookbook
+
+- copy/paste the following commands:
+```bash
+virtualenv functest
+. functest/bin/activate
+pip install ansible
+ansible-galaxy install collivier.xtesting
+git clone https://gerrit.opnfv.org/gerrit/functest functest-src
+(cd functest-src && git checkout -b stable/hunter origin/stable/hunter)
+ansible-playbook functest-src/ansible/site.cntt.yml
+```
+- prepare the TC requirements (credentials, images, etc.)
+- trigger the job on the local Jenkins and send the final archive to
+  third-party certification
+
+**Try it, and you will love it!**
+
+
+
+## CNTT Post-Snezka RC
+
+
+### Update the OPNFV TCs
+
+- [port YardStick testcases to Xtesting](https://github.com/cntt-n/CNTT/issues/509)
+- [port Bottlenecks to Xtesting](https://github.com/cntt-n/CNTT/issues/511)
+- [port StorPerf testcases to Xtesting](https://github.com/cntt-n/CNTT/issues/673)
+- [port NFVbench testcases to Xtesting](https://github.com/cntt-n/CNTT/issues/865)
+
+
+### Increase the test coverage
+
+- [add heat-tempest-plugin to Functest](https://github.com/cntt-n/CNTT/issues/483)
+- [add KloudBuster to Functest](https://github.com/cntt-n/CNTT/issues/508)
+- [add tempest-stress to Functest](https://github.com/cntt-n/CNTT/issues/916)
+
+
+
+## Conclusion
+
+
+### Takeaways
+
+- the RI/RC model is very simple and pragmatic
+- it eases smootly integrating new test cases without extra logics and skills
+- it's already in-use in Functest Kubernetes which should be more than an help
+  for CNTT RC2 (see k8s_conformance and xrally_kubernetes)
+
+**Any contribution is more than welcome!**
diff --git a/doc/cntt_rc_cookbook/index.html b/doc/cntt_rc_cookbook/index.html
new file mode 100644 (file)
index 0000000..e7c2e01
--- /dev/null
@@ -0,0 +1,52 @@
+<html>
+<head>
+<title>CNTT Snezka: RC Cookbook</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="rc_cookbook.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>