mirror of https://github.com/apache/cloudstack.git
AutoScale. Tested and corrected AutoScale Vm Group creation command passing to NetScaler. Still delete and disable is pending will wait for clean NS build.
This commit is contained in:
parent
36f333e014
commit
2c3d0f724d
|
|
@ -12,6 +12,7 @@
|
|||
// Automatically generated by addcopyright.py at 04/03/2012
|
||||
package com.cloud.agent.api.to;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -28,7 +29,7 @@ import com.cloud.network.lb.LoadBalancingRule.LbDestination;
|
|||
import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
|
||||
import com.cloud.utils.Pair;
|
||||
|
||||
public class LoadBalancerTO {
|
||||
public class LoadBalancerTO implements Serializable {
|
||||
Long id;
|
||||
String srcIp;
|
||||
int srcPort;
|
||||
|
|
@ -132,7 +133,7 @@ public class LoadBalancerTO {
|
|||
return this.autoScaleVmGroupTO != null;
|
||||
}
|
||||
|
||||
public static class StickinessPolicyTO {
|
||||
public static class StickinessPolicyTO implements Serializable{
|
||||
private final String _methodName;
|
||||
private final List<Pair<String, String>> _paramsList;
|
||||
|
||||
|
|
@ -150,7 +151,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class DestinationTO {
|
||||
public static class DestinationTO implements Serializable{
|
||||
String destIp;
|
||||
int destPort;
|
||||
boolean revoked;
|
||||
|
|
@ -183,7 +184,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class CounterTO {
|
||||
public static class CounterTO implements Serializable{
|
||||
private final String name;
|
||||
private final String source;
|
||||
private final String value;
|
||||
|
|
@ -207,7 +208,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class ConditionTO {
|
||||
public static class ConditionTO implements Serializable{
|
||||
private final long threshold;
|
||||
private final String relationalOperator;
|
||||
private final CounterTO counter;
|
||||
|
|
@ -232,7 +233,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class AutoScalePolicyTO {
|
||||
public static class AutoScalePolicyTO implements Serializable{
|
||||
private final long id;
|
||||
private final int duration;
|
||||
private final int quietTime;
|
||||
|
|
@ -274,7 +275,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class AutoScaleVmProfileTO {
|
||||
public static class AutoScaleVmProfileTO implements Serializable{
|
||||
private final Long zoneId;
|
||||
private final Long domainId;
|
||||
private final Long serviceOfferingId;
|
||||
|
|
@ -347,7 +348,7 @@ public class LoadBalancerTO {
|
|||
}
|
||||
}
|
||||
|
||||
public static class AutoScaleVmGroupTO {
|
||||
public static class AutoScaleVmGroupTO implements Serializable{
|
||||
private final int minMembers;
|
||||
private final int maxMembers;
|
||||
private final int memberPort;
|
||||
|
|
@ -417,8 +418,9 @@ public class LoadBalancerTO {
|
|||
}
|
||||
LbAutoScaleVmProfile lbAutoScaleVmProfile = lbAutoScaleVmGroup.getProfile();
|
||||
AutoScaleVmProfile autoScaleVmProfile = lbAutoScaleVmProfile.getProfile();
|
||||
|
||||
AutoScaleVmProfileTO autoScaleVmProfileTO = new AutoScaleVmProfileTO(autoScaleVmProfile.getZoneId(), autoScaleVmProfile.getDomainId(),
|
||||
lbAutoScaleVmProfile.getAutoScaleUserApiKey(), lbAutoScaleVmProfile.getAutoScaleUserSecretKey(), lbAutoScaleVmProfile.getCsUrl(),
|
||||
lbAutoScaleVmProfile.getCsUrl(), lbAutoScaleVmProfile.getAutoScaleUserApiKey(), lbAutoScaleVmProfile.getAutoScaleUserSecretKey(),
|
||||
autoScaleVmProfile.getServiceOfferingId(), autoScaleVmProfile.getTemplateId(), autoScaleVmProfile.getOtherDeployParams(),
|
||||
autoScaleVmProfile.getSnmpCommunity(), autoScaleVmProfile.getSnmpPort(), autoScaleVmProfile.getDestroyVmGraceperiod());
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
// Automatically generated by addcopyright.py at 04/03/2012
|
||||
package com.cloud.network.resource;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Formatter;
|
||||
|
|
@ -100,9 +102,9 @@ public class NetscalerResource implements ServerResource {
|
|||
private String _name;
|
||||
private String _zoneId;
|
||||
private String _physicalNetworkId;
|
||||
private String _ip;
|
||||
private String _username;
|
||||
private String _password;
|
||||
public String _ip;
|
||||
public String _username;
|
||||
public String _password;
|
||||
private String _publicInterface;
|
||||
private String _privateInterface;
|
||||
private Integer _numRetries;
|
||||
|
|
@ -473,7 +475,8 @@ public class NetscalerResource implements ServerResource {
|
|||
}
|
||||
cur_prirotiy++;
|
||||
}
|
||||
return -1;
|
||||
priorities.add(cur_prirotiy);;
|
||||
return cur_prirotiy;
|
||||
}
|
||||
|
||||
@SuppressWarnings("static-access")
|
||||
|
|
@ -482,7 +485,7 @@ public class NetscalerResource implements ServerResource {
|
|||
int srcPort = loadBalancerTO.getSrcPort();
|
||||
|
||||
String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(nsVirtualServerName);
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(srcIp, srcPort);
|
||||
|
||||
disableAutoScaleConfig(loadBalancerTO);
|
||||
|
||||
|
|
@ -532,27 +535,28 @@ public class NetscalerResource implements ServerResource {
|
|||
int srcPort = loadBalancerTO.getSrcPort();
|
||||
|
||||
String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
|
||||
String profileName = generateAutoScaleProfileName(nsVirtualServerName);
|
||||
String timerName = generateAutoScaleTimerName(nsVirtualServerName);
|
||||
String scaleDownActionName = generateAutoScaleScaleDownActionName(nsVirtualServerName);
|
||||
String scaleUpActionName = generateAutoScaleScaleUpActionName(nsVirtualServerName);
|
||||
String mtName = generateSnmpMetricTableName(nsVirtualServerName);
|
||||
String monitorName = generateSnmpMonitorName(nsVirtualServerName);
|
||||
String profileName = generateAutoScaleProfileName(srcIp, srcPort);
|
||||
String timerName = generateAutoScaleTimerName(srcIp, srcPort);
|
||||
String scaleDownActionName = generateAutoScaleScaleDownActionName(srcIp, srcPort);
|
||||
String scaleUpActionName = generateAutoScaleScaleUpActionName(srcIp, srcPort);
|
||||
String mtName = generateSnmpMetricTableName(srcIp, srcPort);
|
||||
String monitorName = generateSnmpMonitorName(srcIp, srcPort);
|
||||
AutoScaleVmGroupTO vmGroupTO = loadBalancerTO.getAutoScaleVmGroupTO();
|
||||
List<AutoScalePolicyTO> policies = vmGroupTO.getPolicies();
|
||||
|
||||
boolean isSnmp = false;
|
||||
/* Create Counters */
|
||||
for (AutoScalePolicyTO autoScalePolicyTO : policies) {
|
||||
List<ConditionTO> conditions = autoScalePolicyTO.getConditions();
|
||||
for (ConditionTO conditionTO : conditions) {
|
||||
CounterTO counterTO = conditionTO.getCounter();
|
||||
if(counterTO.getSource() == "snmp")
|
||||
{
|
||||
if(counterTO.getSource().equals("snmp")) {
|
||||
isSnmp = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
String policyId = Long.toString(autoScalePolicyTO.getId());
|
||||
String policyName = generateAutoScalePolicyName(nsVirtualServerName,policyId);
|
||||
String policyName = generateAutoScalePolicyName(srcIp, srcPort,policyId);
|
||||
// unbind timer policy
|
||||
// unbbind timer trigger lb_astimer -policyName lb_policy_scaleUp
|
||||
com.citrix.netscaler.nitro.resource.config.timer.timertrigger_timerpolicy_binding timer_policy_binding = new com.citrix.netscaler.nitro.resource.config.timer.timertrigger_timerpolicy_binding();
|
||||
|
|
@ -617,26 +621,29 @@ public class NetscalerResource implements ServerResource {
|
|||
throw e;
|
||||
}
|
||||
|
||||
// Delete Monitor
|
||||
// rm lb monitor lb_metric_table_mon
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmonitor monitor = new com.citrix.netscaler.nitro.resource.config.lb.lbmonitor();
|
||||
try {
|
||||
monitor.set_monitorname(monitorName);
|
||||
monitor.delete(login_get_service(), monitor);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
throw e;
|
||||
if(isSnmp) {
|
||||
// Delete Monitor
|
||||
// rm lb monitor lb_metric_table_mon
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmonitor monitor = new com.citrix.netscaler.nitro.resource.config.lb.lbmonitor();
|
||||
try {
|
||||
monitor.set_monitorname(monitorName);
|
||||
monitor.delete(login_get_service(), monitor);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
throw e;
|
||||
}
|
||||
|
||||
// Delete Metric Table
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable metricTable = new com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable();
|
||||
try {
|
||||
metricTable.set_metric(mtName);
|
||||
metricTable.delete(login_get_service(), metricTable);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
// Delete Metric Table
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable metricTable = new com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable();
|
||||
try {
|
||||
metricTable.set_metric(mtName);
|
||||
metricTable.delete(login_get_service(), metricTable);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
throw e;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -655,7 +662,7 @@ public class NetscalerResource implements ServerResource {
|
|||
s_logger.debug("Created load balancing virtual server " + nsVirtualServerName + " on the Netscaler device");
|
||||
}
|
||||
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(nsVirtualServerName);
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(srcIp, srcPort);
|
||||
// add servicegroup lb_autoscaleGroup -autoscale POLICY -memberPort 80
|
||||
com.citrix.netscaler.nitro.resource.config.basic.servicegroup serviceGroup = new com.citrix.netscaler.nitro.resource.config.basic.servicegroup();
|
||||
int memberPort = vmGroupTO.getMemberPort();
|
||||
|
|
@ -694,13 +701,13 @@ public class NetscalerResource implements ServerResource {
|
|||
int srcPort = loadBalancerTO.getSrcPort();
|
||||
|
||||
String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(nsVirtualServerName);
|
||||
String profileName = generateAutoScaleProfileName(nsVirtualServerName);
|
||||
String timerName = generateAutoScaleTimerName(nsVirtualServerName);
|
||||
String scaleDownActionName = generateAutoScaleScaleDownActionName(nsVirtualServerName);
|
||||
String scaleUpActionName = generateAutoScaleScaleUpActionName(nsVirtualServerName);
|
||||
String mtName = generateSnmpMetricTableName(nsVirtualServerName);
|
||||
String monitorName = generateSnmpMonitorName(nsVirtualServerName);
|
||||
String serviceGroupName = generateAutoScaleServiceGroupName(srcIp, srcPort);
|
||||
String profileName = generateAutoScaleProfileName(srcIp, srcPort);
|
||||
String timerName = generateAutoScaleTimerName(srcIp, srcPort);
|
||||
String scaleDownActionName = generateAutoScaleScaleDownActionName(srcIp, srcPort);
|
||||
String scaleUpActionName = generateAutoScaleScaleUpActionName(srcIp, srcPort);
|
||||
String mtName = generateSnmpMetricTableName(srcIp, srcPort);
|
||||
String monitorName = generateSnmpMonitorName(srcIp, srcPort);
|
||||
AutoScaleVmGroupTO vmGroupTO = loadBalancerTO.getAutoScaleVmGroupTO();
|
||||
AutoScaleVmProfileTO profileTO = vmGroupTO.getProfile();
|
||||
List<AutoScalePolicyTO> policies = vmGroupTO.getPolicies();
|
||||
|
|
@ -737,12 +744,14 @@ public class NetscalerResource implements ServerResource {
|
|||
com.citrix.netscaler.nitro.resource.config.autoscale.autoscaleprofile autoscaleProfile = new com.citrix.netscaler.nitro.resource.config.autoscale.autoscaleprofile();
|
||||
try {
|
||||
autoscaleProfile.set_name(profileName);
|
||||
autoscaleProfile.set_type("CLOUDSTACK");
|
||||
autoscaleProfile.set_apikey(apiKey);
|
||||
autoscaleProfile.set_sharedsecret(secretKey);
|
||||
autoscaleProfile.set_url(url);
|
||||
autoscaleProfile.add(login_get_service(), autoscaleProfile);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
|
||||
throw e;
|
||||
}
|
||||
|
||||
|
|
@ -764,7 +773,7 @@ public class NetscalerResource implements ServerResource {
|
|||
if(scaleUpQuietTime == null) {
|
||||
if(isScaleUpPolicy(autoScalePolicyTO)) {
|
||||
scaleUpQuietTime = autoScalePolicyTO.getQuietTime();
|
||||
if(scaleDownQuietTime == null) {
|
||||
if(scaleDownQuietTime != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -772,7 +781,7 @@ public class NetscalerResource implements ServerResource {
|
|||
if(scaleDownQuietTime == null) {
|
||||
if(isScaleDownPolicy(autoScalePolicyTO)) {
|
||||
scaleDownQuietTime = autoScalePolicyTO.getQuietTime();
|
||||
if(scaleUpQuietTime == null) {
|
||||
if(scaleUpQuietTime != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -823,10 +832,10 @@ public class NetscalerResource implements ServerResource {
|
|||
}
|
||||
|
||||
/* Create Counters */
|
||||
HashMap<String, Integer> snmpMetrics = new HashMap<String, Integer>();
|
||||
for (AutoScalePolicyTO autoScalePolicyTO : policies) {
|
||||
boolean isPolicyRevoked = autoScalePolicyTO.isRevoked();
|
||||
List<ConditionTO> conditions = autoScalePolicyTO.getConditions();
|
||||
HashMap<String, Integer> snmpMetrics = new HashMap<String, Integer>();
|
||||
String policyExpression = "";
|
||||
int snmpCounterNumber = 0;
|
||||
for (ConditionTO conditionTO : conditions) {
|
||||
|
|
@ -846,7 +855,7 @@ public class NetscalerResource implements ServerResource {
|
|||
//add lb metricTable lb_metric_table
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable metricTable = new com.citrix.netscaler.nitro.resource.config.lb.lbmetrictable();
|
||||
try {
|
||||
metricTable.set_metric(mtName);
|
||||
metricTable.set_metrictable(mtName);
|
||||
metricTable.add(login_get_service(), metricTable);
|
||||
} catch (Exception e) {
|
||||
// Ignore Exception
|
||||
|
|
@ -859,6 +868,7 @@ public class NetscalerResource implements ServerResource {
|
|||
com.citrix.netscaler.nitro.resource.config.lb.lbmonitor monitor = new com.citrix.netscaler.nitro.resource.config.lb.lbmonitor();
|
||||
try {
|
||||
monitor.set_monitorname(monitorName);
|
||||
monitor.set_type("LOAD");
|
||||
monitor.set_destport(snmpPort);
|
||||
monitor.set_snmpcommunity(snmpCommunity);
|
||||
monitor.set_metrictable(mtName);
|
||||
|
|
@ -907,7 +917,7 @@ public class NetscalerResource implements ServerResource {
|
|||
// bind lb monitor lb_metric_table_mon -metric cpu -metricThreshold 1
|
||||
com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_lbmetrictable_binding monitor_metrictable_binding = new com.citrix.netscaler.nitro.resource.config.lb.lbmonitor_lbmetrictable_binding();
|
||||
try {
|
||||
monitor_metrictable_binding.set_metrictable(mtName);
|
||||
monitor_metrictable_binding.set_monitorname(monitorName);
|
||||
monitor_metrictable_binding.set_metric(counterName);
|
||||
monitor_metrictable_binding.set_metricthreshold(1); // 1 is a dummy threshold
|
||||
monitor_metrictable_binding.add(login_get_service(), monitor_metrictable_binding);
|
||||
|
|
@ -918,12 +928,12 @@ public class NetscalerResource implements ServerResource {
|
|||
}
|
||||
// SYS.VSERVER("abcd").SNMP_TABLE(0).AVERAGE_VALUE.GT(80)
|
||||
int counterIndex = snmpMetrics.get(counterName); // TODO: temporary fix. later on counter name will be added as a param to SNMP_TABLE.
|
||||
formatter.format("SYS.VSERVER(%s).SNMP_TABLE(%d).AVERAGE_VALUE.%s(%d)",nsVirtualServerName, counterIndex, operator, threshold);
|
||||
formatter.format("SYS.VSERVER(\"%s\").SNMP_TABLE(%d).AVERAGE_VALUE.%s(%d)",nsVirtualServerName, counterIndex, operator, threshold);
|
||||
}
|
||||
else if (counterTO.getSource().equals("netscaler"))
|
||||
{
|
||||
//SYS.VSERVER("abcd").RESPTIME.GT(10)
|
||||
formatter.format("SYS.VSERVER(%s).%s.%s(%d)",nsVirtualServerName, counterTO.getValue(), operator, threshold);
|
||||
formatter.format("SYS.VSERVER(\"%s\").%s.%s(%d)",nsVirtualServerName, counterTO.getValue(), operator, threshold);
|
||||
}
|
||||
if(policyExpression.length() != 0) {
|
||||
policyExpression += " && ";
|
||||
|
|
@ -933,7 +943,7 @@ public class NetscalerResource implements ServerResource {
|
|||
policyExpression = "(" + policyExpression + ")";
|
||||
|
||||
String policyId = Long.toString(autoScalePolicyTO.getId());
|
||||
String policyName = generateAutoScalePolicyName(nsVirtualServerName,policyId);
|
||||
String policyName = generateAutoScalePolicyName(srcIp, srcPort,policyId);
|
||||
if(!isPolicyRevoked) {
|
||||
// Adding a autoscale policy
|
||||
// add timer policy lb_policy_scaleUp_cpu_mem -rule - (SYS.CUR_VSERVER.METRIC_TABLE(cpu).AVG_VAL.GT(80)-
|
||||
|
|
@ -961,7 +971,7 @@ public class NetscalerResource implements ServerResource {
|
|||
timer_policy_binding.set_name(timerName);
|
||||
timer_policy_binding.set_policyname(policyName);
|
||||
// timer_policy_binding.set_vserver(nsVirtualServerName);
|
||||
timer_policy_binding.set_global("GLOBAL_DEFAULT"); // vserver name is present at the expression
|
||||
timer_policy_binding.set_global("DEFAULT"); // vserver name is present at the expression
|
||||
timer_policy_binding.set_samplesize(sampleSize);
|
||||
timer_policy_binding.set_thresholdsize(sampleSize); // We are not exposing this parameter as of now.
|
||||
// i.e. n(m) is not exposed to CS user. So thresholdSize == sampleSize
|
||||
|
|
@ -977,7 +987,8 @@ public class NetscalerResource implements ServerResource {
|
|||
return true;
|
||||
}
|
||||
|
||||
private synchronized void applyAutoScaleConfig(LoadBalancerTO loadBalancer) throws Exception, ExecutionException {
|
||||
public synchronized void applyAutoScaleConfig(LoadBalancerTO loadBalancer) throws Exception, ExecutionException {
|
||||
|
||||
AutoScaleVmGroupTO vmGroupTO = loadBalancer.getAutoScaleVmGroupTO();
|
||||
if(!isAutoScaleSupportedInNetScaler()) {
|
||||
throw new ExecutionException("AutoScale not supported in this version of NetScaler");
|
||||
|
|
@ -1986,6 +1997,10 @@ public class NetscalerResource implements ServerResource {
|
|||
if(vmGroupTO != null) {
|
||||
vserver.set_minautoscalemembers(vmGroupTO.getMinMembers());
|
||||
vserver.set_maxautoscalemembers(vmGroupTO.getMaxMembers());
|
||||
vserver.set_mysqlcharacterset(null);
|
||||
vserver.set_mysqlprotocolversion(null);
|
||||
vserver.set_mysqlservercapabilities(null);
|
||||
vserver.set_mssqlserverversion(null);
|
||||
}
|
||||
|
||||
if (vserverExisis) {
|
||||
|
|
@ -2104,36 +2119,36 @@ public class NetscalerResource implements ServerResource {
|
|||
return genObjectName("Cloud-VirtualServer", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScaleServiceGroupName(String virtualServerName) {
|
||||
return genObjectName("Cloud-AutoScaleServiceGroup", virtualServerName);
|
||||
private String generateAutoScaleServiceGroupName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-AutoScaleServiceGroup", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScaleTimerName(String virtualServerName) {
|
||||
return genObjectName("Cloud-AutoScale-Timer", virtualServerName);
|
||||
private String generateAutoScaleTimerName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-AutoScale-Timer", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScaleProfileName(String virtualServerName) {
|
||||
return genObjectName("Cloud-AutoScale-Profile", virtualServerName);
|
||||
private String generateAutoScaleProfileName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-AutoScale-Profile", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScaleScaleUpActionName(String virtualServerName) {
|
||||
return genObjectName("Cloud-AutoScale-ScaleUpAction", virtualServerName);
|
||||
private String generateAutoScaleScaleUpActionName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-AutoScale-ScaleUpAction", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScaleScaleDownActionName(String virtualServerName) {
|
||||
return genObjectName("Cloud-AutoScale-ScaleDownAction", virtualServerName);
|
||||
private String generateAutoScaleScaleDownActionName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-AutoScale-ScaleDownAction", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateAutoScalePolicyName(String virtualServerName, String poilcyId) {
|
||||
return genObjectName("Cloud-AutoScale-Policy", virtualServerName, poilcyId);
|
||||
private String generateAutoScalePolicyName(String srcIp, long srcPort, String poilcyId) {
|
||||
return genObjectName("Cloud-AutoScale-Policy", srcIp, srcPort, poilcyId);
|
||||
}
|
||||
|
||||
private String generateSnmpMetricTableName(String virtualServerName) {
|
||||
return genObjectName("Cloud-MetricTable", virtualServerName);
|
||||
private String generateSnmpMetricTableName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-MTbl", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateSnmpMonitorName(String virtualServerName) {
|
||||
return genObjectName("Cloud-Monitor", virtualServerName);
|
||||
private String generateSnmpMonitorName(String srcIp, long srcPort) {
|
||||
return genObjectName("Cloud-Mon", srcIp, srcPort);
|
||||
}
|
||||
|
||||
private String generateSnmpMetricName(String counterName) {
|
||||
|
|
@ -2198,4 +2213,17 @@ public class NetscalerResource implements ServerResource {
|
|||
public void disconnected() {
|
||||
return;
|
||||
}
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
NetscalerResource res = new NetscalerResource();
|
||||
res._ip = "10.102.31.86";
|
||||
res._username = "nsroot";
|
||||
res._password = "nsroot";
|
||||
// Deserialize a string and date from a file.
|
||||
FileInputStream in = new FileInputStream("c:\\temp\\lbto.obj");
|
||||
ObjectInputStream s1 = new ObjectInputStream(in);
|
||||
LoadBalancerTO loadBalancer = (LoadBalancerTO)s1.readObject();
|
||||
res.applyAutoScaleConfig(loadBalancer);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue