diff --git a/core/src/com/cloud/network/resource/NetscalerResource.java b/core/src/com/cloud/network/resource/NetscalerResource.java index c6448d13c88..dac08fca4d9 100644 --- a/core/src/com/cloud/network/resource/NetscalerResource.java +++ b/core/src/com/cloud/network/resource/NetscalerResource.java @@ -42,8 +42,6 @@ import com.citrix.netscaler.nitro.resource.config.network.vlan_nsip_binding; import com.citrix.netscaler.nitro.resource.config.ns.nsconfig; import com.citrix.netscaler.nitro.resource.config.ns.nshardware; import com.citrix.netscaler.nitro.resource.config.ns.nsip; -import com.citrix.netscaler.nitro.resource.config.timer.timerpolicy; -import com.citrix.netscaler.nitro.resource.config.timer.timertrigger_timerpolicy_binding; import com.citrix.netscaler.nitro.resource.config.autoscale.*; import com.citrix.netscaler.nitro.resource.stat.lb.lbvserver_stats; import com.citrix.netscaler.nitro.service.nitro_service; @@ -238,7 +236,7 @@ public class NetscalerResource implements ServerResource { if (!_isSdx) { _netscalerService = new com.citrix.netscaler.nitro.service.nitro_service(_ip, "https"); _netscalerService.set_credential(_username, _password); - // _netscalerService.set_timeout(_timeout); + _netscalerService.set_timeout(_timeout); apiCallResult = _netscalerService.login(); if (apiCallResult.errorcode != 0) { throw new ExecutionException ("Failed to log in to Netscaler device at " + _ip + " due to error " + apiCallResult.errorcode + " and message " + apiCallResult.message); @@ -701,7 +699,7 @@ public class NetscalerResource implements ServerResource { try { nitro_service _netscalerService = new nitro_service(cmd.getLoadBalancerIP(), "https"); _netscalerService.set_credential(username, password); - // _netscalerService.set_timeout(_timeout); + _netscalerService.set_timeout(_timeout); apiCallResult = _netscalerService.login(); if (apiCallResult.errorcode == 0) { nsServiceUp = true; @@ -1367,15 +1365,15 @@ public class NetscalerResource implements ServerResource { boolean vserverExisis = false; lbvserver vserver = getVirtualServerIfExisits(virtualServerName); - if (vserver == null) { - vserver = new lbvserver(); - } else { + if (vserver != null) { if (!vserver.get_servicetype().equalsIgnoreCase(protocol)) { throw new ExecutionException("Can not update virtual server:" + virtualServerName + " as current protocol:" + vserver.get_servicetype() + " of virtual server is different from the " + " intended protocol:" + protocol); } vserverExisis = true; } + // Use new vserver always for configuration + vserver = new lbvserver(); vserver.set_name(virtualServerName); vserver.set_ipv46(publicIp); vserver.set_port(publicPort); @@ -1419,16 +1417,8 @@ public class NetscalerResource implements ServerResource { // set session persistence timeout vserver.set_timeout(timeout); } else { - if (vserver.get_persistencetype() != null) { - // delete the LB stickyness policy - vserver.set_persistencetype("NONE"); - } - } - if(vmGroupTO != null) { - vserver.set_mysqlcharacterset(null); - vserver.set_mysqlprotocolversion(null); - vserver.set_mysqlservercapabilities(null); - vserver.set_mysqlserverversion(null); + // delete the LB stickyness policy + vserver.set_persistencetype("NONE"); } @@ -1557,7 +1547,9 @@ public class NetscalerResource implements ServerResource { String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort); String serviceGroupName = generateAutoScaleServiceGroupName(srcIp, srcPort); - disableAutoScaleConfig(loadBalancerTO, false); + if(loadBalancerTO.getAutoScaleVmGroupTO().getState().equals("enabled")) { + disableAutoScaleConfig(loadBalancerTO, false); + } if(isServiceGroupBoundToVirtualServer(nsVirtualServerName, serviceGroupName)) { // UnBind autoscale service group