\r
#testcase_selected{\r
position: relative;\r
- left: 100px;\r
+ left: 50px;\r
font-size: 20px;\r
color: #00ADBB;\r
}\r
\r
.btn-default{\r
font-size: 20px;\r
- background-color: #0095A2;\r
+ background-color: #FFFFFF; /*#0095A2*/\r
}\r
\r
.dropdown-header{\r
font-size: 20px;\r
- background-color: #0095A2;\r
+ background-color: #FFFFFF; /*#0095A2*/\r
}\r
\r
.dropdown-menu{\r
font-size: 16px;\r
- background-color: #0095A2;\r
+ background-color: #FFFFFF; /*#0095A2*/\r
}\r
\r
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {\r
}\r
\r
// Draw a single graph for a specific test for a specific installer\r
-function draw_graph_per_scenario_per_installer (filename, installer, scenario, test_unit){\r
+function draw_graph_per_scenario_per_installer (filename, installer, pod, scenario, test_unit){\r
$.getJSON(filename, function(data) {\r
var serie = [];\r
index_test = 0;\r
// find index mapping to the test_unit\r
for (var i=0; i<data.dashboard.length; i++)\r
if (data.dashboard[i].name==test_unit){\r
- index_test=i;\r
+ index_test=i;\r
break;\r
}\r
\r
if ($.inArray(opnfv_dashboard_y_labels[y], keys)!=-1) labels.push(data.dashboard[index_test].info[opnfv_dashboard_y_labels[y]]);\r
\r
// Draw the graph\r
- g=new Dygraph(\r
+ g = new Dygraph(\r
document.getElementById(scenario),\r
serie,\r
{\r
project = opnfv_dashboard_project;\r
test = opnfv_dashboard_test;\r
test_unit = opnfv_dashboard_test_unit;\r
-\r
- if (installer.length==0){\r
- alert ('select an installer');\r
- return;\r
- }\r
- if (test.length==0){\r
- alert ('select a test case');\r
- return;\r
- }\r
for (i=0; i<opnfv_dashboard_installers_scenarios[installer].length; i++){\r
- var filename = './' + opnfv_dashboard_file_directory + '/' + installer + '/' + project + '/' + opnfv_dashboard_file_prefix + project+'_'+test+'_'+opnfv_dashboard_installers_scenarios[installer][i]+opnfv_dashboard_file_suffix;\r
+ var filename = './' + opnfv_dashboard_file_directory + '/' + installer + '/' + project + '/' + opnfv_dashboard_file_prefix + project+'_'+test+'_'+opnfv_dashboard_installers_scenarios[installer][i];\r
+ if (opnfv_dashboard_pod!='all')\r
+ filename += '_' + opnfv_dashboard_pod;\r
+ filename += opnfv_dashboard_file_suffix;\r
console.log(filename);\r
- draw_graph_per_scenario_per_installer(filename, installer, opnfv_dashboard_installers_scenarios[installer][i], test_unit);\r
+ draw_graph_per_scenario_per_installer(filename, installer, opnfv_dashboard_pod, opnfv_dashboard_installers_scenarios[installer][i], test_unit);\r
}\r
}\r
\r
function on_installer_draw_graph(installer){\r
opnfv_dashboard_installer = installer;\r
show_installers(installer);\r
+ opnfv_dashboard_pod = 'all'; // force the new pod to 'all' because there is # pods per installer\r
+ show_installers_pods(opnfv_dashboard_pod);\r
show_divs(installer);\r
draw_graphs_all_scenarios_per_installer ();\r
}\r
\r
+function on_pod_draw_graph(pod){\r
+ opnfv_dashboard_pod = pod;\r
+ show_installers_pods(pod);\r
+ show_divs(opnfv_dashboard_installer);\r
+ draw_graphs_all_scenarios_per_installer ();\r
+}\r
+\r
+function on_ready_draw_graph(){\r
+ opnfv_dashboard_test = 'vPing';\r
+ opnfv_dashboard_test_unit = 'vPing duration';\r
+ opnfv_dashboard_installer = opnfv_dashboard_installers[Math.round((Math.random(opnfv_dashboard_installers.length-1)))];\r
+ show_installers_pods(opnfv_dashboard_installers_pods[opnfv_dashboard_installer][0]);\r
+ show_installers(opnfv_dashboard_installer);\r
+ show_divs(opnfv_dashboard_installer);\r
+ $("#testcase_selected").html(opnfv_dashboard_test_unit);\r
+ draw_graphs_all_scenarios_per_installer ();\r
+}\r
+\r
// generate test case selection\r
function show_testcases(){\r
var html_testcases = '<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Select a test case';\r
for (var i in opnfv_dashboard_installers)\r
if (opnfv_dashboard_installers[i]==active_installer)\r
html_installers += '<li class="active"><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>'; \r
- else\r
- html_installers += '<li><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>';\r
+ else\r
+ html_installers += '<li><a href="#" onClick="on_installer_draw_graph(\''+opnfv_dashboard_installers[i]+'\')">'+opnfv_dashboard_installers[i]+'</a></li>';\r
html_installers += '</ul>';\r
$("#installers").html(html_installers);\r
}\r
\r
+// generate pods buttons\r
+function show_installers_pods(active_pod)\r
+{\r
+ var html_pods = '';\r
+ html_pods += '<ul class="nav nav-pills">';\r
+ for (var i in opnfv_dashboard_installers_pods[opnfv_dashboard_installer])\r
+ if (opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]==active_pod)\r
+ html_pods += '<li class="active"><a href="#" onClick="on_pod_draw_graph(\''+opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]+'\')">'+opnfv_dashboard_installers_pods_print[opnfv_dashboard_installer][i]+'</a></li>'; \r
+ else\r
+ html_pods += '<li><a href="#" onClick="on_pod_draw_graph(\''+opnfv_dashboard_installers_pods[opnfv_dashboard_installer][i]+'\')">'+opnfv_dashboard_installers_pods_print[opnfv_dashboard_installer][i]+'</a></li>';\r
+ html_pods += '</ul>';\r
+ $("#pods").html(html_pods);\r
+}\r
+\r
// generate a div per installer (to host the graph)\r
function show_divs(installer){\r
$("#graphs").remove();\r
var div_scenario = '<div class= "chart" id="' + opnfv_dashboard_installers_scenarios[installer][i] + '"/>';\r
console.log(div_scenario);\r
var $newdiv = $(div_scenario);\r
-\r
$("#graphs").append($newdiv);\r
}\r
}\r
\r
// generate HTML menus and buttons\r
$( document ).ready(function(){\r
- show_installers('');\r
- show_testcases();\r
console.log( "ready!" );\r
+ \r
+ //show_installers('');\r
+ show_testcases();\r
+ on_ready_draw_graph();\r
});\r
+var opnfv_dashboard_project = 'functest';\r
var opnfv_dashboard_installer = '';\r
var opnfv_dashboard_test = '';\r
var opnfv_dashboard_test_unit = '';\r
-var opnfv_dashboard_project = 'functest';\r
+var opnfv_dashboard_pod = 'all';\r
\r
var opnfv_dashboard_installers = ['apex', 'compass', 'fuel', 'joid'];\r
\r
opnfv_dashboard_installers_scenarios['apex'] =\r
['os-nosdn-nofeature-ha',\r
'os-odl_l2-nofeature-ha',\r
- 'os-onos-nofeature-ha',\r
+ 'os-onos-nofeature-ha',\r
'os-odl_l3-nofeature-ha',\r
'os-odl_l2-sfc-ha'];\r
\r
'os-ocl-nofeature-ha'];\r
\r
opnfv_dashboard_installers_scenarios['fuel']=\r
- ['os-nosdn-nofeature-ha','os-odl_l2-nofeature-ha','os-onos-nofeature-ha','os-odl_l3-nofeature-ha','os-odl_l2-bgpvpn-ha','os-nosdn-ovs-ha','os-nosdn-kvm-ha','os-nosdn-ovs_kvm-ha'];\r
+ ['os-nosdn-nofeature-ha','os-odl_l2-nofeature-ha','os-onos-nofeature-ha','os-odl_l3-nofeature-ha','os-odl_l2-bgpvpn-ha','os-nosdn-ovs-ha','os-nosdn-kvm-ha','os-nosdn-ovs_kvm-ha'];\r
\r
opnfv_dashboard_installers_scenarios['joid']=\r
['os-nosdn-nofeature-ha',\r
\r
var opnfv_dashboard_testcases = {\r
'VIM': {\r
- 'tempest': ['Tempest duration',\r
+ 'Tempest': ['Tempest duration',\r
'Tempest nb tests/nb failures'],\r
'vPing': ['vPing duration'],\r
- 'vPing_userdata': ['vPing_userdata duration']\r
+ 'vPing_userdata': ['vPing_userdata duration'],\r
+ 'Rally': ['rally duration']\r
},\r
'Controller': {\r
'ODL': ['ODL nb tests/nb failures'],\r
'vIMS': ['vIMS nb tests passed/failed/skipped',\r
'vIMS orchestrator/VNF/test duration'],\r
'promise': ['Promise duration ',\r
- 'Promise nb tests/nb failures']\r
+ 'Promise nb tests/nb failures'],\r
+ 'doctor': ['doctor-notification duration ']\r
}\r
};\r
\r
-var opnfv_dashboard_file_directory = 'res';\r
+var opnfv_dashboard_installers_pods = {};\r
+opnfv_dashboard_installers_pods['apex'] = ['all','intel-pod7','opnfv-jump-1'];\r
+opnfv_dashboard_installers_pods['compass'] = ['all','huawei-us-deploy-bare-1','huawei-us-deploy-vm-1','huawei-us-deploy-vm2','intel-pod8'];\r
+opnfv_dashboard_installers_pods['fuel'] = ['all','ericsson-pod2','opnfv-jump-2'];\r
+opnfv_dashboard_installers_pods['joid'] = ['all','intel-pod5','intel-pod6','orange-fr-pod2'];\r
+\r
+var opnfv_dashboard_installers_pods_print = {};\r
+opnfv_dashboard_installers_pods_print['apex'] = ['all','intelpod7','opnfvjump1'];\r
+opnfv_dashboard_installers_pods_print['compass'] = ['all','hwusbare1','hwusvm1','hwusvm2','intelpod8'];\r
+opnfv_dashboard_installers_pods_print['fuel'] = ['all','ericssonpod2','opnfvjump2'];\r
+opnfv_dashboard_installers_pods_print['joid'] = ['all','intelpod5','intelpod6','orangefrpod2'];\r
+\r
+var opnfv_dashboard_file_directory = 'res-test';\r
var opnfv_dashboard_file_prefix = 'res_';\r
var opnfv_dashboard_file_suffix = '.json';\r
\r
var opnfv_dashboard_graph_stroke_width = 5; // line stroke when mouse over\r
var opnfv_dashboard_graph_axis_label_color = '#2E2925';\r
var opnfv_dashboard_graph_text_align = 'right';\r
-var opnfv_dashboard_graph_background_color = 'transparent';
\ No newline at end of file
+var opnfv_dashboard_graph_background_color = 'transparent';\r
<script src="js/bootstrap.min.js"></script>\r
<link rel="stylesheet" href="css/opnfv_dashboard_tests.css">\r
<script type="text/javascript" src="js/opnfv_dashboard_tests.js"></script>\r
- </head>\r
+ </head>\r
<body>\r
<div id="title" class="container">FuncTest dashboard\r
- <p> </p> \r
+ <p> </p>\r
+ <div id="installers"></div>\r
+ <div id="pods" style="float:right"></div>\r
<div id="testcase" class="dropdown" style="float:left"></div>\r
- <div id="testcase_selected" style="float:left"></div>\r
- <div id="installers" style="float:right"></div>\r
+ <div id="testcase_selected" style="float:left"></div>\r
</div>\r
</body>\r
</html>\r