diff options
Diffstat (limited to 'docs/com/pres/testapi.html')
-rwxr-xr-x | docs/com/pres/testapi.html | 274 |
1 files changed, 0 insertions, 274 deletions
diff --git a/docs/com/pres/testapi.html b/docs/com/pres/testapi.html deleted file mode 100755 index c27c21ded..000000000 --- a/docs/com/pres/testapi.html +++ /dev/null @@ -1,274 +0,0 @@ -<!doctype html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - - <title>OPNFV presentation</title> - - <meta name="description" content="Test API"> - <meta name="author" content="Serena Feng"> - - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> - - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui"> - - <link rel="stylesheet" href="../css/reveal.css"> - <link rel="stylesheet" href="../css/theme/OPNFV-Berlin.css" id="theme"> - - <!-- Code syntax highlighting --> - <link rel="stylesheet" href="../lib/css/zenburn.css"> - - <!-- Printing and PDF exports --> - <script> - var link = document.createElement( 'link' ); - link.rel = 'stylesheet'; - link.type = 'text/css'; - link.href = window.location.search.match( /print-pdf/gi ) ? '../css/print/pdf.css' : '../css/print/paper.css'; - document.getElementsByTagName( 'head' )[0].appendChild( link ); - </script> - - <!--[if lt IE 9]> - <script src="lib/js/html5shiv.js"></script> - <![endif]--> - </head> - - <body> - - <div class="reveal"> - <!-- Any section element inside of this container is displayed as a slide --> - <div class="slides"> - - <section data-background="../img/title-bg-berlin.png" data-background-transition="none"> - <br><br><br><br><br> - <h1>Test API</h1> - <h3>Clean, Easy, Complete</h3> - <br> - <h4>OPNFV testing community</h4> - <h5>OPNFV Design Summit, 20/6/2016, Berlin</h5> - <br> - </section> - - <section data-markdown> - # Agenda - * testAPI: what for? - * API overview - * API evolution - * Roadmap - </section> - - <section> - <section data-markdown> - # test API: what for? - </section> - <section data-markdown> - ## Consistant view for - * Resources (Pods) - * Projects - * Test cases - * Results - </section> - - <section data-markdown> - ## Status Currently - * From many projects - * Many formats (log, html, json, ..) - * Many locations (in VM, Jumphost, external DB,...) - </section> - <section data-markdown> - <script type='text/template'> - ## Achieve using testAPI - * Uniform API: testAPI - * Uniform format: JSON - * Universal Location: http://testresults.opnfv.org - <aside class='notes'> - By using testAPI, we hope to provide a uniform way of collection and saving test results to a universal location - </aside> - </script> - </section> - - <section data-markdown> - ## Help building - * Dashboards - * Automatic reporting - </section> - </section> - - <section> - <section data-markdown> - # API overview - </section> - <section data-markdown> - ## Storage structure - ![testapi](https://wiki.opnfv.org/download/attachments/2926452/results_collection_structure.png?version=1&modificationDate=1459196347000&api=v2 "OPNFV API page") - </section> - <section data-markdown> - ## API in Brahmaputra - ![testapi](../img/testapi0.png) - https://wiki.opnfv.org/display/functest/Collection+Of+Test+Results - </section> - - <section data-markdown> - ## API status in Brahmaputra - * Simple data models aggreed with the testing group - * No unit tests - * Wiki and rst documentation - </section> - - <section data-markdown> - ## Lessons learned in B. - * Painful wiki documentation - * Simple result model - * Misuse version as scenario - * No version actually - * No overall criteria (PASS/FAIL) - * Difficult refactoring - </section> - <section> - <h2>Colorado refactoring</h2> - <ul> - <li>Unit tests</li> - <li>Update of the data model</li> - <li>Tornado_swagger for the documentation</li> - <li>URL and MongoDB collection renaming</li> - <li>Scripts to support databse backup/restore/update</li> - <li>Support installation</li> - <aside class='notes'> - So you can discover and understand the capabilities of the service without - access to source code, documentation, or through network traffic inspection, - and also you can interact with the testAPI directly through swagger website. - </aside> - </ul> - <p class="fragment fade-up"><b>All done in Colorado!</b></p> - </section> - </section> - - <section> - <section data-markdown> - # API Evoluation - </section> - - <section> - <h2> URI changes...</h2> - <div style="text-align:left""> - <p> testresults.opnfv.org/<span style="color:lightblue">testapi</span> => <br>testresults.opnfv.org/<span style="color:yellow">test/api/v1</span> </p> - - <p> /test/api/v1/<b>pods</b></p> - <p> /test/api/v1/<b>projects</b></p> - <p> /test/api/v1/projects/qtip/<b>cases</b></p> - <p> /test/api/v1/<b>results</b></p> - </div> - </section> - <section data-markdown> - ## One new field for pods - | Field | Colorado | - | :--- | :--- | - | role | community_pod, ci_pod, .. | - </section> - <section data-markdown> - ## Changed fields for results - | Item | Brahmaputra | Colorado | - | :--- | :--- | :--- | - | date | creation_date | start_date and stop_date | - | version | used as scenario | opnfv release version | - </section> - <section data-markdown> - <script type='text/template'> - ## New fields for results - | Item | Colorado | - | :--- | :--- | - | scenario | used for scenario | - | criteria | PASS/FAILED | - | trust_indicator | between 0 and 1| - <aside class='notes'> - to detect if the test case is stable over time and further more to avoid - running it systematically and saving time for other long duration test cases - </aside> - </script> - </section> - <section data-markdown> - ## One new filter for results - | Item | Colorado | - | :--- | :--- | - | last | get last N results| - </section> - <section data-markdown> - http://testresults.opnfv.org/test/swagger/spec.html - ![alt text](../img/testapi1.png "Test API swagger interface") - </section> - <section> - <h2>unit tests</h2> - <pre><code class="hljs" data-trim contenteditable> -umry8364@umry8364-Latitude-E6400:~/Dev/OPNFV/releng/utils/test/result_collection_api$ ./run_test.sh -Tests running... -WARNING:tornado.general:404 GET /dashboard/v1/results?case=vPing&pod=zte-pod1&version=C&installer=fuel&period=5 (127.0.0.1): Project name missing -WARNING:tornado.access:404 GET /dashboard/v1/results?case=vPing&pod=zte-pod1&version=C&installer=fuel&period=5 (127.0.0.1) 2.30ms -WARNING:tornado.general:400 POST /api/v1/projects (127.0.0.1): name missing -............ -WARNING:tornado.access:400 POST /api/v1/projects (127.0.0.1) 1.13ms -WARNING:tornado.access:403 PUT /api/v1/projects/functest/cases/vping_1 (127.0.0.1) 2.95ms -WARNING:tornado.general:404 PUT /api/v1/projects/functest/cases/notFound (127.0.0.1): {'project_name': u'functest', 'name': u'notFound'} could not be found in table [testcases] -WARNING:tornado.access:404 PUT /api/v1/projects/functest/cases/notFound (127.0.0.1) 2.85ms - -Ran 74 tests in 1.848s -OK - </code></pre> - </section> - </section> - - <section> - <section data-markdown> - # Roadmap - </section> - <section data-markdown> - ## Roadmap - * Dockerize testAPI - * Automatic update of testAPI - * Command Line Interface - * Automatic update for pods/projects/testcases - </section> - <section data-markdown> - # suggestions ... - </section> - <section> - <h3>Thank you</h3> - <img width="600" data-src="../img/colorado.png" alt="tests"> - </section> - </section> - </div> - <div class='footer'> - <img src="../img/logo-OPNFV-Berlin.png" alt="OPNFV logo"> - </div> - </div> - - <script src="../lib/js/head.min.js"></script> - <script src="../js/reveal.js"></script> - - <script> - - // Full list of configuration options available at: - // https://github.com/hakimel/reveal.js#configuration - Reveal.initialize({ - controls: true, - progress: true, - history: true, - center: true, - - transition: 'slide', // none/fade/slide/convex/concave/zoom - - // Optional reveal.js plugins - dependencies: [ - { src: '../lib/js/classList.js', condition: function() { return !document.body.classList; } }, - { src: '../plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, - { src: '../plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, - { src: '../plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } }, - { src: '../plugin/zoom-js/zoom.js', async: true }, - { src: '../plugin/notes/notes.js', async: true } - ] - }); - - </script> - - </body> -</html> |