CS-16066. Autoscale ServiceGroup is updated to use Uuid

NetScaler jar version updated to 10.0 74.152
This commit is contained in:
Vijay 2012-08-17 22:21:40 +05:30
parent 5cd487a4b2
commit 929b9bbeb3
3 changed files with 21 additions and 8 deletions

View File

@ -361,6 +361,7 @@ public class LoadBalancerTO implements Serializable {
}
public static class AutoScaleVmGroupTO implements Serializable {
private final String uuid;
private final int minMembers;
private final int maxMembers;
private final int memberPort;
@ -370,8 +371,9 @@ public class LoadBalancerTO implements Serializable {
private final String state;
private final String currentState;
AutoScaleVmGroupTO(int minMembers, int maxMembers, int memberPort, int interval, List<AutoScalePolicyTO> policies, AutoScaleVmProfileTO profile, String state, String currentState)
AutoScaleVmGroupTO(String uuid, int minMembers, int maxMembers, int memberPort, int interval, List<AutoScalePolicyTO> policies, AutoScaleVmProfileTO profile, String state, String currentState)
{
this.uuid = uuid;
this.minMembers = minMembers;
this.maxMembers = maxMembers;
this.memberPort = memberPort;
@ -382,6 +384,10 @@ public class LoadBalancerTO implements Serializable {
this.currentState = currentState;
}
public String getUuid() {
return uuid;
}
public int getMinMembers() {
return minMembers;
}
@ -444,7 +450,7 @@ public class LoadBalancerTO implements Serializable {
autoScaleVmProfile.getSnmpPort(), autoScaleVmProfile.getDestroyVmGraceperiod());
AutoScaleVmGroup autoScaleVmGroup = lbAutoScaleVmGroup.getVmGroup();
autoScaleVmGroupTO = new AutoScaleVmGroupTO(autoScaleVmGroup.getMinMembers(), autoScaleVmGroup.getMaxMembers(), autoScaleVmGroup.getMemberPort(),
autoScaleVmGroupTO = new AutoScaleVmGroupTO(autoScaleVmGroup.getUuid(), autoScaleVmGroup.getMinMembers(), autoScaleVmGroup.getMaxMembers(), autoScaleVmGroup.getMemberPort(),
autoScaleVmGroup.getInterval(), autoScalePolicyTOs, autoScaleVmProfileTO, autoScaleVmGroup.getState(), lbAutoScaleVmGroup.getCurrentState());
}

View File

@ -1528,7 +1528,7 @@ public class NetscalerResource implements ServerResource {
}
addLBVirtualServer(nsVirtualServerName, srcIp, srcPort, lbAlgorithm, lbProtocol, loadBalancerTO.getStickinessPolicies(), vmGroupTO);
String serviceGroupName = generateAutoScaleServiceGroupName(vmGroupIdentifier);
String serviceGroupName = generateAutoScaleServiceGroupName(loadBalancerTO);
servicegroup serviceGroup = getServiceGroupIfExisits(serviceGroupName);
if(serviceGroup == null) {
// add servicegroup lb_autoscaleGroup -autoscale POLICY -memberPort 80
@ -1571,7 +1571,7 @@ public class NetscalerResource implements ServerResource {
String vmGroupIdentifier = generateAutoScaleVmGroupIdentifier(loadBalancerTO);
String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
String serviceGroupName = generateAutoScaleServiceGroupName(vmGroupIdentifier);
String serviceGroupName = generateAutoScaleServiceGroupName(loadBalancerTO);
if(loadBalancerTO.getAutoScaleVmGroupTO().getCurrentState().equals("enabled")) {
disableAutoScaleConfig(loadBalancerTO, false);
@ -1613,7 +1613,7 @@ public class NetscalerResource implements ServerResource {
int srcPort = loadBalancerTO.getSrcPort();
String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
String serviceGroupName = generateAutoScaleServiceGroupName(vmGroupIdentifier);
String serviceGroupName = generateAutoScaleServiceGroupName(loadBalancerTO);
String profileName = generateAutoScaleProfileName(vmGroupIdentifier);
String timerName = generateAutoScaleTimerName(vmGroupIdentifier);
String scaleDownActionName = generateAutoScaleScaleDownActionName(vmGroupIdentifier);
@ -1923,7 +1923,7 @@ public class NetscalerResource implements ServerResource {
String scaleUpActionName = generateAutoScaleScaleUpActionName(vmGroupIdentifier);
String mtName = generateSnmpMetricTableName(vmGroupIdentifier);
String monitorName = generateSnmpMonitorName(vmGroupIdentifier);
String serviceGroupName = generateAutoScaleServiceGroupName(vmGroupIdentifier);
String serviceGroupName = generateAutoScaleServiceGroupName(loadBalancerTO);
AutoScaleVmGroupTO vmGroupTO = loadBalancerTO.getAutoScaleVmGroupTO();
List<AutoScalePolicyTO> policies = vmGroupTO.getPolicies();
String minMemberPolicyName = generateAutoScaleMinPolicyName(vmGroupIdentifier);
@ -2231,8 +2231,15 @@ public class NetscalerResource implements ServerResource {
return lbTO.getSrcIp() + "-" + lbTO.getSrcPort();
}
private String generateAutoScaleServiceGroupName(String vmGroupIdentifier) {
return genObjectName("Cloud-AutoScale-SvcGrp", vmGroupIdentifier);
private String generateAutoScaleServiceGroupName(LoadBalancerTO lbTO) {
/*
* ServiceGroup name in NetScaler wont support long names. Providing special name.
* Need for introducing uuid because every vmgroup creation should be distinguished.
* Ex. (1) create a vm group, delete a vmgroup, create a vmgroup on same lb ip and port
* This will reuse all vms from the original vm group in step (1)
*/
return "Cloud" + lbTO.getAutoScaleVmGroupTO().getUuid().replace("-", "");
}
private String generateAutoScaleTimerName(String vmGroupIdentifier) {

Binary file not shown.