From 66ee75c59f8078fb03b46df5429d7107be9f4a92 Mon Sep 17 00:00:00 2001 From: Abhi Date: Wed, 27 May 2015 18:15:02 -0700 Subject: [PATCH] Partial-Bug: #1459472 Networking monitoring issues on scale setup Change-Id: I5be9851ef586a86abf9ca5420ff51fe69770f15b --- .../common/ui/js/controller.graph.config.js | 21 ++---- .../common/ui/js/controller.grid.config.js | 69 ++++++++++--------- .../networking/ui/js/views/BreadcrumbView.js | 9 +++ .../ui/js/views/InstanceListView.js | 2 +- .../ui/js/views/MonitorNetworkingView.js | 8 ++- 5 files changed, 59 insertions(+), 50 deletions(-) diff --git a/webroot/common/ui/js/controller.graph.config.js b/webroot/common/ui/js/controller.graph.config.js index 06937bb13..1c8647497 100644 --- a/webroot/common/ui/js/controller.graph.config.js +++ b/webroot/common/ui/js/controller.graph.config.js @@ -194,14 +194,6 @@ define([ return tooltipContent({ info: [ {label: 'Project', value: virtualNetworkName[0] + ':' + virtualNetworkName[1]}, - { - label: 'Traffic In', - value: formatNumberByCommas(viewElement.attributes.nodeDetails.more_attr.in_tpkts) + ' packets | ' + formatBytes(viewElement.attributes.nodeDetails.more_attr.in_bytes) - }, - { - label: 'Traffic Out', - value: formatNumberByCommas(viewElement.attributes.nodeDetails.more_attr.out_tpkts) + ' packets | ' + formatBytes(viewElement.attributes.nodeDetails.more_attr.out_bytes) - }, {label: 'Instance Count', value: viewElement.attributes.nodeDetails.more_attr.vm_cnt} ], iconClass: 'icon-contrail-virtual-network', @@ -296,8 +288,7 @@ define([ return tooltipContent({ info: [ {label: 'UUID', value: viewElement.attributes.nodeDetails['fqName']}, - {label: 'Network', value: srcVNDetails.name}, - {label: 'Interface Count', value: srcVNDetails.more_attr.interface_list.length} + {label: 'Network', value: srcVNDetails.name} ], iconClass: 'icon-contrail-virtual-machine font-size-30' }); @@ -345,13 +336,13 @@ define([ }); data.push({ label: "Traffic In", - value: formatNumberByCommas(in_stats[i].pkts) + " packets | " + formatBytes(in_stats[i].bytes) + value: cowu.addUnits2Packets(in_stats[i].pkts, false, null, 1) + " | " + formatBytes(in_stats[i].bytes) }); for (var j = 0; j < out_stats.length; j++) { if (src == out_stats[j].src && dst == out_stats[j].dst) { data.push({ label: "Traffic Out", - value: formatNumberByCommas(out_stats[j].pkts) + " packets | " + formatBytes(out_stats[i].bytes) + value: cowu.addUnits2Packets(out_stats[j].pkts, false, null, 1) + " | " + formatBytes(out_stats[i].bytes) }); } } @@ -363,13 +354,13 @@ define([ }); data.push({ label: "Traffic In", - value: formatNumberByCommas(in_stats[i].pkts) + " packets | " + formatBytes(in_stats[i].bytes) + value: cowu.addUnits2Packets(in_stats[i].pkts, false, null, 1) + " | " + formatBytes(in_stats[i].bytes) }); for (var j = 0; j < out_stats.length; j++) { if (src == out_stats[j].dst && dst == out_stats[j].src) { data.push({ label: "Traffic Out", - value: formatNumberByCommas(out_stats[j].pkts) + " packets | " + formatBytes(out_stats[i].bytes) + value: cowu.addUnits2Packets(out_stats[j].pkts, false, null, 1) + " | " + formatBytes(out_stats[i].bytes) }); } } @@ -413,7 +404,7 @@ define([ return tooltipContent({info: data, iconClass: 'icon-long-arrow-right'}); }, dimension: { - width: 355 + width: 400 } } }; diff --git a/webroot/common/ui/js/controller.grid.config.js b/webroot/common/ui/js/controller.grid.config.js index d27cc02dc..fbaae9da7 100644 --- a/webroot/common/ui/js/controller.grid.config.js +++ b/webroot/common/ui/js/controller.grid.config.js @@ -113,7 +113,7 @@ define([ return '-'; } }, - minWidth: 150, + minWidth: 250, searchable: true, events: { onClick: onClickGrid @@ -126,7 +126,7 @@ define([ formatter: function (r, c, v, cd, dc) { return getMultiValueStr(dc['vn']); }, - minWidth: 150, + minWidth: 250, searchable: true }, { @@ -310,7 +310,9 @@ define([ successCallback: function (response, contrailListModel) { var statDataList = ctwp.parseInstanceStats(response[0], type), dataItems = contrailListModel.getItems(), + updatedDataItems = [], statData; + for (var j = 0; j < statDataList.length; j++) { statData = statDataList[j]; for (var i = 0; i < dataItems.length; i++) { @@ -318,11 +320,12 @@ define([ if (statData['name'] == dataItem['name']) { dataItem['inBytes60'] = ifNull(statData['inBytes'], 0); dataItem['outBytes60'] = ifNull(statData['outBytes'], 0); + updatedDataItems.push(dataItem); break; } } } - contrailListModel.updateData(dataItems); + contrailListModel.updateData(updatedDataItems); } }, { @@ -351,7 +354,8 @@ define([ }, successCallback: function (response, contrailListModel) { var interfaceMap = ctwp.instanceInterfaceDataParser(response), - dataItems = contrailListModel.getItems(); + dataItems = contrailListModel.getItems(), + updatedDataItems = []; for (var i = 0; i < dataItems.length; i++) { var dataItem = dataItems[i], @@ -372,39 +376,40 @@ define([ } } - throughput = inThroughput + outThroughput; - dataItem['throughput'] = throughput; - dataItem['size'] = throughput; - uveVirtualMachineAgent['interface_details'] = interfaceDetailsList; - dataItem['vn'] = ifNull(jsonPath(interfaceDetailsList, '$...virtual_network'), []); - - if (dataItem['vn'] != false) { - if (dataItem['vn'].length != 0) { - dataItem['vnFQN'] = dataItem['vn'][0]; + if(interfaceDetailsList.length > 0) { + throughput = inThroughput + outThroughput; + dataItem['throughput'] = throughput; + dataItem['size'] = throughput; + uveVirtualMachineAgent['interface_details'] = interfaceDetailsList; + dataItem['vn'] = ifNull(jsonPath(interfaceDetailsList, '$...virtual_network'), []); + + if (dataItem['vn'] != false) { + if (dataItem['vn'].length != 0) { + dataItem['vnFQN'] = dataItem['vn'][0]; + } + dataItem['vn'] = tenantNetworkMonitorUtils.formatVN(dataItem['vn']); } - dataItem['vn'] = tenantNetworkMonitorUtils.formatVN(dataItem['vn']); - } - for (var k = 0; k < interfaceDetailsList.length; k++) { - if (interfaceDetailsList[k]['ip6_active'] == true) { - if (interfaceDetailsList[k]['ip_address'] != '0.0.0.0') - dataItem['ip'].push(interfaceDetailsList[k]['ip_address']); - if (interfaceDetailsList[k]['ip6_address'] != null) - dataItem['ip'].push(interfaceDetailsList[k]['ip6_address']); - } else { - if (interfaceDetailsList[k]['ip_address'] != '0.0.0.0') - dataItem['ip'].push(interfaceDetailsList[k]['ip_address']); + for (var k = 0; k < interfaceDetailsList.length; k++) { + if (interfaceDetailsList[k]['ip6_active'] == true) { + if (interfaceDetailsList[k]['ip_address'] != '0.0.0.0') + dataItem['ip'].push(interfaceDetailsList[k]['ip_address']); + if (interfaceDetailsList[k]['ip6_address'] != null) + dataItem['ip'].push(interfaceDetailsList[k]['ip6_address']); + } else { + if (interfaceDetailsList[k]['ip_address'] != '0.0.0.0') + dataItem['ip'].push(interfaceDetailsList[k]['ip_address']); + } } + /* + if (interfaceDetailsList.length > 0) { + dataItem['vmName'] = interfaceDetailsList[0]['vm_name']; + } + */ + updatedDataItems.push(dataItem); } - - /* - if (interfaceDetailsList.length > 0) { - dataItem['vmName'] = interfaceDetailsList[0]['vm_name']; - } - */ } - - contrailListModel.updateData(dataItems); + contrailListModel.updateData(updatedDataItems); } } ]; diff --git a/webroot/monitor/networking/ui/js/views/BreadcrumbView.js b/webroot/monitor/networking/ui/js/views/BreadcrumbView.js index 22fb2da32..742931e6a 100644 --- a/webroot/monitor/networking/ui/js/views/BreadcrumbView.js +++ b/webroot/monitor/networking/ui/js/views/BreadcrumbView.js @@ -48,6 +48,10 @@ define([ contrailListModel.onAllRequestsComplete.subscribe(function() { populateNetworkBreadcrumbDropdown(contrailListModel, fqName, initCB, changeCB); }); + }, + + renderInstanceBreadcrumbDropdown: function(networkSelectedValueData, instanceUUID, initCB) { + populateInstanceBreadcrumbDropdown(networkSelectedValueData, instanceUUID, initCB); } }); @@ -224,6 +228,11 @@ define([ } }; + var populateInstanceBreadcrumbDropdown = function(networkSelectedValueData, instanceUUID, initCB) { + pushBreadcrumb([instanceUUID]); + initCB(networkSelectedValueData); + }; + var getDomainFromFQN = function(fqName) { return contrail.checkIfExist(fqName) ? fqName.split(':')[0] : contrail.getCookie(cowc.COOKIE_DOMAIN); }; diff --git a/webroot/monitor/networking/ui/js/views/InstanceListView.js b/webroot/monitor/networking/ui/js/views/InstanceListView.js index b1f79d568..7f590c060 100644 --- a/webroot/monitor/networking/ui/js/views/InstanceListView.js +++ b/webroot/monitor/networking/ui/js/views/InstanceListView.js @@ -124,7 +124,7 @@ define([ ] }, dimension: { - width: 370 + width: 400 } }; }; diff --git a/webroot/monitor/networking/ui/js/views/MonitorNetworkingView.js b/webroot/monitor/networking/ui/js/views/MonitorNetworkingView.js index 18230e919..6d9382bd2 100644 --- a/webroot/monitor/networking/ui/js/views/MonitorNetworkingView.js +++ b/webroot/monitor/networking/ui/js/views/MonitorNetworkingView.js @@ -109,13 +109,17 @@ define([ contrail.setCookie(cowc.COOKIE_PROJECT, projectSelectedValueData.name); breadcrumbView.renderNetworkBreadcrumbDropdown(fqName, - function (networkSelectedValueData, networkBreadcrumbChanged) { - self.renderInstanceCB(hashParams, networkSelectedValueData, instanceUUID); + function (networkSelectedValueData) { + breadcrumbView.renderInstanceBreadcrumbDropdown(networkSelectedValueData, instanceUUID, function (networkSelectedValueData) { + self.renderInstanceCB(hashParams, networkSelectedValueData, instanceUUID); + }); }, function (networkSelectedValueData, networkBreadcrumbChanged) { + removeActiveBreadcrumb(); self.renderNetworkCB(hashParams, networkSelectedValueData, networkBreadcrumbChanged); } ); }, function (projectSelectedValueData, projectBreadcrumbChanged) { + removeActiveBreadcrumb(); self.renderProjectCB(hashParams, projectSelectedValueData, projectBreadcrumbChanged); }); });