diff --git a/webroot/common/ui/js/controller.constants.js b/webroot/common/ui/js/controller.constants.js
index 140618b56..1b7105511 100644
--- a/webroot/common/ui/js/controller.constants.js
+++ b/webroot/common/ui/js/controller.constants.js
@@ -13,8 +13,8 @@ define([
this.URL_PROJECT_CONNECTED_GRAPH = '/api/tenant/monitoring/project-connected-graph?fqName={0}';
this.URL_PROJECT_CONFIG_GRAPH = '/api/tenant/monitoring/project-config-graph?fqName={0}';
- this.URL_PROJECT_INSTANCES_IN_CHUNKS = '/api/tenant/networking/virtual-machines/details?fqnUUID={0}&count={1}&type={2}&startAt={3}';
- this.URL_PROJECT_NETWORKS_IN_CHUNKS = '/api/tenant/networking/virtual-networks/details?count={0}&fqn={1}&startAt={2}';
+ this.URL_PROJECT_INSTANCES_IN_CHUNKS = '/api/tenant/networking/virtual-machines/details?fqnUUID={0}&count={1}&nextCount={2}&type={3}&startAt={4}';
+ this.URL_PROJECT_NETWORKS_IN_CHUNKS = '/api/tenant/networking/virtual-networks/details?count={0}&nextCount={1}&fqn={2}&startAt={3}';
this.URL_PROJECT_ALL_NETWORKS = '/api/tenants/networks/{0}';
this.URL_NETWORK_CONNECTED_GRAPH = '/api/tenant/monitoring/network-connected-graph?fqName={0}';
@@ -22,7 +22,7 @@ define([
this.URL_NETWORK_SUMMARY = 'api/tenant/networking/virtual-network/summary?fqNameRegExp={0}';
this.URL_ALL_NETWORKS_DETAILS = '/api/tenant/networking/virtual-networks/details';
- this.URL_NETWORKS_DETAILS_IN_CHUNKS = '/api/tenant/networking/virtual-networks/details?count={0}&startAt={1}';
+ this.URL_NETWORKS_DETAILS_IN_CHUNKS = '/api/tenant/networking/virtual-networks/details?count={0}&nextCount={1}&startAt={2}';
this.URL_NETWORK_SUMMARY = '/api/tenant/networking/virtual-network/summary?fqNameRegExp={0}';
this.URL_NETWORK_TRAFFIC_STATS = '/api/tenant/networking/flow-series/vn?minsSince={0}&fqName={1}&sampleCnt={2}&useServerTime=true';
@@ -33,7 +33,7 @@ define([
this.URL_INSTANCE_CONFIG_GRAPH = '/api/tenant/monitoring/instance-config-graph?fqName={0}';
this.URL_INSTANCE_DETAIL = '/api/tenant/networking/virtual-machine?fqNameRegExp={0}?flat';
this.URL_INSTANCES_SUMMARY = '/api/tenant/networking/virtual-machines/summary';
- this.URL_INSTANCE_DETAILS_IN_CHUNKS = '/api/tenant/networking/virtual-machines/details?count={0}&startAt={1}';
+ this.URL_INSTANCE_DETAILS_IN_CHUNKS = '/api/tenant/networking/virtual-machines/details?count={0}&nextCount={1}&startAt={2}';
this.URL_INSTANCE_TRAFFIC_STATS = '/api/tenant/networking/flow-series/vm?minsSince={0}&fqName={1}&sampleCnt={2}&ip={3}&vmName={4}&vmVnName={5}&useServerTime=true';
this.URL_INSTANCE_PORT_DISTRIBUTION = '/api/tenant/networking/network/stats/top?minsSince=10&fqName={0}&useServerTime=true&type=port&ip={1}';
@@ -157,6 +157,8 @@ define([
this.UCID_INSTANCE_TRAFFIC_STATS_LIST = this.UCID_PREFIX_MN_LISTS + "{0}:{1}:{2}:traffic-stats";
this.UCID_CONNECTED_NETWORK_TRAFFIC_STATS_LIST = this.UCID_PREFIX_MN_LISTS + "{0}:{1}:traffic-stats";
this.UCID_INSTANCE_INTERFACE_LIST = this.UCID_PREFIX_MN_LISTS + "{0}:{1}:interfaces";
+ this.UCID_PROJECT_INTERFACE_LIST = this.UCID_PREFIX_MN_LISTS + "{0}:interfaces";
+ this.UCID_ALL_INTERFACE_LIST = this.UCID_PREFIX_MN_LISTS + "all-interfaces";
this.UCID_INSTANCE_CPU_MEMORY_LIST = this.UCID_PREFIX_MN_LISTS + "{0}:{1}:cpu-memory";
this.UCID_NODE_CPU_MEMORY_LIST = 'node_details' + "{0}:cpu-memory";
diff --git a/webroot/common/ui/js/controller.grid.config.js b/webroot/common/ui/js/controller.grid.config.js
index 9b4d6e061..2c2eaf420 100644
--- a/webroot/common/ui/js/controller.grid.config.js
+++ b/webroot/common/ui/js/controller.grid.config.js
@@ -43,9 +43,9 @@ define([
if(!contrail.checkIfExist(dc['vmName'])) {
return '-';
} else if(!contrail.checkIfExist(dc['vnFQN']) || ctwu.isServiceVN(dc['vnFQN'])){
- return '
' + cellTemplateLinks({cellText: 'vmName', tooltip: true, name: 'instance', rowData: dc}) + '
';
+ return cowf.formatElementName({name: 'instance', value: dc['vmName'], cssClass: 'cell-no-link'});
} else {
- return cellTemplateLinks({cellText: 'vmName', tooltip: true, name: 'instance', rowData: dc});
+ return cowf.formatElementName({name: 'instance', value: dc['vmName'], cssClass: 'cell-hyperlink-blue'});
}
},
minWidth: 230,
@@ -53,7 +53,6 @@ define([
events: {
onClick: ctwu.onClickNetworkMonitorGrid
},
- cssClass: 'cell-hyperlink-blue',
exportConfig: {
allow: true,
stdFormatter: false
@@ -77,13 +76,12 @@ define([
field: 'vRouter',
name: 'Virtual Router',
formatter: function (r, c, v, cd, dc) {
- return cellTemplateLinks({cellText: 'vRouter', tooltip: true, name: 'vRouter', rowData: dc});
+ return cowf.formatElementName({name: 'vRouter', value: dc['vRouter'], cssClass: 'cell-hyperlink-blue'});
},
minWidth: 100,
events: {
onClick: ctwu.onClickNetworkMonitorGrid
},
- cssClass: 'cell-hyperlink-blue',
exportConfig: {
allow: true,
stdFormatter: false
@@ -143,13 +141,13 @@ define([
{
field: 'ip',
name: 'IP Address',
- minWidth: 150,
+ minWidth: 100,
searchable: true
},
{
field: 'vm_name',
name: 'Instance Name',
- minWidth: 200,
+ minWidth: 250,
searchable: true
},
{
diff --git a/webroot/common/ui/js/controller.labels.js b/webroot/common/ui/js/controller.labels.js
index de37e7361..bcdb6a52f 100644
--- a/webroot/common/ui/js/controller.labels.js
+++ b/webroot/common/ui/js/controller.labels.js
@@ -197,8 +197,7 @@ define([
this.DOMAINS_BREADCRUMB_DROPDOWN = "domains-breadcrumb-dropdown";
this.SASET_BREADCRUMB_DROPDOWN = "service-appliance-set-breadcrumb-dropdown";
- this.GLOBALSYS_BREADCRUMB_DROPDOWN =
- "global-system-config-breadcrumb-dropdown";
+ this.GLOBALSYS_BREADCRUMB_DROPDOWN = "global-system-config-breadcrumb-dropdown";
this.PROJECTS_ID = "projects";
this.PROJECT_GRAPH_ID = "project-graph";
@@ -210,6 +209,8 @@ define([
this.PROJECT_NETWORKS_ID = "project-networks";
this.PROJECT_NETWORK_GRID_ID = "project-network-grid";
this.PROJECT_INSTANCES_ID = "project-instances";
+ this.PROJECT_INTERFACES_ID = "project-interfaces";
+ this.PROJECT_INTERFACE_GRID_ID = "project-interface-grid";
this.PROJECTS_SCATTER_CHART_ID = "projects-scatter-chart";
this.PROJECT_FLOW_GRID_ID = "project-flow-grid";
this.PROJECT_FILTER_PROTOCOL_MULTISELECT_ID = "project-filter-protocol-multiselect-id";
diff --git a/webroot/common/ui/js/controller.parsers.js b/webroot/common/ui/js/controller.parsers.js
index 4539bde75..60bae5b09 100644
--- a/webroot/common/ui/js/controller.parsers.js
+++ b/webroot/common/ui/js/controller.parsers.js
@@ -165,7 +165,7 @@ define([
values: [],
color: cowc.D3_COLOR_CATEGORY5[3]
};
- var chartData = [axis2, axis1];
+ var chartData = [axis1, axis2];
for (var i = 0; i < responseArray.length; i++) {
var ts = Math.floor(responseArray[i]['T'] / 1000);
diff --git a/webroot/common/ui/js/controller.utils.js b/webroot/common/ui/js/controller.utils.js
index f91f9002b..e0d890c7f 100644
--- a/webroot/common/ui/js/controller.utils.js
+++ b/webroot/common/ui/js/controller.utils.js
@@ -531,49 +531,50 @@ define([
return element + " (" + parent.join(":") + ")";
}
}
- }
-
+ };
this.onClickNetworkMonitorGrid = function (e, selRowDataItem) {
- var name = $(e.target).attr('name'),
- fqName, uuid, vmName;
-
- if ($.inArray(name, ['project']) > -1) {
- fqName = selRowDataItem['name'];
- ctwu.setProjectURLHashParams(null, fqName, true)
-
- } else if ($.inArray(name, ['network']) > -1) {
- fqName = selRowDataItem['name'];
- ctwu.setNetworkURLHashParams(null, fqName, true)
-
- } else if ($.inArray(name, ['instance']) > -1) {
- fqName = selRowDataItem['vnFQN'];
- uuid = selRowDataItem['name'];
- vmName = selRowDataItem['vmName'];
- if(contrail.checkIfExist(fqName) && !ctwu.isServiceVN(fqName)) {
- ctwu.setInstanceURLHashParams(null, fqName, uuid, vmName, true);
- }
- } else if ($.inArray(name, ['vRouter']) > -1) {
- var urlObj = layoutHandler.getURLHashObj();
- if(urlObj['p'] == 'mon_infra_vrouter' &&
- urlObj['q']['view'] == 'details') {
- $("#"+ctwl.VROUTER_DETAILS_TABS_ID).tabs({active:0});
- } else {
- var hashObj = {
- type: 'vrouter',
- view: 'details',
- focusedElement: {
- node: selRowDataItem['vRouter'],
- tab: 'details'
- }
- };
- layoutHandler.setURLHashParams(hashObj,
- {
- p: "mon_infra_vrouter",
- merge: false,
- triggerHashChange: true
- }
- );
+ if (!$(e.target).hasClass('cell-no-link')) {
+ var name = $(e.target).attr('name'),
+ fqName, uuid, vmName;
+
+ if ($.inArray(name, ['project']) > -1) {
+ fqName = selRowDataItem['name'];
+ ctwu.setProjectURLHashParams(null, fqName, true)
+
+ } else if ($.inArray(name, ['network']) > -1) {
+ fqName = selRowDataItem['name'];
+ ctwu.setNetworkURLHashParams(null, fqName, true)
+
+ } else if ($.inArray(name, ['instance']) > -1) {
+ fqName = selRowDataItem['vnFQN'];
+ uuid = selRowDataItem['name'];
+ vmName = selRowDataItem['vmName'];
+ if (contrail.checkIfExist(fqName) && !ctwu.isServiceVN(fqName)) {
+ ctwu.setInstanceURLHashParams(null, fqName, uuid, vmName, true);
+ }
+ } else if ($.inArray(name, ['vRouter']) > -1) {
+ var urlObj = layoutHandler.getURLHashObj();
+ if (urlObj['p'] == 'mon_infra_vrouter' &&
+ urlObj['q']['view'] == 'details') {
+ $("#" + ctwl.VROUTER_DETAILS_TABS_ID).tabs({active: 0});
+ } else {
+ var hashObj = {
+ type: 'vrouter',
+ view: 'details',
+ focusedElement: {
+ node: selRowDataItem['vRouter'],
+ tab: 'details'
+ }
+ };
+ layoutHandler.setURLHashParams(hashObj,
+ {
+ p: "mon_infra_vrouter",
+ merge: false,
+ triggerHashChange: true
+ }
+ );
+ }
}
}
};
diff --git a/webroot/common/ui/js/controller.view.config.js b/webroot/common/ui/js/controller.view.config.js
index 8d13a7604..1f61e9e41 100644
--- a/webroot/common/ui/js/controller.view.config.js
+++ b/webroot/common/ui/js/controller.view.config.js
@@ -94,7 +94,8 @@ define([
viewConfig: {
modelKey: ctwc.get(ctwc.UMID_INSTANCE_UVE, instanceUUID),
instanceUUID: instanceUUID,
- networkFQN: networkFQN
+ networkFQN: networkFQN,
+ elementId: ctwl.INSTANCE_INTERFACE_GRID_ID
}
},
{
diff --git a/webroot/monitor/networking/api/network.mon.api.js b/webroot/monitor/networking/api/network.mon.api.js
index 35509e4e8..ee811690f 100644
--- a/webroot/monitor/networking/api/network.mon.api.js
+++ b/webroot/monitor/networking/api/network.mon.api.js
@@ -816,24 +816,37 @@ function getVirtualMachinesSummary(req, res, appData) {
function getVirtualInterfacesSummary(req, res, appData) {
var reqPostData = req.body,
kfilt = reqPostData['kfilt'], cfilt = reqPostData['cfilt'],
+ projectFQN = reqPostData['projectFQN'],
url = '/analytics/uves/virtual-machine-interface',
opServerPostData = {};
- if (kfilt != null && kfilt != '') {
- opServerPostData['kfilt'] = kfilt.split(",");
- }
+ if (projectFQN != null && typeof projectFQN !== "undefined") {
+ url += "/" + projectFQN + ":*";
- if (cfilt != null && cfilt != '') {
- opServerPostData['cfilt'] = cfilt.split(",");
- }
+ opServer.api.get(url, function (err, data) {
+ if (err || (null == data)) {
+ commonUtils.handleJSONResponse(err, res, null);
+ } else {
+ commonUtils.handleJSONResponse(null, res, data);
+ }
+ });
+ } else {
+ if (kfilt != null && kfilt != '') {
+ opServerPostData['kfilt'] = kfilt.split(",");
+ }
- opServer.api.post(url, opServerPostData, function (err, data) {
- if (err || (null == data)) {
- commonUtils.handleJSONResponse(err, res, null);
- } else {
- commonUtils.handleJSONResponse(null, res, data);
+ if (cfilt != null && cfilt != '') {
+ opServerPostData['cfilt'] = cfilt.split(",");
}
- });
+
+ opServer.api.post(url, opServerPostData, function (err, data) {
+ if (err || (null == data)) {
+ commonUtils.handleJSONResponse(err, res, null);
+ } else {
+ commonUtils.handleJSONResponse(null, res, data);
+ }
+ });
+ }
}
function isServiceVN(vnName) {
diff --git a/webroot/monitor/networking/test/ui/views/NetworkView.test.js b/webroot/monitor/networking/test/ui/views/NetworkView.test.js
index bc1d121c4..2ea6f4c82 100644
--- a/webroot/monitor/networking/test/ui/views/NetworkView.test.js
+++ b/webroot/monitor/networking/test/ui/views/NetworkView.test.js
@@ -89,7 +89,7 @@ define([
responses.push(cotr.createFakeServerResponse({
method:"POST",
- url: cttu.getRegExForUrl('/api/tenant/networking/virtual-machines/details?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&type=vn'),
+ url: cttu.getRegExForUrl('/api/tenant/networking/virtual-machines/details?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&nextCount=100&type=vn'),
body: JSON.stringify(TestMockdata.virtualMachineDetailsByUUIDMockData)
}));
diff --git a/webroot/monitor/networking/ui/js/nm.grid.config.js b/webroot/monitor/networking/ui/js/nm.grid.config.js
index b30fadfe6..cbcb5910e 100644
--- a/webroot/monitor/networking/ui/js/nm.grid.config.js
+++ b/webroot/monitor/networking/ui/js/nm.grid.config.js
@@ -11,7 +11,7 @@ define([
field: 'name',
name: 'Network',
formatter: function (r, c, v, cd, dc) {
- return cellTemplateLinks({cellText: 'name', name: 'network', rowData: dc});
+ return cowf.formatElementName({name: 'network', value: dc['name'], cssClass: 'cell-hyperlink-blue'});
},
events: {
onClick: ctwu.onClickNetworkMonitorGrid
@@ -21,7 +21,6 @@ define([
return d['name'];
},
searchable: true,
- cssClass: 'cell-hyperlink-blue',
exportConfig: {
allow: true,
stdFormatter: false
@@ -55,70 +54,18 @@ define([
}
];
- this.instanceInterfaceColumns = [
- {
- field: 'ip',
- name: 'IP Address',
- minWidth: 150,
- searchable: true
- },
- {
- field: 'vm_name',
- name: 'Instance Name',
- minWidth: 200,
- searchable: true
- },
- {
- field: 'floatingIP',
- name: 'Floating IPs In/Out',
- formatter: function (r, c, v, cd, dc) {
- return cowf.formatValueArray4Grid(dc['floatingIP']);
- },
- minWidth: 200
- },
- {
- field: '',
- name: 'Traffic In/Out (Last 1 Hr)',
- minWidth: 150,
- formatter: function (r, c, v, cd, dc) {
- return contrail.format("{0} / {1}", cowu.addUnits2Bytes(dc['inBytes60'], true), cowu.addUnits2Bytes(dc['outBytes60'], true));
- }
- },
- {
- field: '',
- name: 'Throughput In/Out',
- minWidth: 150,
- formatter: function (r, c, v, cd, dc) {
- return contrail.format("{0} / {1}", formatThroughput(dc['in_bw_usage'], true), formatThroughput(dc['out_bw_usage'], true));
- }
- },
- {
- name: 'Status',
- minWidth: 100,
- searchable: true,
- formatter: function (r, c, v, cd, dc) {
- if (dc.active) {
- return (' Active');
- } else {
- return (' Inactive');
- }
- }
- }
- ];
-
this.projectsColumns = [
{
field: 'name',
name: 'Project',
formatter: function (r, c, v, cd, dc) {
- return cellTemplateLinks({cellText: 'name', tooltip: true, name: 'project', rowData: dc});
+ return cowf.formatElementName({name: 'project', value: dc['name'], cssClass: 'cell-hyperlink-blue'});
},
minWidth: 300,
searchable: true,
events: {
onClick: ctwu.onClickNetworkMonitorGrid
},
- cssClass: 'cell-hyperlink-blue',
exportConfig: {
allow: true,
stdFormatter: false
@@ -327,7 +274,7 @@ define([
return {
remote: {
ajaxConfig: {
- url: ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 25, $.now()),
+ url: ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 25, 100, $.now()),
type: 'POST',
data: JSON.stringify({
data: [{
diff --git a/webroot/monitor/networking/ui/js/views/InstanceGridView.js b/webroot/monitor/networking/ui/js/views/InstanceGridView.js
index 82c148994..acbd57902 100644
--- a/webroot/monitor/networking/ui/js/views/InstanceGridView.js
+++ b/webroot/monitor/networking/ui/js/views/InstanceGridView.js
@@ -17,7 +17,7 @@ define([
pagerOptions = viewConfig['pagerOptions'];
var instanceRemoteConfig = {
- url: parentUUID != null ? ctwc.get(ctwc.URL_PROJECT_INSTANCES_IN_CHUNKS, parentUUID, 10, parentType, $.now()) : ctwc.get(ctwc.URL_INSTANCE_DETAILS_IN_CHUNKS, 25, $.now()),
+ url: parentUUID != null ? ctwc.get(ctwc.URL_PROJECT_INSTANCES_IN_CHUNKS, parentUUID, 10, 100, parentType, $.now()) : ctwc.get(ctwc.URL_INSTANCE_DETAILS_IN_CHUNKS, 10, 250, $.now()),
type: 'POST',
data: JSON.stringify({
data: [{"type": ctwc.TYPE_VIRTUAL_MACHINE, "cfilt": ctwc.FILTERS_COLUMN_VM.join(',')}]
diff --git a/webroot/monitor/networking/ui/js/views/InstanceListView.js b/webroot/monitor/networking/ui/js/views/InstanceListView.js
index be80f3702..2c33199b4 100644
--- a/webroot/monitor/networking/ui/js/views/InstanceListView.js
+++ b/webroot/monitor/networking/ui/js/views/InstanceListView.js
@@ -45,7 +45,7 @@ define([
function getInstanceListModelConfig(parentUUID, parentType) {
var ajaxConfig = {
- url: parentUUID != null ? ctwc.get(ctwc.URL_PROJECT_INSTANCES_IN_CHUNKS, parentUUID, 25, parentType, $.now()) : ctwc.get(ctwc.URL_INSTANCE_DETAILS_IN_CHUNKS, 25, $.now()),
+ url: parentUUID != null ? ctwc.get(ctwc.URL_PROJECT_INSTANCES_IN_CHUNKS, parentUUID, 10, 100, parentType, $.now()) : ctwc.get(ctwc.URL_INSTANCE_DETAILS_IN_CHUNKS, 10, 250, $.now()),
type: 'POST',
data: JSON.stringify({
data: [{"type": ctwc.TYPE_VIRTUAL_MACHINE, "cfilt": ctwc.FILTERS_COLUMN_VM.join(',')}]
diff --git a/webroot/monitor/networking/ui/js/views/InterfaceGridView.js b/webroot/monitor/networking/ui/js/views/InterfaceGridView.js
index d54b5009d..2a659c2a7 100644
--- a/webroot/monitor/networking/ui/js/views/InterfaceGridView.js
+++ b/webroot/monitor/networking/ui/js/views/InterfaceGridView.js
@@ -13,44 +13,50 @@ define([
var self = this,
viewConfig = this.attributes.viewConfig,
modelMap = this.modelMap,
+ projectFQN = viewConfig['projectFQN'],
networkFQN = viewConfig['networkFQN'],
instanceUUID = viewConfig['instanceUUID'],
- interfacesAjaxConfig, viewModel, interfaceNames;
+ elementId = viewConfig['elementId'],
+ interfacesAjaxConfig, viewModel, ucid;
- var ucid = ctwc.get(ctwc.UCID_INSTANCE_INTERFACE_LIST, networkFQN, instanceUUID);
-
- if (modelMap != null && modelMap[viewConfig['modelKey']] != null) {
+ if (contrail.checkIfExist(projectFQN)) {
+ ucid = ctwc.get(ctwc.UCID_PROJECT_INTERFACE_LIST, networkFQN);
+ interfacesAjaxConfig = getInterfacesAjaxConfig(null, projectFQN);
+ self.renderView4Config(self.$el, this.model, getInterfaceGridViewConfig(interfacesAjaxConfig, ucid, elementId));
+ } else if (modelMap != null && modelMap[viewConfig['modelKey']] != null) {
+ ucid = ctwc.get(ctwc.UCID_INSTANCE_INTERFACE_LIST, networkFQN, instanceUUID);
//TODO: Create a model from data coming from ModelMap
viewModel = modelMap[viewConfig['modelKey']];
if (!(viewModel.isRequestInProgress())) {
interfacesAjaxConfig = getInterfacesAjaxConfig(viewModel.attributes);
- self.renderView4Config(self.$el, this.model, getInterfaceGridViewConfig(interfacesAjaxConfig, ucid));
+ self.renderView4Config(self.$el, this.model, getInterfaceGridViewConfig(interfacesAjaxConfig, ucid, elementId));
}
viewModel.onAllRequestsComplete.subscribe(function () {
interfacesAjaxConfig = getInterfacesAjaxConfig(viewModel.attributes);
- self.renderView4Config(self.$el, this.model, getInterfaceGridViewConfig(interfacesAjaxConfig, ucid));
+ self.renderView4Config(self.$el, this.model, getInterfaceGridViewConfig(interfacesAjaxConfig, ucid, elementId));
});
}
}
});
- function getInterfacesAjaxConfig(responseJSON) {
+ function getInterfacesAjaxConfig(responseJSON, projectFQN) {
var ajaxConfig,
- interfaceList = responseJSON['value']['UveVirtualMachineAgent']['interface_list'];
+ interfaceList = contrail.checkIfExist(responseJSON) ? responseJSON['value']['UveVirtualMachineAgent']['interface_list'] : [];
ajaxConfig = {
url: ctwc.URL_VM_INTERFACES,
type: 'POST',
data: JSON.stringify({
- kfilt: interfaceList.join(',')
+ kfilt: interfaceList.join(','),
+ projectFQN: projectFQN
})
};
return ajaxConfig;
};
- function getInterfaceGridViewConfig(interfacesAjaxConfig, ucid) {
+ function getInterfaceGridViewConfig(interfacesAjaxConfig, ucid, elementId) {
return {
elementId: cowu.formatElementId([ctwl.MONITOR_INTERFACE_LIST_VIEW_ID]),
view: "SectionView",
@@ -59,7 +65,7 @@ define([
{
columns: [
{
- elementId: ctwl.INSTANCE_INTERFACE_GRID_ID,
+ elementId: elementId,
title: ctwl.TITLE_INTERFACES,
view: "GridView",
viewConfig: {
diff --git a/webroot/monitor/networking/ui/js/views/NetworkGridView.js b/webroot/monitor/networking/ui/js/views/NetworkGridView.js
index 3a0df661b..3f91c8517 100644
--- a/webroot/monitor/networking/ui/js/views/NetworkGridView.js
+++ b/webroot/monitor/networking/ui/js/views/NetworkGridView.js
@@ -16,7 +16,7 @@ define([
pagerOptions = viewConfig['pagerOptions'];
var networkRemoteConfig = {
- url: projectFQN != null ? ctwc.get(ctwc.URL_PROJECT_NETWORKS_IN_CHUNKS, 25, projectFQN, $.now()) : ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 25, $.now()),
+ url: projectFQN != null ? ctwc.get(ctwc.URL_PROJECT_NETWORKS_IN_CHUNKS, 10, 100, projectFQN, $.now()) : ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 10, 100, $.now()),
type: 'POST',
data: JSON.stringify({
data: [{
diff --git a/webroot/monitor/networking/ui/js/views/NetworkListView.js b/webroot/monitor/networking/ui/js/views/NetworkListView.js
index e8770f90d..a7d4b5a05 100644
--- a/webroot/monitor/networking/ui/js/views/NetworkListView.js
+++ b/webroot/monitor/networking/ui/js/views/NetworkListView.js
@@ -27,7 +27,7 @@ define([
return {
remote: {
ajaxConfig: {
- url: projectFQN != null ? ctwc.get(ctwc.URL_PROJECT_NETWORKS_IN_CHUNKS, 25, projectFQN, $.now()) : ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 25, $.now()),
+ url: projectFQN != null ? ctwc.get(ctwc.URL_PROJECT_NETWORKS_IN_CHUNKS, 10, 100, projectFQN, $.now()) : ctwc.get(ctwc.URL_NETWORKS_DETAILS_IN_CHUNKS, 10, 100, $.now()),
type: "POST",
data: JSON.stringify({
data: [{
@@ -64,8 +64,9 @@ define([
chartOptions: {
xLabel: 'Interfaces',
yLabel: 'Connected Networks',
- forceX: [0, 5],
+ forceX: [0, 10],
forceY: [0, 10],
+ xLabelFormat: d3.format(".01f"),
dataParser: function (response) {
return response;
},
diff --git a/webroot/monitor/networking/ui/js/views/NetworkingGraphView.js b/webroot/monitor/networking/ui/js/views/NetworkingGraphView.js
index 5e84cb0ec..06bca4985 100644
--- a/webroot/monitor/networking/ui/js/views/NetworkingGraphView.js
+++ b/webroot/monitor/networking/ui/js/views/NetworkingGraphView.js
@@ -582,7 +582,7 @@ define([
attrs: {
rect: size,
text: {
- text: contrail.truncateText(nodeDetails['name'].split(":")[2], 50),
+ text: contrail.truncateText(nodeDetails['name'].split(":")[2], 20),
'ref-x': .5,
'ref-y': -20
}
diff --git a/webroot/monitor/networking/ui/js/views/ProjectListView.js b/webroot/monitor/networking/ui/js/views/ProjectListView.js
index 754978cc0..f096ca2a9 100644
--- a/webroot/monitor/networking/ui/js/views/ProjectListView.js
+++ b/webroot/monitor/networking/ui/js/views/ProjectListView.js
@@ -51,11 +51,12 @@ define([
chartOptions: {
xLabel: 'Interfaces',
yLabel: 'Networks',
- forceX: [0, 5],
+ forceX: [0, 10],
forceY: [0, 10],
dataParser: function (response) {
return response;
},
+ xLabelFormat: d3.format(".01f"),
tooltipConfigCB: getProjectTooltipConfig,
clickCB: onScatterChartClick,
sizeFieldName: 'throughput',
@@ -88,9 +89,7 @@ define([
};
var getProjectTooltipConfig = function(data) {
- var projectFQNObj = data.name.split(':'),
- info = [],
- actions = [];
+ var projectFQNObj = data.name.split(':');
return {
title: {
diff --git a/webroot/monitor/networking/ui/js/views/ProjectTabView.js b/webroot/monitor/networking/ui/js/views/ProjectTabView.js
index 362f5aeb0..36f9831e5 100644
--- a/webroot/monitor/networking/ui/js/views/ProjectTabView.js
+++ b/webroot/monitor/networking/ui/js/views/ProjectTabView.js
@@ -71,6 +71,25 @@ define([
parentType: ctwc.TYPE_PROJECT
}
},
+ {
+ elementId: ctwl.PROJECT_INTERFACES_ID,
+ title: ctwl.TITLE_INTERFACES,
+ view: "InterfaceGridView",
+ viewPathPrefix: "monitor/networking/ui/js/views/",
+ app: cowc.APP_CONTRAIL_CONTROLLER,
+ tabConfig: {
+ activate: function(event, ui) {
+ if ($('#' + ctwl.PROJECT_INTERFACE_GRID_ID).data('contrailGrid')) {
+ $('#' + ctwl.PROJECT_INTERFACE_GRID_ID).data('contrailGrid').refreshView();
+ }
+ },
+ renderOnActivate: true
+ },
+ viewConfig: {
+ projectFQN: projectFQN,
+ elementId: ctwl.PROJECT_INTERFACE_GRID_ID
+ }
+ },
{
elementId: ctwl.PROJECT_PORTS_SCATTER_CHART_ID,
title: ctwl.TITLE_PORT_DISTRIBUTION,
diff --git a/webroot/reports/qe/ui/js/views/SystemLogsFormView.js b/webroot/reports/qe/ui/js/views/SystemLogsFormView.js
index fbab44b59..209343e90 100644
--- a/webroot/reports/qe/ui/js/views/SystemLogsFormView.js
+++ b/webroot/reports/qe/ui/js/views/SystemLogsFormView.js
@@ -134,7 +134,7 @@ define([
},
{
elementId: 'keywords', view: "FormInputView",
- viewConfig: { path: 'keywords', dataBindValue: 'keywords', class: "span3", placeholder: "Comma separated keywords" }
+ viewConfig: { path: 'keywords', dataBindValue: 'keywords', class: "span6", placeholder: "Comma separated keywords" }
}
]
},
diff --git a/webroot/test/ui/ct.test.utils.js b/webroot/test/ui/ct.test.utils.js
index f690a8765..e75338f81 100644
--- a/webroot/test/ui/ct.test.utils.js
+++ b/webroot/test/ui/ct.test.utils.js
@@ -30,7 +30,7 @@ define([
'/api/tenant/networking/network/stats/top?minsSince=10&fqName=default-domain:admin:frontend': /\/api\/tenant\/networking\/network\/stats\/top\?minsSince=10&fqName=default-domain:admin:frontend.*$/,
'/api/tenant/monitoring/network-connected-graph?fqName=default-domain:admin:frontend': /\/api\/tenant\/monitoring\/network-connected-graph\?fqName=default-domain:admin:frontend.*$/,
'/api/tenant/monitoring/network-config-graph?fqName=default-domain:admin:frontend': /\/api\/tenant\/monitoring\/network-config-graph\?fqName=default-domain:admin:frontend.*$/,
- '/api/tenant/networking/virtual-machines/details?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&type=vn': /\/api\/tenant\/networking\/virtual-machines\/details\?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&type=vn.*$/,
+ '/api/tenant/networking/virtual-machines/details?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&nextCount=100&type=vn': /\/api\/tenant\/networking\/virtual-machines\/details\?fqnUUID=ad8a9efc-9b7e-4425-9735-03bda0d2726e&count=10&nextCount=100&type=vn.*$/,
'/api/tenant/networking/virtual-machines/summary': /\/api\/tenant\/networking\/virtual-machines\/summary.*$/,
'/api/admin/reports/query?port=34560-34815&timeRange=600&table=FlowSeriesTable': /\/api\/admin\/reports\/query\?port=34560-34815&timeRange=600&table=FlowSeriesTable.*$/,