diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/cntt_rc_cookbook/cntt_rc_cookbook.md | 80 | ||||
-rw-r--r-- | doc/cntt_rc_cookbook/index.html | 52 |
2 files changed, 132 insertions, 0 deletions
diff --git a/doc/cntt_rc_cookbook/cntt_rc_cookbook.md b/doc/cntt_rc_cookbook/cntt_rc_cookbook.md new file mode 100644 index 00000000..dfb97aea --- /dev/null +++ b/doc/cntt_rc_cookbook/cntt_rc_cookbook.md @@ -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 index 00000000..e7c2e015 --- /dev/null +++ b/doc/cntt_rc_cookbook/index.html @@ -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> |