3d1f125319007c6e2e1b2a0380ce48e5f19613ef
[functest.git] / docs / com / pres / summit-Berlin.html
1 <!doctype html>
2 <html lang="en">
3
4         <head>
5                 <meta charset="utf-8">
6
7                 <title>OPNFV presentation</title>
8
9                 <meta name="description" content="Functest: Many rivers to cross">
10                 <meta name="author" content="Morgan Richomme and Functest contributors">
11
12                 <meta name="apple-mobile-web-app-capable" content="yes" />
13                 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
14
15                 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
16
17                 <link rel="stylesheet" href="../css/reveal.css">
18                 <link rel="stylesheet" href="../css/theme/OPNFV-Berlin.css" id="theme">
19
20                 <!-- Code syntax highlighting -->
21                 <link rel="stylesheet" href="../lib/css/zenburn.css">
22
23                 <!-- Printing and PDF exports -->
24                 <script>
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 );
30                 </script>
31
32                 <!--[if lt IE 9]>
33                 <script src="lib/js/html5shiv.js"></script>
34                 <![endif]-->
35         </head>
36
37         <body>
38
39                 <div class="reveal">
40                         <!-- Any section element inside of this container is displayed as a slide -->
41                         <div class="slides">
42
43                                 <section data-background="../img/title-bg-berlin.png" data-background-transition="none">
44                      <br><br><br><br><br>
45                      <h1>From Arno to Colorado</h1>
46                      <h3>Functest: Many rivers to cross</h3>
47                      <br>
48                                          <h4>Functest contributors</h4>
49                                          <h5>OPNFV Design Summit, 20/6/2016, Berlin</h5>
50                                          <br>
51
52                                 </section>
53
54                                 <section>
55                                         <blockquote>
56                                                 &ldquo;Bad programmers have all the answers. Good testers have all the questions. Gil Zilberfeld - &rdquo;
57                                         </blockquote>
58                                 </section>
59
60                                 <section data-markdown>
61                                         # Agenda
62                                         * Functest
63                                         * Arno
64                                         * Brahmaputra
65                                         * Colorado
66                                         * D, E, F rivers and beyond
67                                 </section>
68
69                                 <section data-markdown>
70                                         # The dream team
71                                         ![team](../img/teamSummitBerlin.png)
72                                 </section>
73
74                                 <section>
75                                         <section data-markdown>
76                                                 # Functest: what for?
77                                         </section>
78                                         <section data-markdown>
79                                                 ## Our goals
80                                                 ### make sure OPNFV works......
81                                         </section>
82                                         <section data-markdown>
83                                                 ## so concretely...
84                                                 * Validate scenarios for the release    
85                                                 * Give confidence on OPNFV fresh releases
86                                                 * Ensure consistancy towards installers
87                                                 * Ensure End to End interoperability
88                                         </section>
89                                         <section data-markdown>
90                                                 ## and also
91                                                 * Provide functional test suites to be replayed
92                                                   * ~ post install sanity check
93                                                   * usable for plugfests
94                                                   * coherent with ETSI and Telco needs
95                                                 * Provide test tools
96                                                   * run tests
97                                                   * collect info
98                                                   * create dashboard
99                                         </section>
100                     <section data-markdown>
101                                                 ## Our goals are not....
102                                                 * Performance testing (yardstick, Xperf )
103                                                 * Re-do tests done in specific projects
104                                                   * storage/storeperf
105                                                   * infra audit/qtip
106                                                 * Compare results
107                                         </section>
108
109                     <section data-markdown>
110                                                 ## Our rules
111                                                 * Re-use as much as possible upstream suites (Rally, Tempest, Robot, testOn..)
112                                                 * Keep it simple...
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
116                                         </section>
117
118                     <section data-markdown>
119                                                 ## Our rules
120                                                 * Installer neutral
121                                                 * Controller neutral
122                                                 * Black box approach
123                                         </section>
124
125                                 </section>
126
127                 <section>
128                     <section data-markdown>
129                                                 # Arno
130                                         </section>
131                     <section data-markdown>
132                                                 ## Proof of concept
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)
137                                         </section>
138                 </section>                              
139                                 <section>
140                     <section data-markdown>
141                                                 # Brahmaputra
142                                         </section>
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
147                                                 * 13 Scenarios
148                                                 * 4 Installers (Apex, Compass, Fuel, Joid)
149                                                 * Test result collection 
150                                                 * Automatic dashboard 
151                                         </section>
152                                 <section>
153                                         <h3>Jiras</h3>
154                                         <img height="200"  data-src="../img/jiras.png" alt="Jiras">
155                                         <img height="200"  data-src="../img/jiras2.png" alt="Jiras">
156                                 </section>
157
158                                 <section>
159                                         <h3>Brahmaputra Scenario matrix</h3>
160                                         <img width="800"  data-src="../img/matrix.png" alt="Jiras">
161                                 </section>
162
163                                 <section>
164                                         Comparison odl_l2-nofeature-ha scenario
165                                         <table>
166                                                 <thead>
167                                                         <tr>
168                                                                 <th>Project</th>
169                                                                 <th>Apex</th>
170                                                                 <th>Compass</th>
171                                                                 <th>Fuel</th>
172                                                                 <th>Joid</th>
173                                                         </tr>
174                                                 </thead>
175                                                 <tbody>
176                                                         <tr>
177                                                                 <td>POD</td>
178                                                                 <td>LF POD1</td>
179                                                                 <td>Huawei US</td>
180                                                                 <td>Ericsson POD2</td>
181                                                                 <td>Orange POD2</td>
182                                                         </tr>
183                                                         <tr>
184                                                                 <td>Functest</td>
185                                                                 <td>2h50</td>
186                                                                 <td>1h45</td>
187                                                                 <td>2h35</td>
188                                                                 <td>2h30</td>
189                                                         </tr>
190                                                         <tr>
191                                                                 <td>Yardstick</td>
192                                                                 <td>1h05</td>
193                                                                 <td>1h00</td>
194                                                                 <td>1h00</td>
195                                                                 <td>0h55</td>
196                                                         </tr>
197                                                 </tbody>
198                                         </table>
199                    * difference of duration due to POD and test suites 
200                                 </section>
201
202                                 <section data-markdown>
203                                         ## Lessons learned
204                                         * Tempest/Rally
205                                           * harmonizing installer related OpenStack configuration differences
206                                           * creating customized test lists
207                                           * main challenge was resolving SDN controller interworking problems 
208                                         * vIMS
209                                           * complete but complex test case
210                                           * very interesting to automate (pre MANO, most of Telco needs met there)
211                                 </section>
212
213                                 </section>
214
215                                 <section>                               
216                                         <section data-markdown>
217                                                 # Colorado
218                                         </section>
219
220                                         <section data-markdown>
221                                                 ## What's new?
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
227                                         </section>
228
229                                         <section data-markdown>
230                                                 ## What's new?
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
236                                                 * CLI
237                                         </section>
238
239
240                                 <section>
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>
244                                 </section>
245
246                                 </section>
247
248                 <section>
249                                         <section data-markdown>
250                                                 # Many rivers to cross
251                                                 ## Functest beyond Colorado
252                                         </section>
253                                         <section data-markdown>
254                                                 ## More test cases
255                                                 * New VNFs (vEPC, vCDN, vWhatever...)
256                                                 * Multi sites (e.g bgpvpn with different back ends)
257                                                 * Better test coverage
258                                         </section>                                      
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
263                                                 * Agile dashboarding
264                                                 * Analytics
265                                         </section>      
266                     <section data-markdown>
267                                                 ## Upstream
268                                                 * Rally: time to give back more
269                                                 * Functest description for ETSI?   
270                                         </section>                                      
271                 </section>
272
273                                 <section>
274                                         <h3>Thank you</h3>
275                                         <img width="600"  data-src="../img/colorado.png" alt="tests">
276                                 </section>
277
278                         </div>
279             <div class='footer'>
280                                  <img src="../img/logo-OPNFV-Berlin.png" alt="OPNFV logo"> 
281                 </div>
282                 </div>
283
284                 <script src="../lib/js/head.min.js"></script>
285                 <script src="../js/reveal.js"></script>
286
287                 <script>
288
289                         // Full list of configuration options available at:
290                         // https://github.com/hakimel/reveal.js#configuration
291                         Reveal.initialize({
292                                 controls: true,
293                                 progress: true,
294                                 history: true,
295                                 center: true,
296
297                                 transition: 'slide', // none/fade/slide/convex/concave/zoom
298
299                                 // Optional reveal.js plugins
300                                 dependencies: [
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 }
307                                 ]
308                         });
309
310                 </script>
311
312         </body>
313 </html>