Updated Branches: refs/heads/master 8b81d3c2f -> 328350095
setting IaaS after creating a copy Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/32835009 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/32835009 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/32835009 Branch: refs/heads/master Commit: 328350095e2e655811bda4c02e13f3e9dc82b963 Parents: 8b81d3c Author: Nirmal Fernando <[email protected]> Authored: Sat Feb 8 10:50:30 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Sat Feb 8 10:50:30 2014 +0530 ---------------------------------------------------------------------- .../impl/CloudControllerServiceImpl.java | 37 +++----------------- .../controller/util/CloudControllerUtil.java | 30 ++++++++++++++++ .../validate/AWSEC2PartitionValidator.java | 4 ++- .../OpenstackNovaPartitionValidator.java | 3 +- 4 files changed, 40 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32835009/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java index 906fbdc..86e4ed8 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java @@ -139,7 +139,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { } for (IaasProvider iaasProvider : iaases) { - setIaas(iaasProvider); + CloudControllerUtil.setIaas(iaasProvider); } // TODO transaction begins @@ -164,33 +164,6 @@ public class CloudControllerServiceImpl implements CloudControllerService { log.info("Successfully deployed the Cartridge definition: " + cartridgeType); } - private Iaas setIaas(IaasProvider iaasProvider) throws InvalidIaasProviderException { - - Iaas iaas; - try { - Constructor<?> c = Class.forName(iaasProvider.getClassName()) - .getConstructor(IaasProvider.class); - iaas = (Iaas) c.newInstance(iaasProvider); - } catch (Exception e) { - String msg = "Class [" + iaasProvider.getClassName() - + "] which represents the iaas of type: [" - + iaasProvider.getType() + "] has failed to instantiate."; - log.error(msg, e); - throw new InvalidIaasProviderException(msg, e); - } - - try { - iaas.buildComputeServiceAndTemplate(); - iaasProvider.setIaas(iaas); - return iaas; - } catch (Exception e) { - String msg = "Unable to build the jclouds object for iaas " - + "of type: " + iaasProvider.getType(); - log.error(msg, e); - throw new InvalidIaasProviderException(msg, e); - } - } - public void undeployCartridgeDefinition(String cartridgeType) { Cartridge cartridge = null; @@ -289,7 +262,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { log.debug("Iaas is null of Iaas Provider: "+type+". Trying to build IaaS..."); } try { - iaas = setIaas(iaasProvider); + iaas = CloudControllerUtil.setIaas(iaasProvider); } catch (InvalidIaasProviderException e) { String msg ="Instance start up failed. "+memberContext.toString()+ "Unable to build Iaas of this IaasProvider [Provider] : " + type; @@ -789,7 +762,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { if (iaas == null) { try { - iaas = setIaas(iaasProvider); + iaas = CloudControllerUtil.setIaas(iaasProvider); } catch (InvalidIaasProviderException e) { String msg = "Instance termination failed. " +ctxt.toString() + @@ -965,7 +938,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { if (iaas == null) { try { - iaas = setIaas(iaasProvider); + iaas = CloudControllerUtil.setIaas(iaasProvider); } catch (InvalidIaasProviderException e) { String msg = "Invalid Partition - " + partition.toString() + @@ -1022,7 +995,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { if (iaas == null) { try { - iaas = setIaas(iaasProvider); + iaas = CloudControllerUtil.setIaas(iaasProvider); } catch (InvalidIaasProviderException e) { String msg = "Invalid Partition - " + partition.toString() + http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32835009/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java index 7381ed7..580b9a9 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java @@ -22,6 +22,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.deployment.partition.Partition; import org.apache.stratos.cloud.controller.exception.CloudControllerException; +import org.apache.stratos.cloud.controller.exception.InvalidIaasProviderException; +import org.apache.stratos.cloud.controller.interfaces.Iaas; import org.apache.stratos.cloud.controller.persist.Deserializer; import org.apache.stratos.cloud.controller.pojo.AppType; import org.apache.stratos.cloud.controller.pojo.Cartridge; @@ -36,6 +38,7 @@ import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder; import org.apache.stratos.messaging.domain.topology.Topology; import org.wso2.carbon.registry.core.exceptions.RegistryException; +import java.lang.reflect.Constructor; import java.util.Arrays; import java.util.ArrayList; import java.util.Iterator; @@ -197,6 +200,33 @@ public class CloudControllerUtil { return carInfo; } + + public static Iaas setIaas(IaasProvider iaasProvider) throws InvalidIaasProviderException { + + Iaas iaas; + try { + Constructor<?> c = Class.forName(iaasProvider.getClassName()) + .getConstructor(IaasProvider.class); + iaas = (Iaas) c.newInstance(iaasProvider); + } catch (Exception e) { + String msg = "Class [" + iaasProvider.getClassName() + + "] which represents the iaas of type: [" + + iaasProvider.getType() + "] has failed to instantiate."; + log.error(msg, e); + throw new InvalidIaasProviderException(msg, e); + } + + try { + iaas.buildComputeServiceAndTemplate(); + iaasProvider.setIaas(iaas); + return iaas; + } catch (Exception e) { + String msg = "Unable to build the jclouds object for iaas " + + "of type: " + iaasProvider.getType(); + log.error(msg, e); + throw new InvalidIaasProviderException(msg, e); + } + } public static List<Object> getKeysFromValue(Map<?, ?> hm, Object value) { List<Object> list = new ArrayList<Object>(); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32835009/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/AWSEC2PartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/AWSEC2PartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/AWSEC2PartitionValidator.java index 19c7d55..8360f45 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/AWSEC2PartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/AWSEC2PartitionValidator.java @@ -26,6 +26,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidPartitionException; import org.apache.stratos.cloud.controller.interfaces.Iaas; import org.apache.stratos.cloud.controller.pojo.IaasProvider; import org.apache.stratos.cloud.controller.util.CloudControllerConstants; +import org.apache.stratos.cloud.controller.util.CloudControllerUtil; import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator; import org.apache.stratos.messaging.domain.topology.Scope; @@ -60,7 +61,8 @@ public class AWSEC2PartitionValidator implements PartitionValidator { iaas.isValidRegion(region); IaasProvider updatedIaasProvider = new IaasProvider(iaasProvider); - Iaas updatedIaas = updatedIaasProvider.getIaas(); + + Iaas updatedIaas = CloudControllerUtil.setIaas(updatedIaasProvider); updatedIaas.setIaasProvider(updatedIaasProvider); if (properties.containsKey(Scope.zone.toString())) { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/32835009/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/OpenstackNovaPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/OpenstackNovaPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/OpenstackNovaPartitionValidator.java index 60c3044..f2b9c54 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/OpenstackNovaPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/validate/OpenstackNovaPartitionValidator.java @@ -26,6 +26,7 @@ import org.apache.stratos.cloud.controller.exception.InvalidPartitionException; import org.apache.stratos.cloud.controller.interfaces.Iaas; import org.apache.stratos.cloud.controller.pojo.IaasProvider; import org.apache.stratos.cloud.controller.util.CloudControllerConstants; +import org.apache.stratos.cloud.controller.util.CloudControllerUtil; import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator; import org.apache.stratos.messaging.domain.topology.Scope; @@ -60,7 +61,7 @@ public class OpenstackNovaPartitionValidator implements PartitionValidator { iaas.isValidRegion(region); IaasProvider updatedIaasProvider = new IaasProvider(iaasProvider); - Iaas updatedIaas = updatedIaasProvider.getIaas(); + Iaas updatedIaas = CloudControllerUtil.setIaas(updatedIaasProvider); updatedIaas.setIaasProvider(updatedIaasProvider); if (properties.containsKey(Scope.host.toString())) {
