aboutsummaryrefslogtreecommitdiffstats
path: root/docs/com/pres/Summit/Berlin-2016/testapi.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/com/pres/Summit/Berlin-2016/testapi.html')
-rw-r--r--docs/com/pres/Summit/Berlin-2016/testapi.html274
1 files changed, 0 insertions, 274 deletions
diff --git a/docs/com/pres/Summit/Berlin-2016/testapi.html b/docs/com/pres/Summit/Berlin-2016/testapi.html
deleted file mode 100644
index c40637cb..00000000
--- a/docs/com/pres/Summit/Berlin-2016/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="TestAPI">
- <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="../../reveal.js/css/reveal.css">
- <link rel="stylesheet" href="../../../css/theme/OPNFV-Berlin.css" id="theme">
-
- <!-- Code syntax highlighting -->
- <link rel="stylesheet" href="../../reveal.js/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 ) ? '../../reveal.js/css/print/pdf.css' : '../../reveal.js/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>TestAPI</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>
- # TestAPI: 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 "TestAPI 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="../../reveal.js/lib/js/head.min.js"></script>
- <script src="../../reveal.js/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: '../../reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { 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, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
- { src: '../../reveal.js/plugin/zoom-js/zoom.js', async: true },
- { src: '../../reveal.js/plugin/notes/notes.js', async: true }
- ]
- });
-
- </script>
-
- </body>
-</html>