Add POD visualisation 29/10829/2
authorCloud user <cloud@test-cloudinit.novalocal>
Thu, 25 Feb 2016 14:48:02 +0000 (14:48 +0000)
committerCloud user <cloud@test-cloudinit.novalocal>
Fri, 26 Feb 2016 13:55:10 +0000 (13:55 +0000)
Change-Id: I4044c018fc3900615492a897e0c2a73348c8b0cd
Signed-off-by: Cloud user <cloud@test-cloudinit.novalocal>
utils/test/result_collection_api/tools/dashboard/css/opnfv_dashboard_tests.css
utils/test/result_collection_api/tools/dashboard/js/opnfv_dashboard_tests.js
utils/test/result_collection_api/tools/dashboard/js/opnfv_dashboard_tests_conf.js
utils/test/result_collection_api/tools/dashboard/opnfv_dashboard_tests.html

index 369b0f9..c74e26c 100644 (file)
@@ -20,7 +20,7 @@ body {
 \r
 #testcase_selected{\r
     position: relative;\r
-    left: 100px;\r
+    left: 50px;\r
        font-size: 20px;\r
     color: #00ADBB;\r
 }\r
@@ -53,17 +53,17 @@ body {
 \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
index 3683c63..4bb56af 100644 (file)
@@ -15,14 +15,14 @@ function format_date(inputDate){
 }\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
@@ -57,7 +57,7 @@ function draw_graph_per_scenario_per_installer (filename, installer, scenario, t
         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
@@ -86,19 +86,13 @@ function draw_graphs_all_scenarios_per_installer () {
     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
@@ -113,10 +107,30 @@ function on_testcase_draw_graph(test, test_unit){
 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
@@ -149,12 +163,26 @@ function show_installers(active_installer)
     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
@@ -163,14 +191,15 @@ function show_divs(installer){
     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
index e091f26..6778332 100644 (file)
@@ -1,7 +1,8 @@
+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
@@ -9,7 +10,7 @@ var opnfv_dashboard_installers_scenarios = {};
 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
@@ -20,7 +21,7 @@ opnfv_dashboard_installers_scenarios['compass']=
     '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
@@ -30,10 +31,11 @@ opnfv_dashboard_installers_scenarios['joid']=
 \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
@@ -46,11 +48,24 @@ var opnfv_dashboard_testcases = {
         '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
@@ -71,4 +86,4 @@ var opnfv_dashboard_graph_title_height = 30; // height for the graph title
 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
index ad2bf22..424b525 100644 (file)
     <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>&nbsp;</p>    \r
+      <p>&nbsp;</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