/*
* Ultra Wide Band
* Information Element Handling
*
* Copyright (C) 2005-2006 Intel Corporation
* Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
* Reinette Chatre <reinette.chatre@intel.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version
* 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*
* FIXME: docs
*/
#include <linux/slab.h>
#include <linux/export.h>
#include "uwb-internal.h"
/**
* uwb_ie_next - get the next IE in a buffer
* @ptr: start of the buffer containing the IE data
* @len: length of the buffer
*
* Both @ptr and @len are updated so subsequent calls to uwb_ie_next()
* will get the next IE.
*
* NULL is returned (and @ptr and @len will not be updated) if there
* are no more IEs in the buffer or the buffer is too short.
*/
struct uwb_ie_hdr *uwb_ie_next(void **ptr, size_t *len)
{
struct uwb_ie_hdr *hdr;
size_t ie_len;
if (*len < sizeof(struct uwb_ie_hdr))
return NULL;
hdr = *ptr;
ie_len = sizeof(struct uwb_ie_hdr) + hdr->length;
if (*len < ie_len)
return NULL;
*ptr += ie_len;
*len -= ie_len;
return hdr;
}
EXPORT_SYMBOL_GPL(uwb_ie_next);
/**
* uwb_ie_dump_hex - print IEs to a character buffer
* @ies: the IEs to print.
* @len: length of all the IEs.
* @buf: the destination buffer.
* @size: size of @buf.
*
* Returns the number of characters written.
*/
int uwb_ie_dump_hex(const struct uwb_ie_hdr *ies, size_t len,
char *buf, size_t size)
{
void *ptr;
const struct uwb_ie_hdr *ie;
int r = 0;
u8 *d;
ptr = (void *)ies;
for (;;) {
ie = uwb_ie_next(&ptr, &len);
if (!ie)
break;
r += scnprintf(buf + r, size - r, "%02x %02x",
(unsigned)ie->element_id,
(unsigned)ie->length);
d = (uint8_t *)ie + sizeof(struct uwb_ie_hdr);
while (d != ptr && r < size)
r += scnprintf(buf + r, size - r, " %02x", (unsigned)*d++);
if (r < size)
buf[r++] = '\n';
};
return r;
}
/**
* Get the IEs that a radio controller is sending in its beacon
*
* @uwb_rc: UWB Radio Controller
* @returns: Size read from the system
*
* We don't need to lock the uwb_rc's mutex because we don't modify
* anything. Once done with the iedata buffer, call
* uwb_rc_ie_release(iedata). Don't call kfree on it.
*/
static
ssize_t uwb_rc_get_ie(struct uwb_rc *uwb <html>
<head>
<meta charset="utf-8">
<!-- Bootstrap core CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
<link href="../../js/default.css" rel="stylesheet">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://d3js.org/d3.v2.min.js"></script>
<script type="text/javascript" src="../../js/gauge.js"></script>
<script type="text/javascript" src="../../js/trend.js"></script>
<script>
function onDocumentReady() {
// Gauge management
var gaugeScenario1 = gauge('#gaugeScenario1');var gaugeScenario2 = gauge('#gaugeScenario2');var gaugeScenario3 = gauge('#gaugeScenario3');var gaugeScenario4 = gauge('#gaugeScenario4');var gaugeScenario5 = gauge('#gaugeScenario5');var gaugeScenario6 = gauge('#gaugeScenario6');var gaugeScenario7 = gauge('#gaugeScenario7');var gaugeScenario8 = gauge('#gaugeScenario8');var gaugeScenario9 = gauge('#gaugeScenario9');var gaugeScenario10 = gauge('#gaugeScenario10');var gaugeScenario11 = gauge('#gaugeScenario11');var gaugeScenario12 = gauge('#gaugeScenario12');
// assign success rate to the gauge
function updateReadings() {
gaugeScenario1.update(50.0);gaugeScenario2.update(83.3333333333);gaugeScenario3.update(83.3333333333);gaugeScenario4.update(66.6666666667);gaugeScenario5.update(58.3333333333);gaugeScenario6.update(96.9696969697);gaugeScenario7.update(20.0);gaugeScenario8.update(81.8181818182);gaugeScenario9.update(6.06060606061);gaugeScenario10.update(6.06060606061);gaugeScenario11.update(80.5555555556);gaugeScenario12.update(100.0);
}
updateReadings();
}
// trend line management
d3.csv("./scenario_history.txt", function(data) {
// ***************************************
// Create the trend line
// for scenario os-nosdn-fdio-noha
// Filter results
var trend1 = data.filter(function(row) {
return row["scenario"]=="os-nosdn-fdio-noha" && row["installer"]=="apex";
})
// Parse the date
trend1.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg1",trend1)
// ****************************************// for scenario os-odl-gluon-noha
// Filter results
var trend2 = data.filter(function(row) {
return row["scenario"]=="os-odl-gluon-noha" && row["installer"]=="apex";
})
// Parse the date
trend2.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg2",trend2)
// ****************************************// for scenario os-odl_l2-fdio-noha
// Filter results
var trend3 = data.filter(function(row) {
return row["scenario"]=="os-odl_l2-fdio-noha" && row["installer"]=="apex";
})
// Parse the date
trend3.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg3",trend3)
// ****************************************// for scenario os-odl_l3-fdio-noha
// Filter results
var trend4 = data.filter(function(row) {
return row["scenario"]=="os-odl_l3-fdio-noha" && row["installer"]=="apex";
})
// Parse the date
trend4.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg4",trend4)
// ****************************************// for scenario os-odl-bgpvpn-ha
// Filter results
var trend5 = data.filter(function(row) {
return row["scenario"]=="os-odl-bgpvpn-ha" && row["installer"]=="apex";
})
// Parse the date
trend5.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg5",trend5)
// ****************************************// for scenario os-nosdn-kvm-ha
// Filter results
var trend6 = data.filter(function(row) {
return row["scenario"]=="os-nosdn-kvm-ha" && row["installer"]=="apex";
})
// Parse the date
trend6.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg6",trend6)
// ****************************************// for scenario os-nosdn-fdio-ha
// Filter results
var trend7 = data.filter(function(row) {
return row["scenario"]=="os-nosdn-fdio-ha" && row["installer"]=="apex";
})
// Parse the date
trend7.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg7",trend7)
// ****************************************// for scenario os-odl_l3-nofeature-ha
// Filter results
var trend8 = data.filter(function(row) {
return row["scenario"]=="os-odl_l3-nofeature-ha" && row["installer"]=="apex";
})
// Parse the date
trend8.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg8",trend8)
// ****************************************// for scenario os-odl_l3-ovs-ha
// Filter results
var trend9 = data.filter(function(row) {
return row["scenario"]=="os-odl_l3-ovs-ha" && row["installer"]=="apex";
})
// Parse the date
trend9.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg9",trend9)
// ****************************************// for scenario os-nosdn-ovs-ha
// Filter results
var trend10 = data.filter(function(row) {
return row["scenario"]=="os-nosdn-ovs-ha" && row["installer"]=="apex";
})
// Parse the date
trend10.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg10",trend10)
// ****************************************// for scenario os-odl_l2-fdio-ha
// Filter results
var trend11 = data.filter(function(row) {
return row["scenario"]=="os-odl_l2-fdio-ha" && row["installer"]=="apex";
})
// Parse the date
trend11.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg11",trend11)
// ****************************************// for scenario os-nosdn-nofeature-ha
// Filter results
var trend12 = data.filter(function(row) {
return row["scenario"]=="os-nosdn-nofeature-ha" && row["installer"]=="apex";
})
// Parse the date
trend12.forEach(function(d) {
d.date = parseDate(d.date);
d.score = +d.score
});
// Draw the trend line
var mytrend = trend("#trend_svg12",trend12)
// ****************************************
});
if ( !window.isLoaded ) {
window.addEventListener("load", function() {
onDocumentReady();
}, false);
} else {
onDocumentReady();
}
</script>
<script type="text/javascript">
$(document).ready(function (){
$(".btn-more").click(function() {
$(this).hide();
$(this).parent().find(".panel-default").show();
});
})
</script>
</head>
<body>
<div class="container">
<div class="masthead">
<h3 class="text-muted">Functest Danube 1.0 status page (2017-03-31 01:45)</h3>
<nav>
<ul class="nav nav-justified">
<li class="active"><a href="http://testresults.opnfv.org/reporting/index.html">Home</a></li>
<li><a href="./apex.html">Apex</a></li>
<li><a href="./compass.html">Compass</a></li>
<li><a href="./fuel.html">Fuel</a></li>
<li><a href="./joid.html">Joid</a></li>
</ul>
</nav>
</div>
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="page-header">
<h2>apex</h2>
</div>
<div class="scenario-overview">
<div class="panel-heading"><h4><b>List of last scenarios (danube) run over the last 10 days </b></h4></div>
<table class="table">
<tr>
<th width="40%">Scenario</th>
<th width="20%">Status</th>
<th width="20%">Trend</th>
<th width="10%">Score</th>
<th width="10%">Iteration</th>
</tr>
<tr class="tr-ok">
<td><a href=http://testresultS.opnfv.org/reporting>os-nosdn-fdio-noha</a></td>
<td><div id="gaugeScenario1"></div></td>
<td><div id="trend_svg1"></div></td>
<td>15/30</td>
<td>2</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/71/console>os-odl-gluon-noha</a></td>
<td><div id="gaugeScenario2"></div></td>
<td><div id="trend_svg2"></div></td>
<td>30/36</td>
<td>6</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/72/console>os-odl_l2-fdio-noha</a></td>
<td><div id="gaugeScenario3"></div></td>
<td><div id="trend_svg3"></div></td>
<td>30/36</td>
<td>14</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/75/console>os-odl_l3-fdio-noha</a></td>
<td><div id="gaugeScenario4"></div></td>
<td><div id="trend_svg4"></div></td>
<td>20/30</td>
<td>5</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/70/console>os-odl-bgpvpn-ha</a></td>
<td><div id="gaugeScenario5"></div></td>
<td><div id="trend_svg5"></div></td>
<td>21/36</td>
<td>6</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/74/console>os-nosdn-kvm-ha</a></td>
<td><div id="gaugeScenario6"></div></td>
<td><div id="trend_svg6"></div></td>
<td>32/33</td>
<td>5</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/76/console>os-nosdn-fdio-ha</a></td>
<td><div id="gaugeScenario7"></div></td>
<td><div id="trend_svg7"></div></td>
<td>6/30</td>
<td>4</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/69/console>os-odl_l3-nofeature-ha</a></td>
<td><div id="gaugeScenario8"></div></td>
<td><div id="trend_svg8"></div></td>
<td>27/33</td>
<td>6</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/78/console>os-odl_l3-ovs-ha</a></td>
<td><div id="gaugeScenario9"></div></td>
<td><div id="trend_svg9"></div></td>
<td>2/33</td>
<td>1</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/77/console>os-nosdn-ovs-ha</a></td>
<td><div id="gaugeScenario10"></div></td>
<td><div id="trend_svg10"></div></td>
<td>2/33</td>
<td>1</td>
</tr><tr class="tr-ok">
<td><a href=http://testresultS.opnfv.org/reporting>os-odl_l2-fdio-ha</a></td>
<td><div id="gaugeScenario11"></div></td>
<td><div id="trend_svg11"></div></td>
<td>29/36</td>
<td>8</td>
</tr><tr class="tr-ok">
<td><a href=https://build.opnfv.org/ci/view/functest/job/functest-apex-apex-daily-danube-daily-danube/79/console>os-nosdn-nofeature-ha</a></td>
<td><div id="gaugeScenario12"></div></td>
<td><div id="trend_svg12"></div></td>
<td>33/33</td>
<td>6</td>
</tr>
</table>
</div>
<div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-nosdn-fdio-noha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-few-clouds.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl-gluon-noha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="table">
<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
</th><th>
Domino
</th><th>
Netready
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl_l2-fdio-noha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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>
ODL
</th><th>
FDS
</th><th>
SNAPS
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl_l3-fdio-noha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="table">
<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
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl-bgpvpn-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="table">
<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
</th><th>
bgpvpn
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-few-clouds.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-nosdn-kvm-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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>
Doctor
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-nosdn-fdio-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl_l3-nofeature-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="table">
<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
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl_l3-ovs-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="table">
<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
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-nosdn-ovs-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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>
Doctor
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-storm.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-odl_l2-fdio-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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>
ODL
</th><th>
FDS
</th><th>
SNAPS
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-few-clouds.png"></td><td><img src="../../img/weather-storm.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-overcast.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td>
</tr>
</table>
</div>
</div><div class="scenario-part">
<div class="page-header">
<h3><span class="glyphicon glyphicon-chevron-right"> <b>os-nosdn-nofeature-ha</b></h3>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-header-item">
</span>
</div>
<table class="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>
Doctor
</th><th>
Domino
</th>
</tr>
<tr class="tr-weather-weather">
<td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td><td><img src="../../img/weather-clear.png"></td>
</tr>
</table>
</div>
</div>
see <a href="https://wiki.opnfv.org/pages/viewpage.action?pageId=6828617">Functest scoring wiki page</a> for details on scenario scoring
</div>
<div class="col-md-1"></div>
</div>