Skip to content

Commit 3787f4d

Browse files
CLOUDSTACK-9236: Load Balancing Health Check button displayed when non-NetScaler offering is used
This button will be shown only when the load balancer is NetScaler. Otherwise it is hidden.
1 parent 80703ca commit 3787f4d

1 file changed

Lines changed: 51 additions & 1 deletion

File tree

ui/scripts/network.js

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3620,7 +3620,37 @@
36203620
requireValidation: true,
36213621
buttonLabel: 'Configure',
36223622
action: cloudStack.uiCustom.healthCheck()
3623-
3623+
},
3624+
isHidden: function(args) {
3625+
if (!('vpc' in args.context)) { //From Guest Network section
3626+
var lbProviderIsNetscaler = false;
3627+
$.ajax({
3628+
url: createURL('listNetworkOfferings'),
3629+
data: {
3630+
id: args.context.networks[0].networkofferingid
3631+
},
3632+
async: false,
3633+
success: function(json) {
3634+
var networkOffering = json.listnetworkofferingsresponse.networkoffering[0];
3635+
var services = networkOffering.service;
3636+
lbProviderIsNetscaler = checkIfNetScalerProviderIsEnabled(services);
3637+
}
3638+
});
3639+
if (lbProviderIsNetscaler == true) { //Health-Check is only supported on Netscaler (but not on any other provider)
3640+
return false; //Show Health-Check button
3641+
} else {
3642+
return 2; //Hide Health-Check button (Both Header and Form)
3643+
}
3644+
} else { //From VPC section
3645+
var lbProviderIsNetscaler;
3646+
var services = args.context.vpc[0].service;
3647+
lbProviderIsNetscaler = checkIfNetScalerProviderIsEnabled(services);
3648+
if (lbProviderIsNetscaler == true) { //Health-Check is only supported on Netscaler (but not on any other provider)
3649+
return false; //Show Health-Check button
3650+
} else {
3651+
return 2; //Hide Health-Check button (both Header and Form)
3652+
}
3653+
}
36243654
}
36253655
},
36263656

@@ -6525,6 +6555,26 @@
65256555
}
65266556
};
65276557

6558+
function checkIfNetScalerProviderIsEnabled(services) {
6559+
if (services != null) {
6560+
for (var i = 0; i < services.length; i++) {
6561+
if (services[i].name == 'Lb') {
6562+
var providers = services[i].provider;
6563+
if (providers != null) {
6564+
for (var k = 0; k < providers.length; k++) {
6565+
if (providers[k].name == 'Netscaler') {
6566+
return true;
6567+
}
6568+
}
6569+
}
6570+
return false;
6571+
}
6572+
}
6573+
}
6574+
6575+
return false;
6576+
}
6577+
65286578
function getExtaPropertiesForIpObj(ipObj, args) {
65296579
if (!('vpc' in args.context)) { //***** Guest Network section > Guest Network page > IP Address page *****
65306580
var services = args.context.networks[0].service;

0 commit comments

Comments
 (0)