------------
In order to have consistent testing profiles, it has been suggested to define and store traffic profiles.
-These profiles shall be based on operator representative scenario.
+These profiles shall be based on operator representative scenario.
-These reference profiles may be used by any test projects, unitary, functional or performance tests.
-It is possible to adapt them to specific testcases.
-It is recommended to use them in order to avoid getting as many profiles as tests.
+These reference profiles may be used by any test projects, unitary, functional or performance tests.
+It is possible to adapt them to specific testcases.
+It is recommended to use them in order to avoid getting as many profiles as tests.
It should be helpful to compare the results of test scenario.
.. _howto:
bottom: 1em;
left: 1em;
font-size: 0.5em;
-
+
}
.reveal .slides > section, .reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
-
+
.reveal .opnfv-title {
background-image: url("../../img/title-bg-berlin.png" no-repeat);
}
.reveal h1 {
text-shadow: none; }
-
+
/*********************************************
* OTHER
bottom: 1em;
left: 1em;
font-size: 0.5em;
-
+
}
.reveal .slides > section, .reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
-
+
.reveal .opnfv-title {
background-image: url("../../img/title-bg.png" no-repeat);
}
.reveal h1 {
text-shadow: none; }
-
+
/*********************************************
* OTHER
</div>
<div class='footer'>
- <img src="../../../img/logo-OPNFV-Berlin.png" alt="OPNFV logo">
+ <img src="../../../img/logo-OPNFV-Berlin.png" alt="OPNFV logo">
</div>
</div>
</section>
<section data-markdown>
## so concretely...
- * Validate scenarios for the release
+ * Validate scenarios for the release
* Give confidence on OPNFV fresh releases
* Ensure consistancy towards installers
* Ensure End to End interoperability
* 2 installers: Foreman/Fuel
* Lots of manual operations (reporting, documentation)
</section>
- </section>
+ </section>
<section>
<section data-markdown>
# Brahmaputra
* 3 feature projects: doctor, promise, sdnvpn
* 13 Scenarios
* 4 Installers (Apex, Compass, Fuel, Joid)
- * Test result collection
- * Automatic dashboard
+ * Test result collection
+ * Automatic dashboard
</section>
<section>
<h3>Jiras</h3>
</tr>
</tbody>
</table>
- * difference of duration due to POD and test suites
+ * difference of duration due to POD and test suites
</section>
<section data-markdown>
* Tempest/Rally
* harmonizing installer related OpenStack configuration differences
* creating customized test lists
- * main challenge was resolving SDN controller interworking problems
+ * main challenge was resolving SDN controller interworking problems
* vIMS
* complete but complex test case
* very interesting to automate (pre MANO, most of Telco needs met there)
</section>
- <section>
+ <section>
<section data-markdown>
# Colorado
</section>
## What's new?
* New internal test cases: healthcheck, security
* New controler: OpenContrail?
- * New feature projects (domino, multisites, movie, parser, moon, copper, models, onos-sfc...)
+ * New feature projects (domino, multisites, movie, parser, moon, copper, models, onos-sfc...)
* ARM Support (congratulations to ENEA team!)
* Simplified feature project integration journey
</section>
* New VNFs (vEPC, vCDN, vWhatever...)
* Multi sites (e.g bgpvpn with different back ends)
* Better test coverage
- </section>
+ </section>
<section data-markdown>
## A Functional testing As a Service framework
* Scenario owner can select their relevant test cases
* Test duration estimation
* Agile dashboarding
* Analytics
- </section>
+ </section>
<section data-markdown>
## Upstream
* Rally: time to give back more
- * Functest description for ETSI?
- </section>
+ * Functest description for ETSI?
+ </section>
</section>
<section>
* Test cases
* Results
</section>
-
+
<section data-markdown>
## Status Currently
* From many projects
</aside>
</script>
</section>
-
+
<section data-markdown>
## Help building
* Dashboards
<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,
+ 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>
<section data-markdown>
# API Evoluation
</section>
-
+
<section>
<h2> URI changes...</h2>
- <div style="text-align:left"">
+ <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>
<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
+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
- all ONAP Robot Framework files retrieved from the original repositories
- testcases.yaml describing the testcases
-[Orange-OpenSource/xtesting-onap-robot](https://github.com/Orange-OpenSource/xtesting-onap-robot/)
+[Orange-OpenSource/xtesting-onap-robot](https://github.com/Orange-OpenSource/xtesting-onap-robot/)
### What's new in Xtesting?
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=http://testresultS.opnfv.org/reporting>os-odl-fdio-ha</a></td>
<td><div id="gaugeScenario5"></div></td>
<td>4/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/108/console>os-nosdn-ovs_dpdk-ha</a></td>
<td><div id="gaugeScenario8"></div></td>
<td>16/18</td>
<td>2</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/139/console>os-nosdn-fdio-ha</a></td>
<td><div id="gaugeScenario12"></div></td>
<td>18/20</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/121/console>os-nosdn-bar-ha</a></td>
<td><div id="gaugeScenario17"></div></td>
<td>26/27</td>
<td>4</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/134/console>os-nosdn-nofeature-ha</a></td>
<td><div id="gaugeScenario19"></div></td>
<td>8/30</td>
<td>4</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/114/console>os-ovn-nofeature-noha</a></td>
<td><div id="gaugeScenario7"></div></td>
<td>6/18</td>
<td>2</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/136/console>os-odl-nofeature-noha</a></td>
<td><div id="gaugeScenario10"></div></td>
<td>4/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=http://testresultS.opnfv.org/reporting>os-odl-fdio_dvr-noha</a></td>
<td><div id="gaugeScenario14"></div></td>
<td>18/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-baremetal-daily-euphrates/128/console>os-nosdn-calipso-noha</a></td>
<td><div id="gaugeScenario18"></div></td>
<td>18/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
FDS
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
FDS
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
FDS
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Doctor
*
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-compass-virtual-daily-euphrates/81/console>os-odl_l3-nofeature-ha</a></td>
<td><div id="gaugeScenario4"></div></td>
<td>26/30</td>
<td>9</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-compass-virtual-daily-euphrates/72/console>os-nosdn-ovs_dpdk-ha</a></td>
<td><div id="gaugeScenario8"></div></td>
<td>2/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-compass-baremetal-daily-euphrates/24/console>os-odl_l2-moon-ha</a></td>
<td><div id="gaugeScenario11"></div></td>
<td>24/30</td>
<td>4</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-compass-virtual-daily-euphrates/86/console>os-nosdn-nofeature-noha</a></td>
<td><div id="gaugeScenario7"></div></td>
<td>26/27</td>
<td>6</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-compass-virtual-daily-euphrates/82/console>os-nosdn-ovs_dpdk-noha</a></td>
<td><div id="gaugeScenario9"></div></td>
<td>14/18</td>
<td>3</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
SFC
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
SFC
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Domino
*
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-fuel-armband-baremetal-arm-daily-euphrates/31/console>os-nosdn-nofeature-ha</a></td>
<td><div id="gaugeScenario2"></div></td>
<td>1/9</td>
<td>1</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-fuel-baremetal-daily-euphrates/40/console>os-odl-nofeature-ha</a></td>
<td><div id="gaugeScenario2"></div></td>
<td>29/30</td>
<td>6</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-fuel-baremetal-daily-euphrates/38/console>os-nosdn-ovs-ha</a></td>
<td><div id="gaugeScenario5"></div></td>
<td>25/27</td>
<td>10</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-fuel-virtual-daily-euphrates/91/console>os-odl-nofeature-noha</a></td>
<td><div id="gaugeScenario3"></div></td>
<td>27/27</td>
<td>9</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
ODL
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-euphrates/84/console>os-ocl-nofeature-ha</a></td>
<td><div id="gaugeScenario2"></div></td>
<td>3/27</td>
<td>10</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-euphrates/67/console>os-nosdn-openbaton-ha</a></td>
<td><div id="gaugeScenario4"></div></td>
<td>2/15</td>
<td>4</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-euphrates/81/console>os-nosdn-nofeature-ha</a></td>
<td><div id="gaugeScenario7"></div></td>
<td>3/27</td>
<td>9</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-euphrates/90/console>os-nosdn-nofeature-noha</a></td>
<td><div id="gaugeScenario3"></div></td>
<td>15/27</td>
<td>9</td>
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
-
+
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-euphrates/88/console>os-nosdn-lxd-noha</a></td>
<td><div id="gaugeScenario6"></div></td>
<td>3/15</td>
<td>9</td>
</tr><tr class="tr-ok">
-
+
</tr>
</table>
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th>
</tr>
<tr class="tr-weather-weather">
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
Promise
*
<tr>
<th>
Health (connection)
-
+
</th><th>
Health (api)
-
+
</th><th>
Health (dhcp)
-
+
</th><th>
vPing (ssh)
-
+
</th><th>
vPing (userdata)
-
+
</th><th>
Tempest (smoke)
-
+
</th><th>
Rally (smoke)
-
+
</th><th>
Refstack
-
+
</th><th>
SNAPS
-
+
</th><th>
Promise
*
background-color: #0095a2;
}
-h1 {
+h1 {
display: block;
font-size: 2em;
margin-top: 0.67em;
.attr("d", valueline(trend_data))
.attr("stroke", "steelblue")
.attr("fill", "none");
-
+
trend_svg.selectAll(".dot")
.data(trend_data)
.enter().append("circle")
.attr("r", 2.5)
.attr("cx", function(d) { return trend_x(d.date); })
- .attr("cy", function(d) { return trend_y(d.score); });
+ .attr("cy", function(d) { return trend_y(d.score); });
return trend;
}