mirror of https://github.com/apache/cloudstack.git
CS-16066. Autoscale ServiceGroup is updated to use Uuid
NetScaler jar version updated to 10.0 74.152
This commit is contained in:
parent
5cd487a4b2
commit
929b9bbeb3
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
Loading…
Reference in New Issue