Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for Bug : 1328085 #214

Open
wants to merge 16 commits into
base: feature-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions webroot/common/api/infra.common.api.js
Expand Up @@ -126,7 +126,7 @@ function getProcStateMappedModule(moduleName)
{
switch (moduleName) {
case 'VRouterAgent':
return 'contrail-vrouter';
return 'contrail-vrouter-agent';
case 'ControlNode':
return 'contrail-control';
default:
Expand All @@ -136,7 +136,7 @@ function getProcStateMappedModule(moduleName)

function getNodeStatusByUVE (moduleName, uveData)
{
var procStateList = jsonPath(uveData, "$..process_state_list");
var procStateList = jsonPath(uveData, "$..NodeStatus.process_info");
if (procStateList.length == 0) {
/* Why? */
return 'Down';
Expand Down Expand Up @@ -308,7 +308,7 @@ function getvRouterSummaryConfigUVEData (configData, uuidList, nodeList, addGen,
'VrouterAgent:total_interface_count',
'VrouterAgent:down_interface_count', 'VrouterAgent:connected_networks',
'VrouterAgent:control_ip', 'VrouterAgent:build_info',
'VrouterStatsAgent:cpu_share', 'VrouterStatsAgent:process_state_list'];
'VrouterStatsAgent:cpu_share', 'NodeStatus'];
var postData = {};
if (null != nodeList) {
var nodeCnt = nodeList.length;
Expand Down
862 changes: 507 additions & 355 deletions webroot/menu.xml

Large diffs are not rendered by default.

Expand Up @@ -32,7 +32,7 @@ function getAnalyticsNodeSummary (req, res, appData)
var collPostData = {};
collPostData['cfilt'] = ['ModuleCpuState', 'CollectorState:self_ip_list',
'CollectorState:build_info', 'CollectorState:tx_socket_stats',
'CollectorState:rx_socket_stats'];
'CollectorState:rx_socket_stats','NodeStatus'];
commonUtils.createReqObj(dataObjArr, reqUrl, global.HTTP_REQUEST_POST,
collPostData, opApiServer, null, appData);

Expand Down
Expand Up @@ -60,82 +60,9 @@ monitorInfraAnalyticsDetailsClass = (function() {
return contrail.format(monitorInfraUrls['FLOWSERIES_CPU'], 'OpServer', '30', '10', obj['name'], endTime);
}, parser: "parseProcessMemCPUData", plotOnLoad: false, showWidgetIds: ['opServer-chart-box'], hideWidgetIds: ['collector-chart-box', 'queryengine-chart-box'], titles: {memTitle:'Memory',cpuTitle:'% CPU Utilization'}}),110);
});
var procStateList, overallStatus = noDataStr;
var analyticsProcessStatusList = [];
var statusTemplate = contrail.getTemplate4Id("statusTemplate");

overallStatus = getOverallNodeStatusForDetails(parsedData);
procStateList = getValueByJsonPath(aNodeData,"ModuleCpuState;process_state_list",[]);
analyticsProcessStatusList = getStatusesForAllAnalyticsProcesses(procStateList);
aNodeDashboardInfo = [
{lbl:'Hostname', value:obj['name']},
{lbl:'IP Address', value:(function(){
var ips = '';
iplist = getValueByJsonPath(aNodeData,"CollectorState;self_ip_list",[]);
if(iplist != null && iplist.length>0){
for (var i=0; i< iplist.length;i++){
if(i+1 == iplist.length) {
ips = ips + iplist[i];
} else {
ips = ips + iplist[i] + ', ';
}
}
} else {
ips = noDataStr;
}
return ips;
})()},
{lbl:'Version', value:parsedData['version'] != '-' ? parsedData['version'] : noDataStr},
{lbl:'Overall Node Status', value:overallStatus},
{lbl:'Processes', value:" "},
/*{lbl:INDENT_RIGHT+'Analytics Node Manager', value:(function(){
try{
return ifNull(analyticsProcessStatusList['contrail-analytics-nodemgr'],noDataStr);
}catch(e){return noDataStr;}
})()},*/
{lbl:INDENT_RIGHT+'Collector', value:(function(){
return ifNull(analyticsProcessStatusList['contrail-collector'],noDataStr);
})()},
{lbl:INDENT_RIGHT+'Query Engine', value:(function(){
return ifNull(analyticsProcessStatusList['contrail-qe'],noDataStr);
})()},
{lbl:INDENT_RIGHT+'OpServer', value:(function(){
return ifNull(analyticsProcessStatusList['contrail-opserver'],noDataStr);
})()},
/* {lbl:INDENT_RIGHT+'Redis Sentinel', value:(function(){
return ifNull(analyticsProcessStatusList['redis-sentinel'],noDataStr);
})()},*/
{lbl:'CPU', value:$.isNumeric(parsedData['cpu']) ? parsedData['cpu'] + ' %' : noDataStr},
{lbl:'Memory', value:parsedData['memory'] != '-' ? parsedData['memory'] : noDataStr},
{lbl:'Messages', value:(function(){
var msgs = getAnalyticsMessagesCountAndSize(aNodeData,['Collector']);
return msgs['count'] + ' [' + formatBytes(msgs['size']) + ']';
})()},
{lbl:'Generators', value:(function(){
var ret='';
var genno;
try{
if(aNodeData.CollectorState["generator_infos"]!=null){
genno = aNodeData.CollectorState["generator_infos"].length;
};
ret = ret + ifNull(genno,noDataStr);
}catch(e){ return noDataStr;}
return ret;
})()},
{lbl:'Last Log', value: (function(){
var lmsg;
lmsg = getLastLogTimestamp(aNodeData,"analytics");
if(lmsg != null){
try{
return new Date(parseInt(lmsg)/1000).toLocaleString();
}catch(e){return noDataStr;}
} else return noDataStr;
})()}
//'vRouters ' + aNodeData['establishedPeerCount'] + ', ' +
//'Collectors ' + aNodeData['activevRouterCount'] + ', ' +
//'Analytics Nodes ' + aNodeData['activevRouterCount'] + ', ' +
//'Config Nodes ' + aNodeData['activevRouterCount']},
]
aNodeDashboardInfo = getAnalyticsNodeLblValuePairs(parsedData);
/*Selenium Testing*/
aNodeDetailsData = aNodeDashboardInfo;
/*End of Selenium Testing*/
Expand Down Expand Up @@ -172,21 +99,3 @@ monitorInfraAnalyticsDetailsClass = (function() {
return {populateDetailsTab:populateDetailsTab};
})();

