7 <title>OPNFV presentation</title>
9 <meta name="description" content="Functest: Many rivers to cross">
10 <meta name="author" content="Morgan Richomme and Functest contributors">
12 <meta name="apple-mobile-web-app-capable" content="yes" />
13 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
17 <link rel="stylesheet" href="../css/reveal.css">
18 <link rel="stylesheet" href="../css/theme/OPNFV-Berlin.css" id="theme">
20 <!-- Code syntax highlighting -->
21 <link rel="stylesheet" href="../lib/css/zenburn.css">
23 <!-- Printing and PDF exports -->
25 var link = document.createElement( 'link' );
26 link.rel = 'stylesheet';
27 link.type = 'text/css';
28 link.href = window.location.search.match( /print-pdf/gi ) ? '../css/print/pdf.css' : '../css/print/paper.css';
29 document.getElementsByTagName( 'head' )[0].appendChild( link );
33 <script src="lib/js/html5shiv.js"></script>
40 <!-- Any section element inside of this container is displayed as a slide -->
43 <section data-background="../img/title-bg-berlin.png" data-background-transition="none">
45 <h1>From Arno to Colorado</h1>
46 <h3>Functest: Many rivers to cross</h3>
48 <h4>Functest contributors</h4>
49 <h5>OPNFV Design Summit, 20/6/2016, Berlin</h5>
56 “Bad programmers have all the answers. Good testers have all the questions. Gil Zilberfeld - ”
60 <section data-markdown>
66 * D, E, F rivers and beyond
69 <section data-markdown>
71 ![team](../img/teamSummitBerlin.png)
75 <section data-markdown>
78 <section data-markdown>
80 ### make sure OPNFV works......
82 <section data-markdown>
84 * Validate scenarios for the release
85 * Give confidence on OPNFV fresh releases
86 * Ensure consistancy towards installers
87 * Ensure End to End interoperability
89 <section data-markdown>
91 * Provide functional test suites to be replayed
92 * ~ post install sanity check
93 * usable for plugfests
94 * coherent with ETSI and Telco needs
100 <section data-markdown>
101 ## Our goals are not....
102 * Performance testing (yardstick, Xperf )
103 * Re-do tests done in specific projects
109 <section data-markdown>
111 * Re-use as much as possible upstream suites (Rally, Tempest, Robot, testOn..)
113 * Automate (if not it is not a test...)
114 * Create new suites only if tests not covered
115 * Consider fields not addressed by existing test projects
118 <section data-markdown>
128 <section data-markdown>
131 <section data-markdown>
133 * 4 Testcases: vPing (userdata), Tempest, Rally, ODL
134 * 1 scenario: os-odl_l2-nofeature-ha
135 * 2 installers: Foreman/Fuel
136 * Lots of manual operations (reporting, documentation)
140 <section data-markdown>
143 <section data-markdown>
144 ## More everything....
145 * 7 Testcases: vPing (ssh), ONOS, vIMS, Tempest and Rally extended
146 * 3 feature projects: doctor, promise, sdnvpn
148 * 4 Installers (Apex, Compass, Fuel, Joid)
149 * Test result collection
150 * Automatic dashboard
154 <img height="200" data-src="../img/jiras.png" alt="Jiras">
155 <img height="200" data-src="../img/jiras2.png" alt="Jiras">
159 <h3>Brahmaputra Scenario matrix</h3>
160 <img width="800" data-src="../img/matrix.png" alt="Jiras">
164 Comparison odl_l2-nofeature-ha scenario
180 <td>Ericsson POD2</td>
199 * difference of duration due to POD and test suites
202 <section data-markdown>
205 * harmonizing installer related OpenStack configuration differences
206 * creating customized test lists
207 * main challenge was resolving SDN controller interworking problems
209 * complete but complex test case
210 * very interesting to automate (pre MANO, most of Telco needs met there)
216 <section data-markdown>
220 <section data-markdown>
222 * New internal test cases: healthcheck, security
223 * New controler: OpenContrail?
224 * New feature projects (domino, multisites, movie, parser, moon, copper, models, onos-sfc...)
225 * ARM Support (congratulations to ENEA team!)
226 * Simplified feature project integration journey
229 <section data-markdown>
231 * Slicing of the tests (healthcheck / Smoke / SDN controllers / Features / Components / VNFs)
232 * Better Test duration management
233 * Refactoring (repo, case management, test API)
234 * Automatic reporting
235 * Dashboard evolution to ELK
241 <h3>Automatic reporting</h3>
242 <img height="400" data-src="../img/reporting.png" alt="Reporting">
243 <br><a href="http://testresults.opnfv.org/reporting/functest/release/master/index-status-fuel.html">Validated scenarios for Colorado</a>
249 <section data-markdown>
250 # Many rivers to cross
251 ## Functest beyond Colorado
253 <section data-markdown>
255 * New VNFs (vEPC, vCDN, vWhatever...)
256 * Multi sites (e.g bgpvpn with different back ends)
257 * Better test coverage
259 <section data-markdown>
260 ## A Functional testing As a Service framework
261 * Scenario owner can select their relevant test cases
262 * Test duration estimation
266 <section data-markdown>
268 * Rally: time to give back more
269 * Functest description for ETSI?
275 <img width="600" data-src="../img/colorado.png" alt="tests">
280 <img src="../img/logo-OPNFV-Berlin.png" alt="OPNFV logo">
284 <script src="../lib/js/head.min.js"></script>
285 <script src="../js/reveal.js"></script>
289 // Full list of configuration options available at:
290 // https://github.com/hakimel/reveal.js#configuration
297 transition: 'slide', // none/fade/slide/convex/concave/zoom
299 // Optional reveal.js plugins
301 { src: '../lib/js/classList.js', condition: function() { return !document.body.classList; } },
302 { src: '../plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
303 { src: '../plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
304 { src: '../plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
305 { src: '../plugin/zoom-js/zoom.js', async: true },
306 { src: '../plugin/notes/notes.js', async: true }