You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2016/02/03 10:37:49 UTC
[3/4] git commit: updated refs/heads/4.9-mvn-upgrade to 68a88e1
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/68a88e10/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
index 137aa61..9cbc73a 100644
--- a/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
+++ b/plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
@@ -27,9 +27,11 @@ import java.util.Map;
import javax.naming.ConfigurationException;
+import org.apache.cloudstack.api.ApiConstants;
import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.log4j.Logger;
-import org.bouncycastle.openssl.PEMWriter;
+import org.bouncycastle.util.io.pem.PemObject;
+import org.bouncycastle.util.io.pem.PemWriter;
import com.citrix.netscaler.nitro.exception.nitro_exception;
import com.citrix.netscaler.nitro.resource.base.base_response;
@@ -75,11 +77,6 @@ import com.citrix.netscaler.nitro.util.filtervalue;
import com.citrix.sdx.nitro.resource.config.mps.mps;
import com.citrix.sdx.nitro.resource.config.ns.ns;
import com.citrix.sdx.nitro.resource.config.xen.xen_nsvpx_image;
-import com.google.common.collect.Lists;
-import com.google.gson.Gson;
-
-import org.apache.cloudstack.api.ApiConstants;
-
import com.cloud.agent.IAgentControl;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
@@ -127,6 +124,8 @@ import com.cloud.utils.exception.ExecutionException;
import com.cloud.utils.net.NetUtils;
import com.cloud.utils.security.CertificateHelper;
import com.cloud.utils.ssh.SshHelper;
+import com.google.common.collect.Lists;
+import com.google.gson.Gson;
class NitroError {
static final int NS_RESOURCE_EXISTS = 273;
@@ -235,7 +234,7 @@ public class NetscalerResource implements ServerResource {
_inline = Boolean.parseBoolean((String)params.get("inline"));
- if (((String)params.get("cloudmanaged")) != null) {
+ if ((String)params.get("cloudmanaged") != null) {
_cloudManaged = Boolean.parseBoolean((String)params.get("cloudmanaged"));
}
@@ -264,7 +263,7 @@ public class NetscalerResource implements ServerResource {
}
return true;
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ConfigurationException(e.getMessage());
}
}
@@ -280,7 +279,7 @@ public class NetscalerResource implements ServerResource {
_netscalerSdxService.logout();
}
}
- } catch (Exception e) {
+ } catch (final Exception e) {
// Ignore logout exceptions
}
}
@@ -302,15 +301,15 @@ public class NetscalerResource implements ServerResource {
} else {
_netscalerSdxService = new com.citrix.sdx.nitro.service.nitro_service(_ip, "https");
_netscalerSdxService.set_credential(_username, _password);
- com.citrix.sdx.nitro.resource.base.login login = _netscalerSdxService.login();
+ final com.citrix.sdx.nitro.resource.base.login login = _netscalerSdxService.login();
if (login == null) {
throw new ExecutionException("Failed to log in to Netscaler SDX device at " + _ip + " due to error " + apiCallResult.errorcode + " and message " +
apiCallResult.message);
}
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to log in to Netscaler device at " + _ip + " due to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to log in to Netscaler device at " + _ip + " due to " + e.getMessage());
}
}
@@ -320,9 +319,9 @@ public class NetscalerResource implements ServerResource {
return;
}
try {
- String[] features = _netscalerService.get_enabled_features();
+ final String[] features = _netscalerService.get_enabled_features();
if (features != null) {
- for (String feature : features) {
+ for (final String feature : features) {
if (feature.equalsIgnoreCase("LB")) {
return;
}
@@ -330,15 +329,15 @@ public class NetscalerResource implements ServerResource {
}
// enable load balancing on the device
- String[] feature = new String[1];
+ final String[] feature = new String[1];
feature[0] = "LB";
apiCallResult = _netscalerService.enable_features(feature);
if (apiCallResult.errorcode != 0) {
throw new ExecutionException("Enabling load balancing feature on the device failed.");
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Enabling load balancing feature on the device failed due to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Enabling load balancing feature on the device failed due to " + e.getMessage());
}
}
@@ -346,21 +345,21 @@ public class NetscalerResource implements ServerResource {
private void validateInterfaces(String publicInterface, String privateInterface) throws ExecutionException {
try {
if (!_isSdx && !_cloudManaged) {
- Interface publicIf = Interface.get(_netscalerService, publicInterface);
- Interface privateIf = Interface.get(_netscalerService, privateInterface);
+ final Interface publicIf = Interface.get(_netscalerService, publicInterface);
+ final Interface privateIf = Interface.get(_netscalerService, privateInterface);
if (publicIf != null || privateIf != null) {
return;
} else {
throw new ExecutionException("Invalid interface name specified for public/private interfaces.");
}
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
if (e.getErrorCode() == NitroError.NS_RESOURCE_NOT_EXISTS) {
throw new ExecutionException("Invalid interface name specified for public and private interfaces.");
} else {
throw new ExecutionException("Failed to verify public interface and private intefaces are valid due to " + e.getMessage());
}
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to verify public interface and private intefaces are valid due to " + e.getMessage());
}
}
@@ -368,18 +367,18 @@ public class NetscalerResource implements ServerResource {
private void validateDeviceType(String deviceType) throws ExecutionException {
try {
if (!_isSdx && !_cloudManaged) {
- nshardware nsHw = com.citrix.netscaler.nitro.resource.config.ns.nshardware.get(_netscalerService);
+ final nshardware nsHw = com.citrix.netscaler.nitro.resource.config.ns.nshardware.get(_netscalerService);
if (nsHw == null) {
throw new ExecutionException("Failed to get the hardware description of the Netscaler device at " + _ip);
} else {
- if ((_deviceName.equalsIgnoreCase("NetscalerMPXLoadBalancer") && nsHw.get_hwdescription().contains("MPX")) ||
- (_deviceName.equalsIgnoreCase("NetscalerVPXLoadBalancer") && nsHw.get_hwdescription().contains("NetScaler Virtual Appliance"))) {
+ if (_deviceName.equalsIgnoreCase("NetscalerMPXLoadBalancer") && nsHw.get_hwdescription().contains("MPX") ||
+ _deviceName.equalsIgnoreCase("NetscalerVPXLoadBalancer") && nsHw.get_hwdescription().contains("NetScaler Virtual Appliance")) {
return;
}
throw new ExecutionException("Netscalar device type specified does not match with the actuall device type.");
}
} else if (_isSdx) {
- mps serviceVM = mps.get(_netscalerSdxService);
+ final mps serviceVM = mps.get(_netscalerSdxService);
if (serviceVM != null) {
if (serviceVM.get_platform().contains("SDX") || serviceVM.get_product().contains("SDX")) {
return;
@@ -390,14 +389,14 @@ public class NetscalerResource implements ServerResource {
throw new ExecutionException("Failed to get the hardware details of the Netscaler device at " + _ip);
}
}
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to verify device type specified when matching with actuall device type due to " + e.getMessage());
}
}
@Override
public StartupCommand[] initialize() {
- StartupExternalLoadBalancerCommand cmd = new StartupExternalLoadBalancerCommand();
+ final StartupExternalLoadBalancerCommand cmd = new StartupExternalLoadBalancerCommand();
cmd.setName(_name);
cmd.setDataCenter(_zoneId);
cmd.setPod("");
@@ -452,14 +451,14 @@ public class NetscalerResource implements ServerResource {
return Answer.createUnsupportedCommandAnswer(cmd);
}
- String[] results = new String[cmd.getIpAddresses().length];
+ final String[] results = new String[cmd.getIpAddresses().length];
int i = 0;
try {
- IpAddressTO[] ips = cmd.getIpAddresses();
- for (IpAddressTO ip : ips) {
- long guestVlanTag = Long.parseLong(ip.getBroadcastUri());
- String vlanSelfIp = ip.getVlanGateway();
- String vlanNetmask = ip.getVlanNetmask();
+ final IpAddressTO[] ips = cmd.getIpAddresses();
+ for (final IpAddressTO ip : ips) {
+ final long guestVlanTag = Long.parseLong(ip.getBroadcastUri());
+ final String vlanSelfIp = ip.getVlanGateway();
+ final String vlanNetmask = ip.getVlanNetmask();
if (ip.isAdd()) {
// Add a new guest VLAN and its subnet and bind it to private interface
@@ -471,12 +470,12 @@ public class NetscalerResource implements ServerResource {
saveConfiguration();
results[i++] = ip.getPublicIp() + " - success";
- String action = ip.isAdd() ? "associate" : "remove";
+ final String action = ip.isAdd() ? "associate" : "remove";
if (s_logger.isDebugEnabled()) {
s_logger.debug("Netscaler load balancer " + _ip + " successfully executed IPAssocCommand to " + action + " IP " + ip);
}
}
- } catch (ExecutionException e) {
+ } catch (final ExecutionException e) {
s_logger.error("Netscaler loadbalancer " + _ip + " failed to execute IPAssocCommand due to " + e.getMessage());
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
@@ -490,31 +489,31 @@ public class NetscalerResource implements ServerResource {
private Answer execute(HealthCheckLBConfigCommand cmd, int numRetries) {
- List<LoadBalancerTO> hcLB = new ArrayList<LoadBalancerTO>();
+ final List<LoadBalancerTO> hcLB = new ArrayList<LoadBalancerTO>();
try {
if (_isSdx) {
return Answer.createUnsupportedCommandAnswer(cmd);
}
- LoadBalancerTO[] loadBalancers = cmd.getLoadBalancers();
+ final LoadBalancerTO[] loadBalancers = cmd.getLoadBalancers();
if (loadBalancers == null) {
return new HealthCheckLBConfigAnswer(hcLB);
}
- for (LoadBalancerTO loadBalancer : loadBalancers) {
- HealthCheckPolicyTO[] healthCheckPolicies = loadBalancer.getHealthCheckPolicies();
- if ((healthCheckPolicies != null) && (healthCheckPolicies.length > 0) && (healthCheckPolicies[0] != null)) {
- String nsVirtualServerName = generateNSVirtualServerName(loadBalancer.getSrcIp(), loadBalancer.getSrcPort());
+ for (final LoadBalancerTO loadBalancer : loadBalancers) {
+ final HealthCheckPolicyTO[] healthCheckPolicies = loadBalancer.getHealthCheckPolicies();
+ if (healthCheckPolicies != null && healthCheckPolicies.length > 0 && healthCheckPolicies[0] != null) {
+ final String nsVirtualServerName = generateNSVirtualServerName(loadBalancer.getSrcIp(), loadBalancer.getSrcPort());
- com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
+ final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.get(_netscalerService, nsVirtualServerName);
if (serviceBindings != null) {
- for (DestinationTO destination : loadBalancer.getDestinations()) {
- String nsServiceName = generateNSServiceName(destination.getDestIp(), destination.getDestPort());
- for (com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
+ for (final DestinationTO destination : loadBalancer.getDestinations()) {
+ final String nsServiceName = generateNSServiceName(destination.getDestIp(), destination.getDestPort());
+ for (final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
if (nsServiceName.equalsIgnoreCase(binding.get_servicename())) {
destination.setMonitorState(binding.get_curstate());
break;
@@ -526,14 +525,14 @@ public class NetscalerResource implements ServerResource {
}
}
- } catch (ExecutionException e) {
+ } catch (final ExecutionException e) {
s_logger.error("Failed to execute HealthCheckLBConfigCommand due to ", e);
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
} else {
return new HealthCheckLBConfigAnswer(hcLB);
}
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.error("Failed to execute HealthCheckLBConfigCommand due to ", e);
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
@@ -550,19 +549,19 @@ public class NetscalerResource implements ServerResource {
return Answer.createUnsupportedCommandAnswer(cmd);
}
- LoadBalancerTO[] loadBalancers = cmd.getLoadBalancers();
+ final LoadBalancerTO[] loadBalancers = cmd.getLoadBalancers();
if (loadBalancers == null) {
return new Answer(cmd);
}
- for (LoadBalancerTO loadBalancer : loadBalancers) {
- String srcIp = loadBalancer.getSrcIp();
- int srcPort = loadBalancer.getSrcPort();
- String lbProtocol = getNetScalerProtocol(loadBalancer);
- String lbAlgorithm = loadBalancer.getAlgorithm();
- String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
- String nsMonitorName = generateNSMonitorName(srcIp, srcPort);
- LbSslCert sslCert = loadBalancer.getSslCert();
+ for (final LoadBalancerTO loadBalancer : loadBalancers) {
+ final String srcIp = loadBalancer.getSrcIp();
+ final int srcPort = loadBalancer.getSrcPort();
+ final String lbProtocol = getNetScalerProtocol(loadBalancer);
+ final String lbAlgorithm = loadBalancer.getAlgorithm();
+ final String nsVirtualServerName = generateNSVirtualServerName(srcIp, srcPort);
+ final String nsMonitorName = generateNSMonitorName(srcIp, srcPort);
+ final LbSslCert sslCert = loadBalancer.getSslCert();
if (loadBalancer.isAutoScaleVmGroupTO()) {
applyAutoScaleConfig(loadBalancer);
@@ -573,7 +572,7 @@ public class NetscalerResource implements ServerResource {
boolean deleteMonitor = false;
boolean destinationsToAdd = false;
boolean deleteCert = false;
- for (DestinationTO destination : loadBalancer.getDestinations()) {
+ for (final DestinationTO destination : loadBalancer.getDestinations()) {
if (!destination.isRevoked()) {
destinationsToAdd = true;
break;
@@ -589,10 +588,10 @@ public class NetscalerResource implements ServerResource {
}
// create a new monitor
- HealthCheckPolicyTO[] healthCheckPolicies = loadBalancer.getHealthCheckPolicies();
- if ((healthCheckPolicies != null) && (healthCheckPolicies.length > 0) && (healthCheckPolicies[0] != null)) {
+ final HealthCheckPolicyTO[] healthCheckPolicies = loadBalancer.getHealthCheckPolicies();
+ if (healthCheckPolicies != null && healthCheckPolicies.length > 0 && healthCheckPolicies[0] != null) {
- for (HealthCheckPolicyTO healthCheckPolicyTO : healthCheckPolicies) {
+ for (final HealthCheckPolicyTO healthCheckPolicyTO : healthCheckPolicies) {
if (!healthCheckPolicyTO.isRevoked()) {
addLBMonitor(nsMonitorName, lbProtocol, healthCheckPolicyTO);
hasMonitor = true;
@@ -604,27 +603,27 @@ public class NetscalerResource implements ServerResource {
}
- for (DestinationTO destination : loadBalancer.getDestinations()) {
+ for (final DestinationTO destination : loadBalancer.getDestinations()) {
- String nsServerName = generateNSServerName(destination.getDestIp());
- String nsServiceName = generateNSServiceName(destination.getDestIp(), destination.getDestPort());
+ final String nsServerName = generateNSServerName(destination.getDestIp());
+ final String nsServiceName = generateNSServiceName(destination.getDestIp(), destination.getDestPort());
if (!destination.isRevoked()) {
// add a new destination to deployed load balancing rule
// add a new server
if (!nsServerExists(nsServerName)) {
- com.citrix.netscaler.nitro.resource.config.basic.server nsServer = new com.citrix.netscaler.nitro.resource.config.basic.server();
+ final com.citrix.netscaler.nitro.resource.config.basic.server nsServer = new com.citrix.netscaler.nitro.resource.config.basic.server();
nsServer.set_name(nsServerName);
nsServer.set_ipaddress(destination.getDestIp());
apiCallResult = com.citrix.netscaler.nitro.resource.config.basic.server.add(_netscalerService, nsServer);
- if ((apiCallResult.errorcode != 0) && (apiCallResult.errorcode != NitroError.NS_RESOURCE_EXISTS)) {
+ if (apiCallResult.errorcode != 0 && apiCallResult.errorcode != NitroError.NS_RESOURCE_EXISTS) {
throw new ExecutionException("Failed to add server " + destination.getDestIp() + " due to" + apiCallResult.message);
}
}
// create a new service using the server added
if (!nsServiceExists(nsServiceName)) {
- com.citrix.netscaler.nitro.resource.config.basic.service newService = new com.citrix.netscaler.nitro.resource.config.basic.service();
+ final com.citrix.netscaler.nitro.resource.config.basic.service newService = new com.citrix.netscaler.nitro.resource.config.basic.service();
newService.set_name(nsServiceName);
newService.set_port(destination.getDestPort());
newService.set_servername(nsServerName);
@@ -644,7 +643,7 @@ public class NetscalerResource implements ServerResource {
//bind service to load balancing virtual server
if (!nsServiceBindingExists(nsVirtualServerName, nsServiceName)) {
- com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding svcBinding =
+ final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding svcBinding =
new com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding();
svcBinding.set_name(nsVirtualServerName);
svcBinding.set_servicename(nsServiceName);
@@ -686,19 +685,19 @@ public class NetscalerResource implements ServerResource {
String previousCertKeyName = null;
if (sslCert.getChain() != null) {
- List<Certificate> chainList = CertificateHelper.parseChain(sslCert.getChain());
+ final List<Certificate> chainList = CertificateHelper.parseChain(sslCert.getChain());
// go from ROOT to intermediate CAs
- for (Certificate intermediateCert : Lists.reverse(chainList)) {
+ for (final Certificate intermediateCert : Lists.reverse(chainList)) {
- String fingerPrint = CertificateHelper.generateFingerPrint(intermediateCert);
- String intermediateCertKeyName = generateSslCertKeyName(fingerPrint);
- String intermediateCertFileName = intermediateCertKeyName + ".pem";
+ final String fingerPrint = CertificateHelper.generateFingerPrint(intermediateCert);
+ final String intermediateCertKeyName = generateSslCertKeyName(fingerPrint);
+ final String intermediateCertFileName = intermediateCertKeyName + ".pem";
if (!SSL.isSslCertKeyPresent(_netscalerService, intermediateCertKeyName)) {
- intermediateCert.getEncoded();
- StringWriter textWriter = new StringWriter();
- PEMWriter pemWriter = new PEMWriter(textWriter);
- pemWriter.writeObject(intermediateCert);
+ final PemObject pemObject = new PemObject(intermediateCert.getType(), intermediateCert.getEncoded());
+ final StringWriter textWriter = new StringWriter();
+ final PemWriter pemWriter = new PemWriter(textWriter);
+ pemWriter.writeObject(pemObject);
pemWriter.flush();
SSL.uploadCert(_ip, _username, _password, intermediateCertFileName, textWriter.toString().getBytes());
@@ -713,11 +712,11 @@ public class NetscalerResource implements ServerResource {
}
}
- String certFilename = generateSslCertName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
- String keyFilename = generateSslKeyName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
- String certKeyName = generateSslCertKeyName(sslCert.getFingerprint());
+ final String certFilename = generateSslCertName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
+ final String keyFilename = generateSslKeyName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
+ final String certKeyName = generateSslCertKeyName(sslCert.getFingerprint());
- ByteArrayOutputStream certDataStream = new ByteArrayOutputStream();
+ final ByteArrayOutputStream certDataStream = new ByteArrayOutputStream();
certDataStream.write(sslCert.getCert().getBytes());
if (!SSL.isSslCertKeyPresent(_netscalerService, certKeyName)) {
@@ -743,10 +742,10 @@ public class NetscalerResource implements ServerResource {
} else {
// remove a destination from the deployed load balancing rule
- com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
+ final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.get(_netscalerService, nsVirtualServerName);
if (serviceBindings != null) {
- for (com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
+ for (final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
if (nsServiceName.equalsIgnoreCase(binding.get_servicename())) {
// delete the binding
apiCallResult = com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.delete(_netscalerService, binding);
@@ -765,8 +764,8 @@ public class NetscalerResource implements ServerResource {
}
// delete the server if there is no associated services
- server_service_binding[] services = server_service_binding.get(_netscalerService, nsServerName);
- if ((services == null) || (services.length == 0)) {
+ final server_service_binding[] services = server_service_binding.get(_netscalerService, nsServerName);
+ if (services == null || services.length == 0) {
apiCallResult = com.citrix.netscaler.nitro.resource.config.basic.server.delete(_netscalerService, nsServerName);
if (apiCallResult.errorcode != 0) {
throw new ExecutionException("Failed to remove server:" + nsServerName + " due to " + apiCallResult.message);
@@ -779,24 +778,24 @@ public class NetscalerResource implements ServerResource {
}
} else {
// delete the implemented load balancing rule and its destinations
- lbvserver lbserver = getVirtualServerIfExisits(nsVirtualServerName);
+ final lbvserver lbserver = getVirtualServerIfExisits(nsVirtualServerName);
if (lbserver != null) {
//unbind the all services associated with this virtual server
- com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
+ final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding[] serviceBindings =
com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.get(_netscalerService, nsVirtualServerName);
if (serviceBindings != null) {
- for (com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
- String serviceName = binding.get_servicename();
+ for (final com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding binding : serviceBindings) {
+ final String serviceName = binding.get_servicename();
apiCallResult = com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding.delete(_netscalerService, binding);
if (apiCallResult.errorcode != 0) {
throw new ExecutionException("Failed to unbind service from the lb virtual server: " + nsVirtualServerName + " due to " +
apiCallResult.message);
}
- com.citrix.netscaler.nitro.resource.config.basic.service svc =
+ final com.citrix.netscaler.nitro.resource.config.basic.service svc =
com.citrix.netscaler.nitro.resource.config.basic.service.get(_netscalerService, serviceName);
- String nsServerName = svc.get_servername();
+ final String nsServerName = svc.get_servername();
// check if service is bound to any other virtual server
if (!isServiceBoundToVirtualServer(serviceName)) {
@@ -808,8 +807,8 @@ public class NetscalerResource implements ServerResource {
}
//delete the server if no more services attached
- server_service_binding[] services = server_service_binding.get(_netscalerService, nsServerName);
- if ((services == null) || (services.length == 0)) {
+ final server_service_binding[] services = server_service_binding.get(_netscalerService, nsServerName);
+ if (services == null || services.length == 0) {
apiCallResult = com.citrix.netscaler.nitro.resource.config.basic.server.delete(_netscalerService, nsServerName);
if (apiCallResult.errorcode != 0) {
throw new ExecutionException("Failed to remove server:" + nsServerName + " due to " + apiCallResult.message);
@@ -827,9 +826,9 @@ public class NetscalerResource implements ServerResource {
}
if (sslCert != null && deleteCert) {
- String certFilename = generateSslCertName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
- String keyFilename = generateSslKeyName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
- String certKeyName = generateSslCertKeyName(sslCert.getFingerprint());
+ final String certFilename = generateSslCertName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
+ final String keyFilename = generateSslKeyName(sslCert.getFingerprint()) + ".pem"; //netscaler uses ".pem" format for "bundle" files
+ final String certKeyName = generateSslCertKeyName(sslCert.getFingerprint());
// unbind before deleting
if (nsVirtualServerExists(nsVirtualServerName) &&
@@ -852,13 +851,13 @@ public class NetscalerResource implements ServerResource {
*/
if (sslCert.getChain() != null) {
- List<Certificate> chainList = CertificateHelper.parseChain(sslCert.getChain());
+ final List<Certificate> chainList = CertificateHelper.parseChain(sslCert.getChain());
//go from intermediate CAs to ROOT
- for (Certificate intermediateCert : chainList) {
+ for (final Certificate intermediateCert : chainList) {
- String fingerPrint = CertificateHelper.generateFingerPrint(intermediateCert);
- String intermediateCertKeyName = generateSslCertKeyName(fingerPrint);
- String intermediateCertFileName = intermediateCertKeyName + ".pem";
+ final String fingerPrint = CertificateHelper.generateFingerPrint(intermediateCert);
+ final String intermediateCertKeyName = generateSslCertKeyName(fingerPrint);
+ final String intermediateCertFileName = intermediateCertKeyName + ".pem";
if (SSL.isSslCertKeyPresent(_netscalerService, intermediateCertKeyName) &&
!SSL.isCaforCerts(_netscalerService, intermediateCertKeyName)) {
@@ -880,14 +879,14 @@ public class NetscalerResource implements ServerResource {
saveConfiguration();
return new Answer(cmd);
- } catch (ExecutionException e) {
+ } catch (final ExecutionException e) {
s_logger.error("Failed to execute LoadBalancerConfigCommand due to ", e);
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
} else {
return new Answer(cmd, e);
}
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.error("Failed to execute LoadBalancerConfigCommand due to ", e);
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
@@ -904,11 +903,11 @@ public class NetscalerResource implements ServerResource {
}
try {
- String vpxName = "Cloud-VPX-" + cmd.getLoadBalancerIP();
- String username = "admin";
- String password = "admin";
+ final String vpxName = "Cloud-VPX-" + cmd.getLoadBalancerIP();
+ final String username = "admin";
+ final String password = "admin";
- ns ns_obj = new ns();
+ final ns ns_obj = new ns();
ns_obj.set_name(vpxName);
ns_obj.set_ip_address(cmd.getLoadBalancerIP());
ns_obj.set_netmask(cmd.getNetmask());
@@ -926,12 +925,12 @@ public class NetscalerResource implements ServerResource {
// use the first VPX image of the available VPX images on the SDX to create an instance of VPX
// TODO: should enable the option to choose the template while adding the SDX device in to CloudStack
- xen_nsvpx_image[] vpxImages = xen_nsvpx_image.get(_netscalerSdxService);
+ final xen_nsvpx_image[] vpxImages = xen_nsvpx_image.get(_netscalerSdxService);
if (!(vpxImages != null && vpxImages.length >= 1)) {
new Answer(cmd, new ExecutionException("Failed to create VPX instance on the netscaler SDX device " + _ip +
" as there are no VPX images on SDX to use for creating VPX."));
}
- String imageName = vpxImages[0].get_file_name();
+ final String imageName = vpxImages[0].get_file_name();
ns_obj.set_image_name(imageName);
String publicIf = _publicInterface;
@@ -949,14 +948,14 @@ public class NetscalerResource implements ServerResource {
// wait for VPX instance to start-up
long startTick = System.currentTimeMillis();
- long startWaitMilliSeconds = 600000;
+ final long startWaitMilliSeconds = 600000;
while (!newVpx.get_instance_state().equalsIgnoreCase("up") && System.currentTimeMillis() - startTick < startWaitMilliSeconds) {
try {
Thread.sleep(10000);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
s_logger.debug("[ignored] interupted while waiting for netscaler to be 'up'.");
}
- ns refreshNsObj = new ns();
+ final ns refreshNsObj = new ns();
refreshNsObj.set_id(newVpx.get_id());
newVpx = ns.get(_netscalerSdxService, refreshNsObj);
}
@@ -969,19 +968,19 @@ public class NetscalerResource implements ServerResource {
// wait till NS service in side VPX is actually ready
startTick = System.currentTimeMillis();
boolean nsServiceUp = false;
- long nsServiceWaitMilliSeconds = 60000;
+ final long nsServiceWaitMilliSeconds = 60000;
while (System.currentTimeMillis() - startTick < nsServiceWaitMilliSeconds) {
try {
- nitro_service _netscalerService = new nitro_service(cmd.getLoadBalancerIP(), "https");
- _netscalerService.set_certvalidation(false);
- _netscalerService.set_hostnameverification(false);
- _netscalerService.set_credential(username, password);
- apiCallResult = _netscalerService.login();
+ final nitro_service netscalerService = new nitro_service(cmd.getLoadBalancerIP(), "https");
+ netscalerService.set_certvalidation(false);
+ netscalerService.set_hostnameverification(false);
+ netscalerService.set_credential(username, password);
+ apiCallResult = netscalerService.login();
if (apiCallResult.errorcode == 0) {
nsServiceUp = true;
break;
}
- } catch (Exception e) {
+ } catch (final Exception e) {
Thread.sleep(10000);
continue;
}
@@ -999,8 +998,8 @@ public class NetscalerResource implements ServerResource {
// However the VPX instances created will have interface range start from 10/1 but will only have as many interfaces enabled while creating the VPX instance
// So due to this, we need to map public & private interface on SDX to correct public & private interface of VPX
- int publicIfnum = Integer.parseInt(_publicInterface.substring(_publicInterface.lastIndexOf("/") + 1));
- int privateIfnum = Integer.parseInt(_privateInterface.substring(_privateInterface.lastIndexOf("/") + 1));
+ final int publicIfnum = Integer.parseInt(_publicInterface.substring(_publicInterface.lastIndexOf("/") + 1));
+ final int privateIfnum = Integer.parseInt(_privateInterface.substring(_privateInterface.lastIndexOf("/") + 1));
if (_publicInterface.startsWith("10/") && _privateInterface.startsWith("10/")) {
if (publicIfnum == privateIfnum) {
@@ -1034,7 +1033,7 @@ public class NetscalerResource implements ServerResource {
return new CreateLoadBalancerApplianceAnswer(cmd, true, "provisioned VPX instance", "NetscalerVPXLoadBalancer", "Netscaler", new NetscalerResource(),
publicIf, privateIf, _username, _password);
- } catch (Exception e) {
+ } catch (final Exception e) {
if (shouldRetry(numRetries)) {
return retry(cmd, numRetries);
}
@@ -1045,15 +1044,15 @@ public class NetscalerResource implements ServerResource {
private Answer execute(GlobalLoadBalancerConfigCommand gslbCmd, int numRetries) {
- String lbMethod = gslbCmd.getLoadBalancerMethod();
- String persistenceType = gslbCmd.getPersistenceType();
- String serviceType = gslbCmd.getServiceType();
- boolean forRevoke = gslbCmd.isForRevoke();
- long gslbId = gslbCmd.getGslbId();
- List<SiteLoadBalancerConfig> sites = gslbCmd.getSiteDetails();
+ final String lbMethod = gslbCmd.getLoadBalancerMethod();
+ final String persistenceType = gslbCmd.getPersistenceType();
+ final String serviceType = gslbCmd.getServiceType();
+ final boolean forRevoke = gslbCmd.isForRevoke();
+ final long gslbId = gslbCmd.getGslbId();
+ final List<SiteLoadBalancerConfig> sites = gslbCmd.getSiteDetails();
- String domainName = gslbCmd.getDomainName();
- String vserverName = GSLB.generateVirtualServerName(domainName);
+ final String domainName = gslbCmd.getDomainName();
+ final String vserverName = GSLB.generateVirtualServerName(domainName);
try {
@@ -1063,17 +1062,17 @@ public class NetscalerResource implements ServerResource {
GSLB.createVirtualServer(_netscalerService, vserverName, lbMethod, persistenceType, gslbId, serviceType);
if (sites != null) { // check if there are any sites that are participating in global load balancing
- for (SiteLoadBalancerConfig site : sites) {
+ for (final SiteLoadBalancerConfig site : sites) {
- String sitePrivateIP = site.getGslbProviderPrivateIp();
- String sitePublicIP = site.getGslbProviderPublicIp();
- String servicePublicIp = site.getServicePublicIp();
- String servicePublicPort = site.getServicePort();
- String siteName = GSLB.generateUniqueSiteName(sitePrivateIP, sitePublicIP, site.getDataCenterId());
+ final String sitePrivateIP = site.getGslbProviderPrivateIp();
+ final String sitePublicIP = site.getGslbProviderPublicIp();
+ final String servicePublicIp = site.getServicePublicIp();
+ final String servicePublicPort = site.getServicePort();
+ final String siteName = GSLB.generateUniqueSiteName(sitePrivateIP, sitePublicIP, site.getDataCenterId());
// Add/Delete GSLB local and remote sites that are part of GSLB virtual server
if (!site.forRevoke()) {
- String siteType = (site.isLocal()) ? "LOCAL" : "REMOTE";
+ final String siteType = site.isLocal() ? "LOCAL" : "REMOTE";
if (GSLB.getSiteObject(_netscalerService, siteName) != null) {
GSLB.updateSite(_netscalerService, siteType, siteName, site.getGslbProviderPrivateIp(), site.getGslbProviderPublicIp());
} else {
@@ -1082,8 +1081,8 @@ public class NetscalerResource implements ServerResource {
}
// Add/Delete GSLB service corresponding the service running on each site
- String serviceName = GSLB.generateUniqueServiceName(siteName, servicePublicIp, servicePublicPort);
- String monitorName = GSLB.generateGslbServiceMonitorName(servicePublicIp);
+ final String serviceName = GSLB.generateUniqueServiceName(siteName, servicePublicIp, servicePublicPort);
+ final String monitorName = GSLB.generateGslbServiceMonitorName(servicePublicIp);
if (!site.forRevoke()) {
// create a 'gslbservice' object
GSLB.createService(_netscalerService, serviceName, site.getServiceType(), servicePublicIp, servicePublicPort, siteName);
@@ -1127,15 +1126,15 @@ public class NetscalerResource implements ServerResource {
GSLB.deleteVserverDomainBinding(_netscalerService, vserverName, domainName);
if (sites != null) {
- for (SiteLoadBalancerConfig site : sites) {
+ for (final SiteLoadBalancerConfig site : sites) {
- String sitePrivateIP = site.getGslbProviderPrivateIp();
- String sitePublicIP = site.getGslbProviderPublicIp();
- String servicePublicIp = site.getServicePublicIp();
- String servicePublicPort = site.getServicePort();
- String siteName = GSLB.generateUniqueSiteName(sitePrivateIP, sitePublicIP, site.getDataCenterId());
- String serviceName = GSLB.generateUniqueServiceName(siteName, servicePublicIp, servicePublicPort);
- String monitorName = GSLB.generateGslbServiceMonitorName(servicePublicIp);
+ final String sitePrivateIP = site.getGslbProviderPrivateIp();
+ final String sitePublicIP = site.getGslbProviderPublicIp();
+ final String servicePublicIp = site.getServicePublicIp();
+ final String servicePublicPort = site.getServicePort();
+ final String siteName = GSLB.generateUniqueSiteName(sitePrivateIP, sitePublicIP, site.getDataCenterId());
+ final String serviceName = GSLB.generateUniqueServiceName(siteName, servicePublicIp, servicePublicPort);
+ final String monitorName = GSLB.generateGslbServiceMonitorName(servicePublicIp);
// delete GSLB service and GSLB monitor binding
GSLB.deleteGslbServiceGslbMonitorBinding(_netscalerService, monitorName, serviceName);
@@ -1160,8 +1159,8 @@ public class NetscalerResource implements ServerResource {
saveConfiguration();
- } catch (Exception e) {
- String errMsg = "Failed to apply GSLB configuration due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to apply GSLB configuration due to " + e.getMessage();
if (shouldRetry(numRetries)) {
return retry(gslbCmd, numRetries);
}
@@ -1194,7 +1193,7 @@ public class NetscalerResource implements ServerResource {
isUpdateSite = true;
}
- assert ("LOCAL".equalsIgnoreCase(siteType) || "REMOTE".equalsIgnoreCase(siteType));
+ assert "LOCAL".equalsIgnoreCase(siteType) || "REMOTE".equalsIgnoreCase(siteType);
site.set_sitetype(siteType);
site.set_sitename(siteName);
site.set_siteipaddress(siteIP);
@@ -1210,8 +1209,8 @@ public class NetscalerResource implements ServerResource {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Successfully created GSLB site: " + siteName);
}
- } catch (Exception e) {
- String errMsg = "Failed to create GSLB site: " + siteName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to create GSLB site: " + siteName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1222,9 +1221,9 @@ public class NetscalerResource implements ServerResource {
// delete 'gslbsite' object representing a site
private static void deleteSite(nitro_service client, String siteName) throws ExecutionException {
try {
- gslbsite site = getSiteObject(client, siteName);
+ final gslbsite site = getSiteObject(client, siteName);
if (site != null) {
- gslbsite_gslbservice_binding[] serviceBindings = gslbsite_gslbservice_binding.get(client, siteName);
+ final gslbsite_gslbservice_binding[] serviceBindings = gslbsite_gslbservice_binding.get(client, siteName);
if (serviceBindings != null && serviceBindings.length > 0) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("There are services associated with GSLB site: " + siteName + " so ignoring site deletion");
@@ -1239,8 +1238,8 @@ public class NetscalerResource implements ServerResource {
s_logger.warn("Ignoring delete request for non existing GSLB site: " + siteName);
}
}
- } catch (Exception e) {
- String errMsg = "Failed to delete GSLB site: " + siteName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to delete GSLB site: " + siteName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1259,7 +1258,7 @@ public class NetscalerResource implements ServerResource {
}
return;
}
- assert ("LOCAL".equalsIgnoreCase(siteType) || "REMOTE".equalsIgnoreCase(siteType));
+ assert "LOCAL".equalsIgnoreCase(siteType) || "REMOTE".equalsIgnoreCase(siteType);
site.set_sitetype(siteType);
site.set_sitename(siteName);
site.set_siteipaddress(siteIP);
@@ -1273,8 +1272,8 @@ public class NetscalerResource implements ServerResource {
s_logger.debug("Successfully updated GSLB site: " + siteName);
}
- } catch (Exception e) {
- String errMsg = "Failed to update GSLB site: " + siteName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to update GSLB site: " + siteName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1328,8 +1327,8 @@ public class NetscalerResource implements ServerResource {
s_logger.debug("Successfully added GSLB virtual server: " + vserverName);
}
- } catch (Exception e) {
- String errMsg = "Failed to add GSLB virtual server: " + vserverName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to add GSLB virtual server: " + vserverName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1340,7 +1339,7 @@ public class NetscalerResource implements ServerResource {
// delete 'gslbvserver' object representing a globally load balanced service
private static void deleteVirtualServer(nitro_service client, String vserverName) throws ExecutionException {
try {
- gslbvserver vserver = getVserverObject(client, vserverName);
+ final gslbvserver vserver = getVserverObject(client, vserverName);
if (vserver != null) {
gslbvserver.delete(client, vserver);
if (s_logger.isDebugEnabled()) {
@@ -1351,63 +1350,8 @@ public class NetscalerResource implements ServerResource {
s_logger.warn("Ignoring delete request for non existing GSLB virtual server: " + vserverName);
}
}
- } catch (Exception e) {
- String errMsg = "Failed to delete GSLB virtual server: " + vserverName + " due to " + e.getMessage();
- if (s_logger.isDebugEnabled()) {
- s_logger.debug(errMsg);
- }
- throw new ExecutionException(errMsg);
- }
- }
-
- // enable 'gslbvserver' object representing a globally load balanced service
- private static void enableVirtualServer(nitro_service client, String vserverName) throws ExecutionException {
- try {
- gslbvserver vserver = getVserverObject(client, vserverName);
- if (vserver != null) {
- gslbvserver.enable(client, vserver);
- }
- } catch (Exception e) {
- String errMsg = "Failed to enable GSLB virtual server: " + vserverName + " due to " + e.getMessage();
- if (s_logger.isDebugEnabled()) {
- s_logger.debug(errMsg);
- }
- throw new ExecutionException(errMsg);
- }
- }
-
- // disable 'gslbvserver' object representing a globally load balanced service
- private static void disableVirtualServer(nitro_service client, String vserverName) throws ExecutionException {
- try {
- gslbvserver vserver = getVserverObject(client, vserverName);
- if (vserver != null) {
- gslbvserver.disable(client, vserver);
- }
- } catch (Exception e) {
- String errMsg = "Failed to disable GSLB virtual server: " + vserverName + " due to " + e.getMessage();
- if (s_logger.isDebugEnabled()) {
- s_logger.debug(errMsg);
- }
- throw new ExecutionException(errMsg);
- }
- }
-
- // update 'gslbvserver' object representing a globally load balanced service
- private static void updateVirtualServer(nitro_service client, String vserverName, String lbMethod, String persistenceType, String serviceType)
- throws ExecutionException {
- try {
- gslbvserver vServer = getVserverObject(client, vserverName);
- if (vServer != null) {
- vServer.set_lbmethod(lbMethod);
- vServer.set_persistencetype(persistenceType);
- vServer.set_servicetype(serviceType);
- gslbvserver.update(client, vServer);
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Successfully updated GSLB virtual server: " + vserverName);
- }
- }
- } catch (Exception e) {
- String errMsg = "Failed to update GSLB virtual server: " + vserverName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to delete GSLB virtual server: " + vserverName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1421,15 +1365,15 @@ public class NetscalerResource implements ServerResource {
try {
gslbservice service;
service = getServiceObject(client, serviceName);
- String gslbServerName = generateGslbServerName(serviceIp);
+ final String gslbServerName = generateGslbServerName(serviceIp);
if (!gslbServerExists(client, gslbServerName)) {
base_response apiCallResult;
- com.citrix.netscaler.nitro.resource.config.basic.server nsServer = new com.citrix.netscaler.nitro.resource.config.basic.server();
+ final com.citrix.netscaler.nitro.resource.config.basic.server nsServer = new com.citrix.netscaler.nitro.resource.config.basic.server();
nsServer.set_name(gslbServerName);
nsServer.set_ipaddress(serviceIp);
apiCallResult = com.citrix.netscaler.nitro.resource.config.basic.server.add(client, nsServer);
- if ((apiCallResult.errorcode != 0) && (apiCallResult.errorcode != NitroError.NS_RESOURCE_EXISTS)) {
+ if (apiCallResult.errorcode != 0 && apiCallResult.errorcode != NitroError.NS_RESOURCE_EXISTS) {
throw new ExecutionException("Failed to add server " + gslbServerName + " due to" + apiCallResult.message);
}
}
@@ -1443,7 +1387,7 @@ public class NetscalerResource implements ServerResource {
service.set_sitename(siteName);
service.set_servername(gslbServerName);
- int port = Integer.parseInt(servicePort);
+ final int port = Integer.parseInt(servicePort);
service.set_port(port);
service.set_servicename(serviceName);
service.set_servicetype(serviceType);
@@ -1457,8 +1401,8 @@ public class NetscalerResource implements ServerResource {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Successfully created service: " + serviceName + " at site: " + siteName);
}
- } catch (Exception e) {
- String errMsg = "Failed to created service: " + serviceName + " at site: " + siteName + " due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to created service: " + serviceName + " at site: " + siteName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1468,7 +1412,7 @@ public class NetscalerResource implements ServerResource {
private static void deleteService(nitro_service client, String serviceName) throws ExecutionException {
try {
- gslbservice service = getServiceObject(client, serviceName);
+ final gslbservice service = getServiceObject(client, serviceName);
if (service != null) {
gslbservice.delete(client, serviceName);
if (s_logger.isDebugEnabled()) {
@@ -1479,34 +1423,8 @@ public class NetscalerResource implements ServerResource {
s_logger.warn("Ignoring delete request for non existing service: " + serviceName);
}
}
- } catch (Exception e) {
- String errMsg = "Failed to delete service: " + serviceName + " due to " + e.getMessage();
- if (s_logger.isDebugEnabled()) {
- s_logger.debug(errMsg);
- }
- throw new ExecutionException(errMsg);
- }
- }
-
- private static void updateService(nitro_service client, String serviceName, String serviceType, String publicIp, String publicPort, String siteName)
- throws ExecutionException {
- try {
- gslbservice service;
- service = getServiceObject(client, serviceName);
-
- if (service != null) {
- service.set_sitename(siteName);
- service.set_publicip(publicIp);
- service.set_publicport(Integer.getInteger(publicPort));
- service.set_servicename(serviceName);
- service.set_servicetype(serviceType);
- gslbservice.update(client, service);
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Successfully updated service: " + serviceName + " at site: " + siteName);
- }
- }
- } catch (Exception e) {
- String errMsg = "Failed to update service: " + serviceName + " at site: " + siteName + "due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to delete service: " + serviceName + " due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1517,8 +1435,8 @@ public class NetscalerResource implements ServerResource {
private static void createVserverServiceBinding(nitro_service client, String serviceName, String vserverName, long weight) throws ExecutionException {
String errMsg;
try {
- assert (weight >= 1 && weight <= 100);
- gslbvserver_gslbservice_binding binding = new gslbvserver_gslbservice_binding();
+ assert weight >= 1 && weight <= 100;
+ final gslbvserver_gslbservice_binding binding = new gslbvserver_gslbservice_binding();
binding.set_name(vserverName);
binding.set_servicename(serviceName);
binding.set_weight(weight);
@@ -1526,7 +1444,7 @@ public class NetscalerResource implements ServerResource {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Successfully created service: " + serviceName + " and virtual server: " + vserverName + " binding");
}
- } catch (nitro_exception ne) {
+ } catch (final nitro_exception ne) {
if (ne.getErrorCode() == 273) {
return;
}
@@ -1535,7 +1453,7 @@ public class NetscalerResource implements ServerResource {
s_logger.debug(errMsg);
}
throw new ExecutionException(errMsg);
- } catch (Exception e) {
+ } catch (final Exception e) {
errMsg = "Failed to create service: " + serviceName + " and virtual server: " + vserverName + " binding due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
@@ -1546,9 +1464,9 @@ public class NetscalerResource implements ServerResource {
private static void deleteVserverServiceBinding(nitro_service client, String serviceName, String vserverName) throws ExecutionException {
try {
- gslbvserver_gslbservice_binding[] bindings = gslbvserver_gslbservice_binding.get(client, vserverName);
+ final gslbvserver_gslbservice_binding[] bindings = gslbvserver_gslbservice_binding.get(client, vserverName);
if (bindings != null) {
- for (gslbvserver_gslbservice_binding binding : bindings) {
+ for (final gslbvserver_gslbservice_binding binding : bindings) {
if (binding.get_servicename().equalsIgnoreCase(serviceName) && binding.get_name().equals(vserverName)) {
gslbvserver_gslbservice_binding.delete(client, binding);
if (s_logger.isDebugEnabled()) {
@@ -1558,8 +1476,8 @@ public class NetscalerResource implements ServerResource {
}
}
}
- } catch (Exception e) {
- String errMsg = "Failed to create service: " + serviceName + " and virtual server: " + vserverName + " binding due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to create service: " + serviceName + " and virtual server: " + vserverName + " binding due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1571,7 +1489,7 @@ public class NetscalerResource implements ServerResource {
private static void createVserverDomainBinding(nitro_service client, String vserverName, String domainName) throws ExecutionException {
String errMsg;
try {
- gslbvserver_domain_binding binding = new gslbvserver_domain_binding();
+ final gslbvserver_domain_binding binding = new gslbvserver_domain_binding();
binding.set_domainname(domainName);
binding.set_name(vserverName);
gslbvserver_domain_binding.add(client, binding);
@@ -1579,12 +1497,12 @@ public class NetscalerResource implements ServerResource {
s_logger.debug("Successfully added virtual server: " + vserverName + " domain name: " + domainName + " binding");
}
return;
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
if (e.getErrorCode() == NitroError.NS_GSLB_DOMAIN_ALREADY_BOUND) {
return;
}
errMsg = e.getMessage();
- } catch (Exception e) {
+ } catch (final Exception e) {
errMsg = e.getMessage();
}
errMsg = "Failed to create virtual server: " + vserverName + " domain name: " + domainName + " binding" + errMsg;
@@ -1596,9 +1514,9 @@ public class NetscalerResource implements ServerResource {
private static void deleteVserverDomainBinding(nitro_service client, String vserverName, String domainName) throws ExecutionException {
try {
- gslbvserver_domain_binding[] bindings = gslbvserver_domain_binding.get(client, vserverName);
+ final gslbvserver_domain_binding[] bindings = gslbvserver_domain_binding.get(client, vserverName);
if (bindings != null) {
- for (gslbvserver_domain_binding binding : bindings) {
+ for (final gslbvserver_domain_binding binding : bindings) {
if (binding.get_domainname().equalsIgnoreCase(domainName)) {
gslbvserver_domain_binding.delete(client, binding);
if (s_logger.isDebugEnabled()) {
@@ -1608,8 +1526,8 @@ public class NetscalerResource implements ServerResource {
}
}
}
- } catch (Exception e) {
- String errMsg = "Failed to delete virtual server: " + vserverName + " and domain " + domainName + " binding due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to delete virtual server: " + vserverName + " and domain " + domainName + " binding due to " + e.getMessage();
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1619,19 +1537,19 @@ public class NetscalerResource implements ServerResource {
private static void createGslbServiceMonitor(nitro_service nsService, String servicePublicIp, String serviceName) throws ExecutionException {
try {
- lbmonitor newmonitor = new lbmonitor();
- String monitorName = generateGslbServiceMonitorName(servicePublicIp);
+ final lbmonitor newmonitor = new lbmonitor();
+ final String monitorName = generateGslbServiceMonitorName(servicePublicIp);
newmonitor.set_type("TCP");
newmonitor.set_servicename(serviceName);
newmonitor.set_monitorname(monitorName);
newmonitor.set_state("ENABLED");
lbmonitor.add(nsService, newmonitor);
- } catch (nitro_exception ne) {
+ } catch (final nitro_exception ne) {
if (ne.getErrorCode() == NitroError.NS_RESOURCE_EXISTS) {
return;
}
- } catch (Exception e) {
- String errMsg = "Failed to create GSLB monitor for service public ip" + servicePublicIp;
+ } catch (final Exception e) {
+ final String errMsg = "Failed to create GSLB monitor for service public ip" + servicePublicIp;
if (s_logger.isDebugEnabled()) {
s_logger.debug(errMsg);
}
@@ -1641,18 +1559,18 @@ public class NetscalerResource implements ServerResource {
private static void deleteGslbServiceMonitor(nitro_service nsService, String monitorName) throws ExecutionException {
try {
- lbmonitor serviceMonitor = lbmonitor.get(nsService, monitorName);
+ final lbmonitor serviceMonitor = lbmonitor.get(nsService, monitorName);
if (serviceMonitor != null) {
lbmonitor.delete(nsService, serviceMonitor);
}
- } catch (nitro_exception ne) {
+ } catch (final nitro_exception ne) {
if (ne.getErrorCode() != NitroError.NS_RESOURCE_NOT_EXISTS) {
- String errMsg = "Failed to delete monitor " + monitorName + " for GSLB service due to " + ne.getMessage();
+ final String errMsg = "Failed to delete monitor " + monitorName + " for GSLB service due to " + ne.getMessage();
s_logger.debug(errMsg);
throw new com.cloud.utils.exception.ExecutionException(errMsg);
}
- } catch (Exception e) {
- String errMsg = "Failed to delete monitor " + monitorName + " for GSLB service due to " + e.getMessage();
+ } catch (final Exception e) {
+ final String errMsg = "Failed to delete monitor " + monitorName + " for GSLB service due to " + e.getMessage();
s_logger.debug(errMsg);
throw new com.cloud.utils.exception.ExecutionException(errMsg);
}
@@ -1660,11 +1578,11 @@ public class NetscalerResource implements ServerResource {
private static void createGslbServiceGslbMonitorBinding(nitro_service nsService, String monitorName, String serviceName) {
try {
- gslbservice_lbmonitor_binding monitorBinding = new gslbservice_lbmonitor_binding();
+ final gslbservice_lbmonitor_binding monitorBinding = new gslbservice_lbmonitor_binding();
monitorBinding.set_monitor_name(monitorName);
monitorBinding.set_servicename(serviceName);
gslbservice_lbmonitor_binding.add(nsService, monitorBinding);
- } catch (Exception e) {
+ } catch (final Exception e) {
// TODO: Nitro API version 10.* is not compatible for NetScalers 9.*, so may fail
// against NetScaler version lesser than 10 hence ignore the exception
s_logger.warn("Failed to bind monitor to GSLB service due to " + e.getMessage());
@@ -1673,16 +1591,16 @@ public class NetscalerResource implements ServerResource {
private static void deleteGslbServiceGslbMonitorBinding(nitro_service nsService, String monitorName, String serviceName) {
try {
- gslbservice_lbmonitor_binding[] monitorBindings = gslbservice_lbmonitor_binding.get(nsService, serviceName);
+ final gslbservice_lbmonitor_binding[] monitorBindings = gslbservice_lbmonitor_binding.get(nsService, serviceName);
if (monitorBindings != null && monitorBindings.length > 0) {
- for (gslbservice_lbmonitor_binding binding : monitorBindings) {
+ for (final gslbservice_lbmonitor_binding binding : monitorBindings) {
if (binding.get_monitor_name().equalsIgnoreCase(monitorName)) {
s_logger.info("Found a binding between monitor " + binding.get_monitor_name() + " and " + binding.get_servicename());
gslbservice_lbmonitor_binding.delete(nsService, binding);
}
}
}
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.debug("Failed to delete GSLB monitor " + monitorName + " and GSLB service " + serviceName + " binding due to " + e.getMessage() +
" but moving on ..., will be cleaned up as part of GSLB " + " service delete any way..");
}
@@ -1691,11 +1609,11 @@ public class NetscalerResource implements ServerResource {
// get 'gslbsite' object corresponding to a site name
private static gslbsite getSiteObject(nitro_service client, String siteName) {
try {
- gslbsite site = gslbsite.get(client, siteName);
+ final gslbsite site = gslbsite.get(client, siteName);
if (site != null) {
return site;
}
- } catch (Exception e) {
+ } catch (final Exception e) {
s_logger.info("[ignored]"
+ "error getting site: " + e.getLocalizedMessage());
}
@@ -1704,18 +1622,18 @@ public class NetscalerResource implements ServerResource {
private static gslbvserver getVserverObject(nitro_service client, String vserverName) {
try {
- gslbvserver vserver = gslbvserver.get(client, vserverName);
+ final gslbvserver vserver = gslbvserver.get(client, vserverName);
return vserver;
- } catch (Exception e) {
+ } catch (final Exception e) {
return null;
}
}
private static gslbservice getServiceObject(nitro_service client, String serviceName) {
try {
- gslbservice service = gslbservice.get(client, serviceName);
+ final gslbservice service = gslbservice.get(client, serviceName);
return service;
- } catch (Exception e) {
+ } catch (final Exception e) {
return null;
}
}
@@ -1743,13 +1661,13 @@ public class NetscalerResource implements ServerResource {
} else {
return false;
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
if (e.getErrorCode() == NitroError.NS_RESOURCE_NOT_EXISTS) {
return false;
} else {
throw new ExecutionException("Failed to verify Server " + serverName + " exists on the NetScaler device due to " + e.getMessage());
}
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to verify Server " + serverName + " exists on the NetScaler device due to " + e.getMessage());
}
}
@@ -1759,7 +1677,7 @@ public class NetscalerResource implements ServerResource {
}
private static String genGslbObjectName(Object... args) {
- StringBuffer buff = new StringBuffer();
+ final StringBuffer buff = new StringBuffer();
for (int i = 0; i < args.length; i++) {
buff.append(args[i]);
if (i != args.length - 1) {
@@ -1778,14 +1696,15 @@ public class NetscalerResource implements ServerResource {
private static boolean isSslCertKeyPresent(nitro_service ns, String certKeyName) throws ExecutionException {
- String filter = "certkey:" + certKeyName;
+ final String filter = "certkey:" + certKeyName;
try {
- if (sslcertkey.count_filtered(ns, filter) > 0)
+ if (sslcertkey.count_filtered(ns, filter) > 0) {
return true;
- } catch (nitro_exception e) {
+ }
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to get certkey " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to get certkey " + e.getMessage());
}
@@ -1795,13 +1714,13 @@ public class NetscalerResource implements ServerResource {
private static void deleteSslCertKey(nitro_service ns, String certKeyName) throws ExecutionException {
try {
- sslcertkey certkey = new sslcertkey();
+ final sslcertkey certkey = new sslcertkey();
certkey.set_certkey(certKeyName);
sslcertkey.delete(ns, certkey);
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to delete certkey " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to delete certkey " + e.getMessage());
}
@@ -1818,12 +1737,13 @@ public class NetscalerResource implements ServerResource {
private static void createSslCertKey(nitro_service ns, String certFilename, String keyFilename, String certKeyName, String password) throws ExecutionException {
s_logger.debug("Adding cert to netscaler");
try {
- sslcertkey certkey = new sslcertkey();
+ final sslcertkey certkey = new sslcertkey();
certkey.set_certkey(certKeyName);
certkey.set_cert(SSL_CERT_PATH + certFilename);
- if (keyFilename != null)
+ if (keyFilename != null) {
certkey.set_key(SSL_CERT_PATH + keyFilename);
+ }
if (password != null) {
certkey.set_passplain(password);
@@ -1831,44 +1751,25 @@ public class NetscalerResource implements ServerResource {
certkey.perform_operation(ns);
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to add certkey binding " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to add certkey binding " + e.getMessage());
}
}
- public static void updateCertKey(nitro_service ns, String certKeyName, String cert, String key, String password) throws ExecutionException {
- try {
- sslcertkey certkey = sslcertkey.get(ns, certKeyName);
- if (cert != null)
- certkey.set_cert(cert);
- if (key != null)
- certkey.set_key(cert);
- if (password != null)
- certkey.set_passplain(cert);
-
- sslcertkey.change(ns, certkey);
-
- } catch (nitro_exception e) {
- throw new ExecutionException("Failed to update ssl on load balancer due to " + e.getMessage());
- } catch (Exception e) {
- throw new ExecutionException("Failed to update ssl on load balancer due to " + e.getMessage());
- }
- }
-
private static void bindCertKeyToVserver(nitro_service ns, String certKeyName, String vserver) throws ExecutionException {
s_logger.debug("Adding cert to netscaler");
try {
- sslvserver_sslcertkey_binding cert_binding = new sslvserver_sslcertkey_binding();
+ final sslvserver_sslcertkey_binding cert_binding = new sslvserver_sslcertkey_binding();
cert_binding.set_certkeyname(certKeyName);
cert_binding.set_vservername(vserver);
cert_binding.perform_operation(ns);
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to bind certkey to vserver due to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to bind certkey to vserver due to " + e.getMessage());
}
}
@@ -1876,14 +1777,14 @@ public class NetscalerResource implements ServerResource {
private static void unbindCertKeyFromVserver(nitro_service ns, String certKeyName, String vserver) throws ExecutionException {
try {
- sslvserver_sslcertkey_binding cert_binding = new sslvserver_sslcertkey_binding();
+ final sslvserver_sslcertkey_binding cert_binding = new sslvserver_sslcertkey_binding();
cert_binding.set_certkeyname(certKeyName);
cert_binding.set_vservername(vserver);
sslvserver_sslcertkey_binding.delete(ns, cert_binding);
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to unbind certkey to vserver due to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to unbind certkey to vserver due to " + e.getMessage());
}
@@ -1892,7 +1793,7 @@ public class NetscalerResource implements ServerResource {
private static void uploadCert(String nsIp, String user, String password, String certFilename, byte[] certData) throws ExecutionException {
try {
SshHelper.scpTo(nsIp, SSH_PORT, user, null, password, SSL_CERT_PATH, certData, certFilename, null);
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to copy private key to device " + e.getMessage());
}
}
@@ -1900,7 +1801,7 @@ public class NetscalerResource implements ServerResource {
private static void uploadKey(String nsIp, String user, String password, String keyFilename, byte[] keyData) throws ExecutionException {
try {
SshHelper.scpTo(nsIp, SSH_PORT, user, null, password, SSL_CERT_PATH, keyData, keyFilename, null);
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to copy private key to device " + e.getMessage());
}
}
@@ -1910,47 +1811,31 @@ public class NetscalerResource implements ServerResource {
return;
}
try {
- base_response result = ns.enable_features(new String[] {"SSL"});
- if (result.errorcode != 0)
+ final base_response result = ns.enable_features(new String[] {"SSL"});
+ if (result.errorcode != 0) {
throw new ExecutionException("Unable to enable SSL on LB");
- } catch (nitro_exception e) {
+ }
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to enable ssl feature on load balancer due to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to enable ssl feature on load balancer due to " + e.getMessage());
}
}
- public static boolean checkSslFeature(nitro_service ns) throws ExecutionException {
- try {
- String[] features = ns.get_enabled_features();
- if (features != null) {
- for (String feature : features) {
- if (feature.equalsIgnoreCase("SSL")) {
- return true;
- }
- }
- }
- return false;
- } catch (nitro_exception e) {
- throw new ExecutionException("Failed to check ssl feature on load balancer due to " + e.getMessage());
- } catch (Exception e) {
- throw new ExecutionException("Failed to check ssl feature on load balancer due to " + e.getMessage());
- }
- }
-
public static boolean certLinkExists(nitro_service ns, String userCertName, String caCertName) throws ExecutionException {
try {
// check if there is a link from userCertName to caCertName
- sslcertkey userCert = sslcertkey.get(ns, userCertName);
- String nsCaCert = userCert.get_linkcertkeyname();
+ final sslcertkey userCert = sslcertkey.get(ns, userCertName);
+ final String nsCaCert = userCert.get_linkcertkeyname();
- if (nsCaCert != null && nsCaCert.equals(caCertName))
+ if (nsCaCert != null && nsCaCert.equals(caCertName)) {
return true;
+ }
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to check cert link on load balancer to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to check cert link on load balancer due to " + e.getMessage());
}
return false;
@@ -1961,19 +1846,19 @@ public class NetscalerResource implements ServerResource {
// the assumption is that that both userCertName and caCertName are present on NS
- sslcertkey caCert = sslcertkey.get(ns, caCertName);
- sslcertkey userCert = sslcertkey.get(ns, userCertName);
+ final sslcertkey caCert = sslcertkey.get(ns, caCertName);
+ final sslcertkey userCert = sslcertkey.get(ns, userCertName);
- sslcertkey linkResource = new sslcertkey();
+ final sslcertkey linkResource = new sslcertkey();
// link user cert to CA cert
linkResource.set_certkey(userCert.get_certkey());
linkResource.set_linkcertkeyname(caCert.get_certkey());
sslcertkey.link(ns, linkResource);
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to check cert link on load balancer to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to check cert link on load balancer due to " + e.getMessage());
}
@@ -1982,14 +1867,14 @@ public class NetscalerResource implements ServerResource {
public static boolean isCaforCerts(nitro_service ns, String caCertName) throws ExecutionException {
// check if this certificate serves as a CA for other certificates
try {
- sslcertlink[] childLinks = sslcertlink.get_filtered(ns, "linkcertkeyname:" + caCertName);
+ final sslcertlink[] childLinks = sslcertlink.get_filtered(ns, "linkcertkeyname:" + caCertName);
if (childLinks != null && childLinks.length > 0) {
return true;
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new ExecutionException("Failed to check cert link on load balancer to " + e.getMessage());
- } catch (Exception e) {
+ } catch (final Exception e) {
throw new ExecutionException("Failed to check cert link on load balancer due to " + e.getMessage());
}
return false;
@@ -1999,14 +1884,14 @@ public class NetscalerResource implements ServerResource {
public static boolean isBoundToVserver(nitro_service ns, String certKeyName, String nsVirtualServerName) throws ExecutionException {
try {
- sslcertkey_sslvserver_binding[] cert_vs_binding = sslcertkey_sslvserver_binding.get_filtered(ns, certKeyName, "vservername:" + nsVirtualServerName);
+ final sslcertkey_sslvserver_binding[] cert_vs_binding = sslcertkey_sslvserver_binding.get_filtered(ns, certKeyName, "vservername:" + nsVirtualServerName);
if (cert_vs_binding != null && cert_vs_binding.length > 0) {
return true;
}
- } catch (nitro_exception e) {
+ } catch (final nitro_exception e) {
throw new Exe
<TRUNCATED>