summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/com/pres/functest2019/functest2019.md105
-rw-r--r--docs/com/pres/functest2019/index.html52
2 files changed, 157 insertions, 0 deletions
diff --git a/docs/com/pres/functest2019/functest2019.md b/docs/com/pres/functest2019/functest2019.md
new file mode 100644
index 000000000..48f01cb0c
--- /dev/null
+++ b/docs/com/pres/functest2019/functest2019.md
@@ -0,0 +1,105 @@
+# Functest 2019
+
+[Cédric Ollivier](mailto:cedric.ollivier@orange.com)
+
+2019/01/08
+
+
+
+## Gates
+
+
+### Today's Verify -1
+
+- one error is detected by yamllint, pep8, pylint, ansible-lint, bashate or
+ doc8
+- one unit test fails (py27 and py35)
+- specific modules are not rated 10/10 by pylint
+- our Framework is not fully covered
+- unix permissions are wrong
+- one doc cannot be generated without warning
+
+Please see [tox.ini](https://git.opnfv.org/functest/tree/tox.ini) for details
+
+
+### Great! But
+
+- the current gate checks all coding rules, our Framework and all interfaces
+to third-parties but **not our testcases**
+- it doesn't break **the circular dependencies** between Installers and
+Functest (Installers ask for a trustable healthcheck but we need results of
+"Installer runs" as prerequisites)
+
+Our testcases have still **to be verified by hand** what differs from
+OpenStack Workflow.
+
+
+### Functional gating
+
+- we need to run all Functest patches before merge against reference
+plateforms (OpenStack and Kubernetes)
+- a voting job must forbid the merge if one test fails (as the workflow
+process implemented by OpenStack)
+
+
+### Improve the current daily model
+
+- all Functest jobs are linked to the OPNFV installers and can hardly be
+ reused by endusers
+- all test suites are run sequentially
+- rally_full is excluded due to its duration (~3 hours)
+- all possible remaining resources are cleant when installing the scenarios
+
+**It's fine for gating installers but not for verifying that Functest supports parallel and live testing**
+
+
+### New Xtesting Ansible role
+
+- deploy anywhere the full OPNFV CI/CD toolchain in few commands
+- easily add external bots voting in reviews
+- produce all Xtesting-based fonctional jobs (Xtesting, Functest and Functest
+ Kubernetes) in Releng
+- could be instanciated for testing services out of the infrastructure domain
+
+**It's already in a [good shape](https://lists.opnfv.org/g/opnfv-tech-discuss/message/22552). [Try it!](https://wiki.opnfv.org/pages/viewpage.action?pageId=32015004)**
+
+
+
+## Quality Assurance
+
+**Functest is matching the OpenStack Quality Golden rules**
+
+
+### Pylint and coverage (started from E release)
+- only need to refactor several vnf testcases and to remove duplicated code
+- document well and cover Functest utils: they are reused by
+OPNFV third-parties (SFC, SDNVPN)
+
+** Functest will be rated 10/10 very soon**
+
+
+### releasing
+
+- Functest could be also released as a classical Python packages like Xtesting(
+[PyPI](https://pypi.python.org/pypi))
+- Xtesting and Functest could be released as GNU/Linux distribution packages
+
+
+
+## other challenges
+
+
+### proposals
+
+- integrate Rally and Tempest as core modules in Functest (we do merge tempest.py and
+ conf_utils.py)
+- deploy cloud-native VNF (Clearwater IMS?)
+- why not leveraging on OpenStack middlewares such as
+ [oslo.config](https://docs.openstack.org/oslo.config/latest/)?
+- promote our VNF testcases in the upstream communities
+
+**Any new testcase is more than welcome!**
+
+
+
+## Thank you
diff --git a/docs/com/pres/functest2019/index.html b/docs/com/pres/functest2019/index.html
new file mode 100644
index 000000000..33dc9a9f2
--- /dev/null
+++ b/docs/com/pres/functest2019/index.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<title>Functest 2019</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="functest2019.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>