diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/com/pres/stockholm/chainedci.png | bin | 0 -> 95192 bytes | |||
-rw-r--r-- | docs/com/pres/stockholm/ftth.png | bin | 0 -> 162001 bytes | |||
-rw-r--r-- | docs/com/pres/stockholm/index.html | 52 | ||||
-rw-r--r-- | docs/com/pres/stockholm/stockholm.md | 164 |
4 files changed, 216 insertions, 0 deletions
diff --git a/docs/com/pres/stockholm/chainedci.png b/docs/com/pres/stockholm/chainedci.png Binary files differnew file mode 100644 index 000000000..df594cd3a --- /dev/null +++ b/docs/com/pres/stockholm/chainedci.png diff --git a/docs/com/pres/stockholm/ftth.png b/docs/com/pres/stockholm/ftth.png Binary files differnew file mode 100644 index 000000000..5b441d1de --- /dev/null +++ b/docs/com/pres/stockholm/ftth.png diff --git a/docs/com/pres/stockholm/index.html b/docs/com/pres/stockholm/index.html new file mode 100644 index 000000000..65fa37a3a --- /dev/null +++ b/docs/com/pres/stockholm/index.html @@ -0,0 +1,52 @@ +<html> +<head> +<title>From Paris to Stockholm</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="stockholm.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> diff --git a/docs/com/pres/stockholm/stockholm.md b/docs/com/pres/stockholm/stockholm.md new file mode 100644 index 000000000..2fe99cd6e --- /dev/null +++ b/docs/com/pres/stockholm/stockholm.md @@ -0,0 +1,164 @@ +# From Paris to Stockholm + +[Cédric Ollivier](mailto:cedric.ollivier@orange.com) + +2019/06/09 + + + +## Agenda + + +### Agenda + +- Functest and Xtesting in a nutshell +- what's new from Paris (Iruya and J-release)? + - code improvement + - functional gates + - switch to python3 + - Raspberry PI +- what's next? GSMA, CNF, ETSI... + + + +## 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 (2000+) as defined by the upstream communities + (e.g. Tempest, neutron-tempest-api, Barbican, Patrole...) +- upstream API and dataplane benchmarking tools (Rally, VMTP and Shaker) +- Virtual Network Function deployments and testing (vIMS, vRouter and vEPC) + + + +### Network automation journey + + +### Xtesting in a nutshell + +- allow the developer to work only on the test suites without diving into + CI/CD integration +- simplify test integration in a complete LFN-based CI/CD toolchain (e.g. + Jenkins, Testing Containers, Test API and dashboard) +- allow a proper design and verify multiple components in the same CI/CD + toolchain (OpenStack, Kubernetes, ONAP, etc.) + +**Easy to use and very useful for any CI/CD toolchain** + + +### Chained CI + +![OPNFV](chainedci.png) +<!-- .element: style="border: 0" --> + + +### Testing [FTTH](https://en.wikipedia.org/wiki/Fiber_to_the_x) equipment + +![OPNFV](ftth.png) +<!-- .element: style="border: 0; width: 90%" --> + + +### Demo + +- describe the testcase execution +- build and publish your container +- list your test in the toolchain description +- deploy your own toolchain in a few commands + +https://wiki.opnfv.org/pages/viewpage.action?pageId=32015004 + + + +## What's new from Paris (Iruya and J-release) + + +### Code improvement + +- all patches are now verified by [bandit](https://github.com/PyCQA/bandit) (in + addition to yamllint, pep8, pylint, ansible-lint and bashate. Please see + [tox.ini](https://git.opnfv.org/functest/tree/tox.ini) for details). +- 10/10 by pylint is now enforced for all + Functest packages + +**we still need python3.6 in build servers to run our unit tests vs python3** + + +### Functional Gates + +- live-migration, VMTP and Shaker are now verified in all gates (pre and post + merge) +- Functest is continuously executed up to 4 tests in parallel verifying our + reference OpenStack/Kubernetes +- we continuously check the remaining resources after multiple runs (they only + remain a few region and volume leaks which are being fixed) + + +### Switch to python3 + +- all latest Functest containers switched to python3 as default (Functest has + supported both python2 and python3 via six for a while) +- all missing decode/encode calls are backported to Hunter and Iruya +- VMTP has been updated to keep the same testcase list +- our patch about Cloudify REST client will be published upstream if the + project is still active + + +### Raspberry PI + +- travis-ci.org allows us to continuously cross-compile containers (Hunter, + Iruya and latest) for arm (Raspberry PI) and arm64 +- no additional configuration is required (Docker manifest allows an unify way + to run the containers whatever the architectures) +- only testcases leveraging on go have not yet been ported (juju_epc and + Kubernetes conformance tests) + +**Try it, and you will love it!** + + +### New testcases + +- refstack_platform and refstack_object (already part of tempest_full) are now + dedicated testcases in Functest +- tempest_slow is on our agenda to keep conforming with OpenStack gates + + +### New opportunities + +- a few indentified opportunities about +[CNF](https://www.cncf.io/announcement/2019/02/25/cncf-launches-cloud-native-network-functions-cnf-testbed/): +[Clearwater Ims via Kubernetes](https://github.com/Metaswitch/clearwater-docker/) +and [xrally-kubernetes](https://github.com/xrally/xrally-kubernetes) +- GSMA should come with new testcases needs (Functest can already be executed + vs the current profiles) +- ETSI could leverage on Xtesting to package its testcases + + + +## Conclusion + + +### Takeaways + +- Xtesting is a key helper from first tests to full end2end service testing +- Functest allows verifying production Infrastructure and is breaking the + classical preproduction/production model +- And we are still pushing the limits: + - python packages + - GNU/Linux packages + +**Upstream first! Try them, and you will love them! ** + + + +## Thank you |