function getStatusesForAllAnalyticsProcesses(processStateList){
var ret = [];
if(processStateList != null){
for(var i=0; i < processStateList.length; i++){
var currProc = processStateList[i];
if (currProc.process_name == "contrail-qe"){
ret['contrail-qe'] = getProcessUpTime(currProc);
} else if (currProc.process_name == "contrail-analytics-nodemgr"){
ret['contrail-analytics-nodemgr'] = getProcessUpTime(currProc);
} else if (currProc.process_name == "contrail-opserver"){
ret['contrail-opserver'] = getProcessUpTime(currProc);
} else if (currProc.process_name == "contrail-collector"){
ret['contrail-collector'] = getProcessUpTime(currProc);
}
}
}
return ret;
}
Expand Up @@ -29,7 +29,29 @@ monitorInfraAnalyticsSummaryClass = (function() {
autoHeight : true,
enableAsyncPostRender: true,
forceFitColumns:true,
lazyLoading:true
lazyLoading:true,
detail:{
template: $("#gridDetailTemplate").html(),
onExpand: function (e,dc) {
var detailTemplate = contrail.getTemplate4Id('infra-summary-details-template');
var rowData = e.data;
var grid = $(e['target']).closest('div.contrail-grid');
var dataItem = dc;
var data = getAnalyticsNodeLblValuePairs(dc);
data = {d:data};
//Issue a call for fetching the details
if(data != null) {
e.detailRow.find('.row-fluid.advancedDetails').html('<div><pre style="background-color:white">' + syntaxHighlight(dc.raw_json) + '</pre></div>');
//DataItem consists of row data,passing it as a parameter to the parsefunction
e.detailRow.find('.row-fluid.basicDetails').html(detailTemplate(data));
$(grid).data('contrailGrid').adjustDetailRowHeight(dataItem['id']);
} else {
e.detailRow.find('.row-fluid.basicDetails').html(detailTemplate(data));
}
},
onCollapse:function (e,dc) {
}
}
},
dataSource: {
dataView: analyticsNodesDataSource,
Expand All @@ -54,6 +76,9 @@ monitorInfraAnalyticsSummaryClass = (function() {
field:"name",
id:"name",
name:"Host name",
sortable : {
sortBy: 'formattedValue'
},
formatter:function(r,c,v,cd,dc) {
return cellTemplateLinks({cellText:'name',name:'name',statusBubble:true,rowData:dc});
},
Expand All @@ -69,7 +94,7 @@ monitorInfraAnalyticsSummaryClass = (function() {
}
},
cssClass: 'cell-hyperlink-blue',
minWidth:110,
minWidth:175,
sortable:true
},
{
Expand All @@ -88,13 +113,6 @@ monitorInfraAnalyticsSummaryClass = (function() {
}
}
},
{
field:"version",
id:"version",
name:"Version",
sortable:true,
minWidth:110
},
{
field:"status",
id:"status",
Expand All @@ -114,6 +132,20 @@ monitorInfraAnalyticsSummaryClass = (function() {
}
}
},
{
field:"genCount",
id:"genCount",
sortable:true,
name:"Generators",
minWidth:85
},
{
field:"version",
id:"version",
name:"Version",
sortable:true,
minWidth:110
},
{
field:"cpu",
id:"analyticsCpu",
Expand All @@ -127,11 +159,11 @@ monitorInfraAnalyticsSummaryClass = (function() {
},
minWidth:120,
exportConfig: {
allow: true,
advFormatter: function(dc) {
return dc.cpu
}
}
allow: true,
advFormatter: function(dc) {
return dc.cpu
}
}
},
{
field:"memory",
Expand All @@ -140,13 +172,6 @@ monitorInfraAnalyticsSummaryClass = (function() {
name:"Memory",
minWidth:150
},
{
field:"genCount",
id:"genCount",
sortable:true,
name:"Generators",
minWidth:85
}
],
}
});
Expand Down