mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-9588: Add Load Balancer functionality in Network page is redundant.
The "Add Load Balancer" functionality is redundant. The above is used to create LB rule without any public IP. This commit removes the tab from network page.
This commit is contained in:
parent
13bfdd71e6
commit
5a5b453a14
|
|
@ -1186,10 +1186,6 @@
|
|||
}
|
||||
});
|
||||
|
||||
if (!networkHavingELB) {
|
||||
hiddenTabs.push("addloadBalancer");
|
||||
}
|
||||
|
||||
if (isVPC || isAdvancedSGZone || isSharedNetwork) {
|
||||
hiddenTabs.push('egressRules');
|
||||
}
|
||||
|
|
@ -1657,241 +1653,6 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
addloadBalancer: { // EIP/ELB Basic zone: Add Load Balancer tab in network detailView
|
||||
title: 'label.add.load.balancer',
|
||||
custom: function(args) {
|
||||
var context = args.context;
|
||||
|
||||
return $('<div>').addClass('loadBalancer').multiEdit({
|
||||
context: context,
|
||||
listView: $.extend(true, {}, cloudStack.sections.instances, {
|
||||
listView: {
|
||||
filters: false,
|
||||
|
||||
dataProvider: function(args) {
|
||||
var data = {
|
||||
page: args.page,
|
||||
pageSize: pageSize,
|
||||
domainid: g_domainid,
|
||||
account: g_account,
|
||||
networkid: args.context.networks[0].id,
|
||||
listAll: true
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: createURL('listVirtualMachines'),
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
async: true,
|
||||
success: function(data) {
|
||||
args.response.success({
|
||||
data: $.grep(
|
||||
data.listvirtualmachinesresponse.virtualmachine ?
|
||||
data.listvirtualmachinesresponse.virtualmachine : [],
|
||||
function(instance) {
|
||||
var nonAutoScale = 0;
|
||||
if (instance.displayname == null)
|
||||
nonAutoScale = 1;
|
||||
else {
|
||||
if (instance.displayname.match(/AutoScale-LB-/) == null)
|
||||
nonAutoScale = 1;
|
||||
else {
|
||||
if (instance.displayname.match(/AutoScale-LB-/).length)
|
||||
nonAutoScale = 0;
|
||||
}
|
||||
}
|
||||
var isActiveState = $.inArray(instance.state, ['Destroyed', 'Expunging']) == -1;
|
||||
return nonAutoScale && isActiveState;
|
||||
}
|
||||
)
|
||||
});
|
||||
},
|
||||
error: function(data) {
|
||||
args.response.error(parseXMLHttpResponse(data));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}),
|
||||
multipleAdd: true,
|
||||
fields: {
|
||||
'name': {
|
||||
edit: true,
|
||||
label: 'label.name'
|
||||
},
|
||||
'publicport': {
|
||||
edit: true,
|
||||
label: 'label.public.port'
|
||||
},
|
||||
'privateport': {
|
||||
edit: true,
|
||||
label: 'label.private.port'
|
||||
},
|
||||
'algorithm': {
|
||||
label: 'label.algorithm',
|
||||
select: function(args) {
|
||||
var data = [{
|
||||
id: 'roundrobin',
|
||||
name: 'roundrobin',
|
||||
description: _l('label.lb.algorithm.roundrobin')
|
||||
}, {
|
||||
id: 'leastconn',
|
||||
name: 'leastconn',
|
||||
description: _l('label.lb.algorithm.leastconn')
|
||||
}, {
|
||||
id: 'source',
|
||||
name: 'source',
|
||||
description: _l('label.lb.algorithm.source')
|
||||
}];
|
||||
if (typeof args.context != 'undefined') {
|
||||
var lbAlgs = getLBAlgorithms(args.context.networks[0]);
|
||||
data = (lbAlgs.length == 0) ? data : lbAlgs;
|
||||
}
|
||||
args.response.success({
|
||||
data: data
|
||||
});
|
||||
}
|
||||
},
|
||||
'sticky': {
|
||||
label: 'label.stickiness',
|
||||
custom: {
|
||||
buttonLabel: 'label.configure',
|
||||
action: cloudStack.lbStickyPolicy.dialog()
|
||||
}
|
||||
},
|
||||
'autoScale': {
|
||||
label: 'label.autoscale',
|
||||
custom: {
|
||||
requireValidation: true,
|
||||
buttonLabel: 'label.configure',
|
||||
action: cloudStack.uiCustom.autoscaler(cloudStack.autoscaler)
|
||||
}
|
||||
},
|
||||
'add-vm': {
|
||||
label: 'label.add.vms',
|
||||
addButton: true
|
||||
},
|
||||
'state' : {
|
||||
edit: 'ignore',
|
||||
label: 'label.state'
|
||||
}
|
||||
},
|
||||
|
||||
add: { //basic zone - elastic IP - Add Load Balancer tab - Add VMs button
|
||||
label: 'label.add.vms',
|
||||
action: function(args) {
|
||||
var data = {
|
||||
algorithm: args.data.algorithm,
|
||||
name: args.data.name,
|
||||
privateport: args.data.privateport,
|
||||
publicport: args.data.publicport,
|
||||
openfirewall: false,
|
||||
domainid: g_domainid,
|
||||
account: g_account
|
||||
};
|
||||
|
||||
if ('vpc' in args.context) { //from VPC section
|
||||
if (args.data.tier == null) {
|
||||
args.response.error('Tier is required');
|
||||
return;
|
||||
}
|
||||
$.extend(data, {
|
||||
networkid: args.data.tier
|
||||
});
|
||||
} else { //from Guest Network section
|
||||
$.extend(data, {
|
||||
networkid: args.context.networks[0].id
|
||||
});
|
||||
}
|
||||
|
||||
var stickyData = $.extend(true, {}, args.data.sticky);
|
||||
|
||||
$.ajax({
|
||||
url: createURL('createLoadBalancerRule'),
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
async: true,
|
||||
success: function(data) {
|
||||
var itemData = args.itemData;
|
||||
//var jobID = data.createloadbalancerruleresponse.jobid; //CS-16964: use jobid from assignToLoadBalancerRule instead of createLoadBalancerRule
|
||||
|
||||
$.ajax({
|
||||
url: createURL('assignToLoadBalancerRule'),
|
||||
data: {
|
||||
id: data.createloadbalancerruleresponse.id,
|
||||
virtualmachineids: $.map(itemData, function(elem) {
|
||||
return elem.id;
|
||||
}).join(',')
|
||||
},
|
||||
dataType: 'json',
|
||||
async: true,
|
||||
success: function(data) {
|
||||
var jobID = data.assigntoloadbalancerruleresponse.jobid; //CS-16964: use jobid from assignToLoadBalancerRule instead of createLoadBalancerRule
|
||||
var lbCreationComplete = false;
|
||||
|
||||
args.response.success({
|
||||
_custom: {
|
||||
jobId: jobID
|
||||
},
|
||||
notification: {
|
||||
label: 'label.add.load.balancer',
|
||||
poll: function(args) {
|
||||
var complete = args.complete;
|
||||
var error = args.error;
|
||||
|
||||
pollAsyncJobResult({
|
||||
_custom: args._custom,
|
||||
complete: function(args) {
|
||||
if (lbCreationComplete) {
|
||||
return;
|
||||
}
|
||||
|
||||
lbCreationComplete = true;
|
||||
cloudStack.dialog.notice({
|
||||
message: _l('message.add.load.balancer.under.ip') + args.data.loadbalancer.publicip
|
||||
});
|
||||
|
||||
if (stickyData &&
|
||||
stickyData.methodname &&
|
||||
stickyData.methodname != 'None') {
|
||||
cloudStack.lbStickyPolicy.actions.add(
|
||||
args.data.loadbalancer.id,
|
||||
stickyData,
|
||||
complete, // Complete
|
||||
complete // Error
|
||||
);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
},
|
||||
error: error
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function(data) {
|
||||
args.response.error(parseXMLHttpResponse(data));
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function(data) {
|
||||
args.response.error(parseXMLHttpResponse(data));
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
dataProvider: function(args) {
|
||||
args.response.success({ //no LB listing in AddLoadBalancer tab
|
||||
data: []
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue