Add "Gambia Challenges" presentation 27/54427/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Sat, 24 Mar 2018 16:17:16 +0000 (17:17 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Sat, 24 Mar 2018 16:17:16 +0000 (17:17 +0100)
Change-Id: I16350b90f8bd8c5db7cad4aa28704b9bc908996c
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
docs/com/pres/gambiachallenges/gambia.md [new file with mode: 0644]
docs/com/pres/gambiachallenges/index.html [new file with mode: 0644]

diff --git a/docs/com/pres/gambiachallenges/gambia.md b/docs/com/pres/gambiachallenges/gambia.md
new file mode 100644 (file)
index 0000000..d041a3f
--- /dev/null
@@ -0,0 +1,77 @@
+# Functest Gambia, new challenges
+
+[Cédric Ollivier](mailto:cedric.ollivier@orange.com)
+
+2018/03/22
+
+
+
+## Gating
+
+
+### Our gating is very simple
+
+- today all test suites are run sequentially
+- all resources are not necessarily cleant until the next OpenStack deployment
+
+**It's fine for gating installers but not for verifying a production
+environment (e.g. multi users running the same testcase)**
+
+
+### Parallel and Live testing
+
+- all resources should be allocated in their own OpenStack projects (already
+  mostly the case)
+- no testcase should create singletons on resource attributes (name, ip, etc.)
+- all resources have to be cleant at the end
+
+**According to [Orange testing results](https://wiki.opnfv.org/pages/viewpage.action?pageId=13211751),
+Functest is already in a good shape to meet this goal**
+
+
+
+## Quality Assurance
+
+**Gambia release will match the OpenStack Quality Golden rules**
+
+
+### Pylint and coverage (started from E release)
+- 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**
+
+
+### releasing
+
+- Functest could be also released as a classical Python package (
+[PyPI](https://pypi.python.org/pypi))
+- its API docs could be published in [Read the Docs](https://readthedocs.org/)
+
+
+### Current technical debt
+- former python modules (e.g. cli) or containers (e.g. restapi) have to be
+removed
+- functest shouldn't contain any OPNFV Installer logic. **All Jenkins Jobs
+must set the right env vars as all endusers**
+- vnf descriptors should be hosted by Functest instead of using external github
+repositories
+
+
+
+## other challenges
+
+
+### proposals
+
+- ease integrating tempest plugins with a minimum effort (new tempest driver in Functest Framework and new opnfv/functest-tempest container)
+- why not leveraging on OpenStack middlewares such as
+  [oslo.config](https://docs.openstack.org/oslo.config/latest/) or
+  [stevedore](https://docs.openstack.org/stevedore/latest/)?
+
+**Any new testcase is more than welcome!**
+
+
+
+## Thank you
diff --git a/docs/com/pres/gambiachallenges/index.html b/docs/com/pres/gambiachallenges/index.html
new file mode 100644 (file)
index 0000000..592ccf2
--- /dev/null
@@ -0,0 +1,52 @@
+<html>
+<head>
+<title>Gambia challenges</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="gambia.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>