http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java index 5e992ae..18a6956 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java @@ -48,7 +48,6 @@ import org.apache.stratos.autoscaler.pojo.policy.PolicyManager; import org.apache.stratos.autoscaler.pojo.policy.deployment.ApplicationPolicy; import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy; import org.apache.stratos.autoscaler.registry.RegistryManager; -import org.apache.stratos.cloud.controller.stub.domain.NetworkPartition; import org.apache.stratos.common.Properties; import org.apache.stratos.common.Property; import org.apache.stratos.common.client.CloudControllerServiceClient; @@ -125,7 +124,7 @@ public class AutoscalerUtil { try { Topology topology = TopologyManager.getTopology(); if (topology != null) { - Service service = topology.getService(holder.getServiceUuid()); + Service service = topology.getService(holder.getServiceType()); if (service != null) { //If one cluster of the application presents, // then we can assume that all there clusters are there @@ -260,65 +259,6 @@ public class AutoscalerUtil { return toCommonProperties(properties); } - - private class ApplicationMonitorAdder implements Runnable { - private String applicationId; - - public ApplicationMonitorAdder(String applicationId) { - this.applicationId = applicationId; - } - - public void run() { - long startTime = System.currentTimeMillis(); - long endTime = startTime; - int retries = 5; - boolean success = false; - ApplicationMonitor applicationMonitor = null; - while (!success && retries != 0) { - - try { - startTime = System.currentTimeMillis(); - log.info("Starting monitor: [application] " + applicationId); - try { - applicationMonitor = MonitorFactory.getApplicationMonitor(applicationId); - } catch (PolicyValidationException e) { - String msg = "Monitor creation failed: [application] " + applicationId; - log.warn(msg, e); - retries--; - } - success = true; - endTime = System.currentTimeMillis(); - } catch (DependencyBuilderException e) { - String msg = "Monitor creation failed: [application] " + applicationId; - log.warn(msg, e); - retries--; - } catch (TopologyInConsistentException e) { - String msg = "Monitor creation failed: [application] " + applicationId; - log.warn(msg, e); - retries--; - } - } - - if (applicationMonitor == null) { - String msg = "Monitor creation failed, even after retrying for 5 times: " - + "[application] " + applicationId; - log.error(msg); - throw new RuntimeException(msg); - } - AutoscalerContext autoscalerContext = AutoscalerContext.getInstance(); - autoscalerContext.removeApplicationPendingMonitor(applicationId); - autoscalerContext.removeAppMonitor(applicationId); - autoscalerContext.addAppMonitor(applicationMonitor); - - long startupTime = ((endTime - startTime) / 1000); - if (log.isInfoEnabled()) { - log.info(String.format("Monitor started successfully: [application] %s [dependents] %s " + - "[startup-time] %d seconds", applicationMonitor.getId(), - applicationMonitor.getStartupDependencyTree(), startupTime)); - } - } - } - public static Monitor.MonitorType findMonitorType(ApplicationChildContext context) { if (context instanceof GroupChildContext) { return Monitor.MonitorType.Group; @@ -378,8 +318,8 @@ public class AutoscalerUtil { if (deploymentPolicy != null) { for (NetworkPartitionRef networkPartition : deploymentPolicy.getNetworkPartitionRefs()) { if (networkPartition != null) { - if (!networkPartitionIds.contains(networkPartition.getUuid())) { - networkPartitionIds.add(networkPartition.getUuid()); + if (!networkPartitionIds.contains(networkPartition.getId())) { + networkPartitionIds.add(networkPartition.getId()); } } } @@ -396,16 +336,16 @@ public class AutoscalerUtil { /** * Get deployment policy ids referred in an application. * - * @param applicationUuid the application uuid + * @param applicationId the application id * @return list of deployment policy ids */ - public static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationUuid) { + public static List<String> getDeploymentPolicyIdsReferredInApplication(String applicationId) { - if (applicationUuid == null || StringUtils.isBlank(applicationUuid)) { + if (applicationId == null || StringUtils.isBlank(applicationId)) { return null; } - Application application = ApplicationHolder.getApplications().getApplication(applicationUuid); + Application application = ApplicationHolder.getApplications().getApplication(applicationId); if (application == null) { return null; } @@ -418,7 +358,7 @@ public class AutoscalerUtil { List<String> deploymentPolicyIds = new ArrayList<String>(); for (Map.Entry<String, String> entry : aliasToDeploymentPolicyIdMap.entrySet()) { - if (!deploymentPolicyIds.contains(entry.getValue())&& entry.getValue()!=null) { + if (!deploymentPolicyIds.contains(entry.getValue())) { deploymentPolicyIds.add(entry.getValue()); } } @@ -497,7 +437,7 @@ public class AutoscalerUtil { if (cartridgeContext != null) { aliasToDeploymentPolicyIdMap.put( cartridgeContext.getSubscribableInfoContext().getAlias(), - cartridgeContext.getSubscribableInfoContext().getDeploymentPolicyUuid()); + cartridgeContext.getSubscribableInfoContext().getDeploymentPolicy()); } } } @@ -515,16 +455,16 @@ public class AutoscalerUtil { getAliasToDeployloymentPolicyIdMapFromChildGroupContexts(aliasToDeploymentPolicyIdMap, groupContext.getGroupContexts()); } else { // if group have a deployment policy, it is the same for all the children - String deploymentPolicyUuid = groupContext.getDeploymentPolicyUuid(); - aliasToDeploymentPolicyIdMap.put(groupContext.getAlias(), deploymentPolicyUuid); + String deploymentPolicyId = groupContext.getDeploymentPolicy(); + aliasToDeploymentPolicyIdMap.put(groupContext.getAlias(), deploymentPolicyId); if (groupContext.getCartridgeContexts() != null && groupContext.getCartridgeContexts().length != 0) { setDeploymentPolicyIdToChildCartridgeContexts(aliasToDeploymentPolicyIdMap, - deploymentPolicyUuid, + deploymentPolicyId, groupContext.getCartridgeContexts()); } if (groupContext.getGroupContexts() != null && groupContext.getGroupContexts().length != 0) { setDeploymentPolicyIdToChildGroupContexts(aliasToDeploymentPolicyIdMap, - deploymentPolicyUuid, + deploymentPolicyId, groupContext.getGroupContexts()); } @@ -587,7 +527,7 @@ public class AutoscalerUtil { } // application policy id can't be null - if (applicationPolicy.getUuid() == null || StringUtils.isBlank(applicationPolicy.getUuid())) { + if (applicationPolicy.getId() == null || StringUtils.isBlank(applicationPolicy.getId())) { String msg = "Invalid Application Policy: Application policy id null or empty"; log.error(msg); throw new InvalidApplicationPolicyException(msg); @@ -635,20 +575,10 @@ public class AutoscalerUtil { } // network partitions should be added already - NetworkPartition[] networkPartitions = CloudControllerServiceClient.getInstance().getNetworkPartitions(); - NetworkPartition networkPartitionForTenant = null; - if (networkPartitions != null) { - for (NetworkPartition networkPartition : networkPartitions) { - if (applicationPolicy.getTenantId() == networkPartition.getTenantId() && networkPartition.getId() - .equals(networkPartitionId)) { - networkPartitionForTenant = networkPartition; - } - } - } - if (networkPartitionForTenant == null) { + if (null == CloudControllerServiceClient.getInstance(). + getNetworkPartition(networkPartitionId)) { String msg = String.format("Network partition not found: [network-partition-id] %s in " + - "[application-policy-uuid] %s [application-policy-id] %s", networkPartitionId, - applicationPolicy.getUuid(), applicationPolicy.getId()); + "[application-policy-id] %s", networkPartitionId, applicationPolicy.getId()); log.error(msg); throw new InvalidApplicationPolicyException(msg); } @@ -665,14 +595,11 @@ public class AutoscalerUtil { if (networkPartitionGroupsPropertyValue != null) { String[] networkPartitionGroups = networkPartitionGroupsPropertyValue. split(StratosConstants.APPLICATION_POLICY_NETWORK_PARTITION_GROUPS_SPLITTER); - String[] networkPartitionGroupsUuid=null; if (networkPartitionGroups != null) { - int i=0; for (String networkPartitionIdsString : networkPartitionGroups) { networkPartitionIds = networkPartitionIdsString. split(StratosConstants.APPLICATION_POLICY_NETWORK_PARTITIONS_SPLITTER); - if (networkPartitionIds != null) { - networkPartitionGroupsUuid=new String[networkPartitionGroups.length]; + if (networkPartitionIds != null) { for (String networkPartitionId : networkPartitionIds) { // network-partition-id can't be null or empty if (null == networkPartitionId || networkPartitionId.isEmpty()) { @@ -684,58 +611,53 @@ public class AutoscalerUtil { } // network partitions should be added already - NetworkPartition networkPartition= CloudControllerServiceClient.getInstance(). - getNetworkPartitionByTenant(networkPartitionId,applicationPolicy.getTenantId()); - if (null ==networkPartition) { + if (null == CloudControllerServiceClient.getInstance(). + getNetworkPartition(networkPartitionId)) { String msg = String.format("Invalid Application Policy: " + "Network partition not found for " + "[network-partition-id] : %s", networkPartitionId); log.error(msg); throw new InvalidApplicationPolicyException(msg); } - else{ - networkPartitionGroupsUuid[i] =networkPartition.getUuid(); - } } } } // populating network partition groups in application policy - applicationPolicy.setNetworkPartitionGroups(networkPartitionGroupsUuid); + applicationPolicy.setNetworkPartitionGroups(networkPartitionGroups); } } } } } - /** * Validates an application policy against the application * - * @param applicationUuid - * @param applicationPolicyUuid + * @param applicationId + * @param applicationPolicyId * @throws ApplicatioinPolicyNotExistsException * @throws InvalidApplicationPolicyException */ - public static void validateApplicationPolicyAgainstApplication(String applicationUuid, String applicationPolicyUuid) + public static void validateApplicationPolicyAgainstApplication(String applicationId, String applicationPolicyId) throws ApplicatioinPolicyNotExistsException, InvalidApplicationPolicyException { - ApplicationPolicy applicationPolicy = PolicyManager.getInstance().getApplicationPolicyByUuid(applicationPolicyUuid); + ApplicationPolicy applicationPolicy = PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId); if (applicationPolicy == null) { - String msg = String.format("Application Policy not exists for [application-policy-id] %s", applicationPolicyUuid); + String msg = String.format("Application Policy not exists for [application-policy-id] %s", applicationPolicyId); log.error(msg); throw new ApplicatioinPolicyNotExistsException(msg); } - String[] networkPartitionUuids = applicationPolicy.getNetworkPartitionsUuid(); + String[] networkPartitionIds = applicationPolicy.getNetworkPartitions(); - for (String applicationPolicyNetworkPartitionreference : networkPartitionUuids) { - String networkPartitionUuid = applicationPolicyNetworkPartitionreference; + for (String applicationPolicyNetworkPartitionerence : networkPartitionIds) { + String networkPartitionId = applicationPolicyNetworkPartitionerence; // validate application policy against the given application - if (!isAppUsingNetworkPartitionId(applicationUuid, networkPartitionUuid)) { + if (!isAppUsingNetworkPartitionId(applicationId, networkPartitionId)) { String msg = String.format("Invalid Application Policy: " + "Network partition [network-partition-id] %s is not used in application [application-id] %s. " + "Hence application bursting will fail. Either remove %s from application policy or make all the cartridges available in %s", - networkPartitionUuid, applicationUuid, networkPartitionUuid, networkPartitionUuid); + networkPartitionId, applicationId, networkPartitionId, networkPartitionId); log.error(msg); throw new InvalidApplicationPolicyException(msg); } @@ -745,12 +667,12 @@ public class AutoscalerUtil { /** * Validate whether all the deployment policies used in the application are using the same network partitions of Application policy */ - private static boolean isAppUsingNetworkPartitionId(String applicationUuid, String networkPartitionUuid) { - if (applicationUuid == null || StringUtils.isBlank(applicationUuid) - || networkPartitionUuid == null || StringUtils.isBlank(networkPartitionUuid)) { + private static boolean isAppUsingNetworkPartitionId(String applicationId, String networkPartitionId) { + if (applicationId == null || StringUtils.isBlank(applicationId) + || networkPartitionId == null || StringUtils.isBlank(networkPartitionId)) { return false; } - List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.getDeploymentPolicyIdsReferredInApplication(applicationUuid); + List<String> deploymentPolicyIdsReferredInApplication = AutoscalerUtil.getDeploymentPolicyIdsReferredInApplication(applicationId); if (deploymentPolicyIdsReferredInApplication == null) { return false; } @@ -762,8 +684,8 @@ public class AutoscalerUtil { if (deploymentPolicyInApp != null) { for (NetworkPartitionRef networkPartitionOfDeploymentPolicy : deploymentPolicyInApp.getNetworkPartitionRefs()) { if (networkPartitionOfDeploymentPolicy != null) { - if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getUuid(). - equals(networkPartitionUuid)) { + if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getId(). + equals(networkPartitionId)) { referencesOfNetworkPartition++; } } @@ -1033,5 +955,62 @@ public class AutoscalerUtil { private static final AutoscalerUtil INSTANCE = new AutoscalerUtil(); } + private class ApplicationMonitorAdder implements Runnable { + private String applicationId; + + public ApplicationMonitorAdder(String applicationId) { + this.applicationId = applicationId; + } + + public void run() { + long startTime = System.currentTimeMillis(); + long endTime = startTime; + int retries = 5; + boolean success = false; + ApplicationMonitor applicationMonitor = null; + while (!success && retries != 0) { + + try { + startTime = System.currentTimeMillis(); + log.info("Starting monitor: [application] " + applicationId); + try { + applicationMonitor = MonitorFactory.getApplicationMonitor(applicationId); + } catch (PolicyValidationException e) { + String msg = "Monitor creation failed: [application] " + applicationId; + log.warn(msg, e); + retries--; + } + success = true; + endTime = System.currentTimeMillis(); + } catch (DependencyBuilderException e) { + String msg = "Monitor creation failed: [application] " + applicationId; + log.warn(msg, e); + retries--; + } catch (TopologyInConsistentException e) { + String msg = "Monitor creation failed: [application] " + applicationId; + log.warn(msg, e); + retries--; + } + } + + if (applicationMonitor == null) { + String msg = "Monitor creation failed, even after retrying for 5 times: " + + "[application] " + applicationId; + log.error(msg); + throw new RuntimeException(msg); + } + AutoscalerContext autoscalerContext = AutoscalerContext.getInstance(); + autoscalerContext.removeApplicationPendingMonitor(applicationId); + autoscalerContext.removeAppMonitor(applicationId); + autoscalerContext.addAppMonitor(applicationMonitor); + + long startupTime = ((endTime - startTime) / 1000); + if (log.isInfoEnabled()) { + log.info(String.format("Monitor started successfully: [application] %s [dependents] %s " + + "[startup-time] %d seconds", applicationMonitor.getId(), + applicationMonitor.getStartupDependencyTree(), startupTime)); + } + } + } }
http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java index 60b2fae..c676ed1 100644 --- a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java +++ b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/AutoscalerUtilTest.java @@ -19,9 +19,16 @@ package org.apache.stratos.autoscaler; +import org.apache.stratos.autoscaler.applications.pojo.*; +import org.apache.stratos.autoscaler.context.AutoscalerContext; import org.apache.stratos.autoscaler.util.AutoscalerUtil; +import org.apache.stratos.autoscaler.util.ServiceReferenceHolder; +import org.apache.stratos.common.clustering.impl.HazelcastDistributedObjectProvider; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.Assert.assertEquals; /** @@ -69,4 +76,61 @@ public class AutoscalerUtilTest { assertEquals(tenantRange, "*"); } + @Test + public void testRemovalOfAutoscalingPolicy() { + List<CartridgeContext> cartridgeContexts = new ArrayList<CartridgeContext>(); + for (int i = 0; i < 12; i++) { + CartridgeContext cartridgeContext = new CartridgeContext(); + SubscribableInfoContext subscribableContext = new SubscribableInfoContext(); + subscribableContext.setAlias("cart-" + i); + subscribableContext.setDeploymentPolicy("dep-" + i); + subscribableContext.setAutoscalingPolicy("auto-" + i); + cartridgeContext.setSubscribableInfoContext(subscribableContext); + cartridgeContexts.add(cartridgeContext); + } + List<GroupContext> groupContextList = new ArrayList<GroupContext>(); + for (int i = 0; i < 5; i++) { + GroupContext groupContext = new GroupContext(); + groupContext.setAlias("group-" + i); + CartridgeContext[] cartridgeContexts1 = new CartridgeContext[2]; + cartridgeContexts1[0] = cartridgeContexts.get(i); + cartridgeContexts1[1] = cartridgeContexts.get(i + 5); + + groupContext.setCartridgeContexts(cartridgeContexts1); + groupContextList.add(groupContext); + } + + //Application-1 + ApplicationContext applicationContext = new ApplicationContext(); + applicationContext.setApplicationId("application-1"); + ComponentContext componentContext = new ComponentContext(); + CartridgeContext[] cartridgeContexts1 = new CartridgeContext[2]; + cartridgeContexts1[0] = cartridgeContexts.get(10); + cartridgeContexts1[1] = cartridgeContexts.get(11); + componentContext.setCartridgeContexts(cartridgeContexts1); + GroupContext[] groupContexts = new GroupContext[groupContextList.size()]; + componentContext.setGroupContexts(groupContextList.toArray(groupContexts)); + applicationContext.setComponents(componentContext); + + ServiceReferenceHolder holder = ServiceReferenceHolder.getInstance(); + holder.setDistributedObjectProvider(new HazelcastDistributedObjectProvider()); + + AutoscalerContext.getInstance().addApplicationContext(applicationContext); + + + boolean canRemove; + + canRemove = AutoscalerUtil.removableAutoScalerPolicy("test"); + assertEquals(canRemove, true); + + for (int i = 0; i < 12; i++) { + canRemove = AutoscalerUtil.removableAutoScalerPolicy("auto-" + i); + assertEquals(canRemove, false); + + } + } + + public void testRemovalOfDeploymentPolicy() { + + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java index 5ab2ebf..74c5156 100644 --- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java +++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsNotifier.java @@ -51,8 +51,7 @@ public class HealthStatisticsNotifier implements Runnable { File pluginFile = new File(pluginFileName); if ((pluginFile != null) && (pluginFile.exists())) { - List<Class> pluginClass = PluginLoader.loadPluginClassesFromJar(pluginFile, - IHealthStatisticsReader.class); + List<Class> pluginClass = PluginLoader.loadPluginClassesFromJar(pluginFile, IHealthStatisticsReader.class); if (!pluginClass.isEmpty()) { try { log.trace("Instantiating new instance of plugin type " + pluginClass); @@ -64,8 +63,7 @@ public class HealthStatisticsNotifier implements Runnable { } } } else { - log.error("Plugin not found or malformed: " + pluginFileName + ((pluginFile == null) ? " NULL" : - "Doesn't exist")); + log.error("Plugin not found or malformed: " + pluginFileName + ((pluginFile == null) ? " NULL" : "Doesn't exist")); } } if (this.statsReader == null) { @@ -97,7 +95,7 @@ public class HealthStatisticsNotifier implements Runnable { if (log.isDebugEnabled()) { log.debug(String.format("Publishing memory consumption: %f", stats.getMemoryUsage())); } - statsPublisher.publish(System.currentTimeMillis(), + statsPublisher.publish( CartridgeAgentConfiguration.getInstance().getClusterId(), CartridgeAgentConfiguration.getInstance().getClusterInstanceId(), CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), @@ -110,7 +108,7 @@ public class HealthStatisticsNotifier implements Runnable { if (log.isDebugEnabled()) { log.debug(String.format("Publishing load average: %f", stats.getProcessorUsage())); } - statsPublisher.publish(System.currentTimeMillis(), + statsPublisher.publish( CartridgeAgentConfiguration.getInstance().getClusterId(), CartridgeAgentConfiguration.getInstance().getClusterInstanceId(), CartridgeAgentConfiguration.getInstance().getNetworkPartitionId(), http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java b/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java index b5a2be8..7d50672 100644 --- a/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java +++ b/components/org.apache.stratos.cartridge.agent/src/test/java/org/apache/stratos/cartridge/agent/test/JavaCartridgeAgentTest.java @@ -77,9 +77,8 @@ public class JavaCartridgeAgentTest { private static final String PARTITION_ID = "partition-1"; private static final String TENANT_ID = "-1234"; private static final String SERVICE_NAME = "php"; - public static final String AGENT_NAME = "apache-stratos-cartridge-agent-4.1.0-SNAPSHOT"; - private static final String CARTRIDGE_UUID ="uuid" ; - private static HashMap<String, Executor> executorList; + public static final String AGENT_NAME = "apache-stratos-cartridge-agent-4.2.0-SNAPSHOT"; + private static HashMap<String, Executor> executorList; private static ArrayList<ServerSocket> serverSocketList; private final ArtifactUpdatedEvent artifactUpdatedEvent; private final Boolean expectedResult; @@ -250,7 +249,7 @@ public class JavaCartridgeAgentTest { } log.info("Copying agent jar"); - String agentJar = "org.apache.stratos.cartridge.agent-4.1.0-SNAPSHOT.jar"; + String agentJar = "org.apache.stratos.cartridge.agent-4.2.0-SNAPSHOT.jar"; String agentJarSource = getResourcesFolderPath() + "/../" + agentJar; String agentJarDest = agentHome.getCanonicalPath() + "/lib/" + agentJar; FileUtils.copyFile(new File(agentJarSource), new File(agentJarDest)); @@ -443,7 +442,7 @@ public class JavaCartridgeAgentTest { */ private Topology createTestTopology() { Topology topology = new Topology(); - Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant,CARTRIDGE_UUID); + Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant); topology.addService(service); Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME, http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java index 310b4d7..e1800ff 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java @@ -46,7 +46,7 @@ public class PartitionValidatorCallable implements Callable<IaasProvider> { log.debug("Partition validation started for " + partition + " of " + cartridge); } String provider = partition.getProvider(); - IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider(cartridge.getUuid(), provider); + IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider(cartridge.getType(), provider); IaasProvider updatedIaasProvider = CloudControllerServiceUtil.validatePartitionAndGetIaasProvider(partition, iaasProvider); http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java index 787ab5f..964dd73 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java @@ -148,7 +148,7 @@ public class CloudControllerContext implements Serializable { /** * Map of network partitions - * Key - network partition uuid + * Key - network partition id * Value network partition */ private Map<String, NetworkPartition> networkPartitionIDToNetworkPartitionMap; @@ -242,8 +242,8 @@ public class CloudControllerContext implements Serializable { return serviceGroupNameToServiceGroupMap.values(); } - public Cartridge getCartridge(String cartridgeUuid) { - return cartridgeTypeToCartridgeMap.get(cartridgeUuid); + public Cartridge getCartridge(String cartridgeType) { + return cartridgeTypeToCartridgeMap.get(cartridgeType); } private Lock acquireWriteLock(String object) { @@ -283,45 +283,33 @@ public class CloudControllerContext implements Serializable { } public void addCartridge(Cartridge cartridge) { - cartridgeTypeToCartridgeMap.put(cartridge.getUuid(), cartridge); + cartridgeTypeToCartridgeMap.put(cartridge.getType(), cartridge); } public void addNetworkPartition(NetworkPartition networkPartition) { - networkPartitionIDToNetworkPartitionMap.put(networkPartition.getUuid(), networkPartition); + networkPartitionIDToNetworkPartitionMap.put(networkPartition.getId(), networkPartition); } - public NetworkPartition getNetworkPartition(String networkPartitionUuid) { - return networkPartitionIDToNetworkPartitionMap.get(networkPartitionUuid); + public NetworkPartition getNetworkPartition(String networkPartitionID) { + return networkPartitionIDToNetworkPartitionMap.get(networkPartitionID); } public Collection<NetworkPartition> getNetworkPartitions() { return networkPartitionIDToNetworkPartitionMap.values(); } - public void removeNetworkPartition(String networkPartitionUuid) { - networkPartitionIDToNetworkPartitionMap.remove(networkPartitionUuid); + public void removeNetworkPartition(String networkPartitionID) { + networkPartitionIDToNetworkPartitionMap.remove(networkPartitionID); } - public NetworkPartition getNetworkPartitionForTenant(String networkPartitionId, int tenantId) { - NetworkPartition networkPartitionForTenant = null; - for (NetworkPartition networkPartition : getNetworkPartitions()) { - if (networkPartition.getTenantId() == tenantId && networkPartition.getId().equals(networkPartitionId)) { - networkPartitionForTenant = networkPartition; - } - } - return networkPartitionForTenant; - } - - public boolean removeCartridge(String cartridgeUuid) { - if (cartridgeTypeToCartridgeMap.containsKey(cartridgeUuid)) { - cartridgeTypeToCartridgeMap.remove(cartridgeUuid); - return true; + public void removeCartridge(Cartridge cartridge) { + if (cartridgeTypeToCartridgeMap.containsKey(cartridge.getType())) { + cartridgeTypeToCartridgeMap.remove(cartridge.getType()); } - return false; } public void updateCartridge(Cartridge cartridge) { - cartridgeTypeToCartridgeMap.put(cartridge.getUuid(), cartridge); + cartridgeTypeToCartridgeMap.put(cartridge.getType(), cartridge); } public ServiceGroup getServiceGroup(String name) { @@ -493,21 +481,21 @@ public class CloudControllerContext implements Serializable { return executorService; } - public List<String> getPartitionIds(String cartridgeUuid) { - return cartridgeTypeToPartitionIdsMap.get(cartridgeUuid); + public List<String> getPartitionIds(String cartridgeType) { + return cartridgeTypeToPartitionIdsMap.get(cartridgeType); } - public void addToCartridgeTypeToPartitionIdMap(String cartridgeUuid, String partitionId) { - List<String> list = this.cartridgeTypeToPartitionIdsMap.get(cartridgeUuid); + public void addToCartridgeTypeToPartitionIdMap(String cartridgeType, String partitionId) { + List<String> list = this.cartridgeTypeToPartitionIdsMap.get(cartridgeType); if (list == null) { list = new ArrayList<String>(); } list.add(partitionId); - cartridgeTypeToPartitionIdsMap.put(cartridgeUuid, list); + cartridgeTypeToPartitionIdsMap.put(cartridgeType, list); } - public void removeFromCartridgeTypeToPartitionIds(String cartridgeUuid) { - cartridgeTypeToPartitionIdsMap.remove(cartridgeUuid); + public void removeFromCartridgeTypeToPartitionIds(String cartridgeType) { + cartridgeTypeToPartitionIdsMap.remove(cartridgeType); } public KubernetesClusterContext getKubernetesClusterContext(String kubernetesClusterId) { @@ -591,11 +579,11 @@ public class CloudControllerContext implements Serializable { } public void addKubernetesCluster(KubernetesCluster kubernetesCluster) { - kubernetesClustersMap.put(kubernetesCluster.getClusterUuid(), kubernetesCluster); + kubernetesClustersMap.put(kubernetesCluster.getClusterId(), kubernetesCluster); } public void updateKubernetesCluster(KubernetesCluster kubernetesCluster) { - kubernetesClustersMap.put(kubernetesCluster.getClusterUuid(), kubernetesCluster); + kubernetesClustersMap.put(kubernetesCluster.getClusterId(), kubernetesCluster); } public boolean kubernetesClusterExists(KubernetesCluster kubernetesCluster) { @@ -807,12 +795,12 @@ public class CloudControllerContext implements Serializable { } } - public IaasProvider getIaasProviderOfPartition(String cartridgeUuid, String partitionId) { + public IaasProvider getIaasProviderOfPartition(String cartridgeType, String partitionId) { if (log.isDebugEnabled()) { log.debug("Retrieving partition: " + partitionId + " for the Cartridge: " + this.hashCode() + ". " - + "Current Partition List: " + getPartitionToIaasProvider(cartridgeUuid).keySet().toString()); + + "Current Partition List: " + getPartitionToIaasProvider(cartridgeType).keySet().toString()); } - return getPartitionToIaasProvider(cartridgeUuid).get(partitionId); + return getPartitionToIaasProvider(cartridgeType).get(partitionId); } public Map<String, IaasProvider> getPartitionToIaasProvider(String cartridgeType) { @@ -827,8 +815,8 @@ public class CloudControllerContext implements Serializable { this.cartridgeTypeToIaasProviders = cartridgeTypeToIaasProviders; } - public void addIaasProvider(String cartridgeUuid, IaasProvider iaasProvider) { - List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeUuid); + public void addIaasProvider(String cartridgeType, IaasProvider iaasProvider) { + List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeType); if (iaasProviders == null) { iaasProviders = new ArrayList<IaasProvider>(); } @@ -845,11 +833,11 @@ public class CloudControllerContext implements Serializable { // Else, add iaas provider against cartridge type iaasProviders.add(iaasProvider); - cartridgeTypeToIaasProviders.put(cartridgeUuid, iaasProviders); + cartridgeTypeToIaasProviders.put(cartridgeType, iaasProviders); } - public IaasProvider getIaasProvider(String cartridgeUuid, String iaasType) { - List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeUuid); + public IaasProvider getIaasProvider(String cartridgeType, String iaasType) { + List<IaasProvider> iaasProviders = cartridgeTypeToIaasProviders.get(cartridgeType); if (iaasProviders != null) { for (IaasProvider iaasProvider : iaasProviders) { @@ -861,8 +849,8 @@ public class CloudControllerContext implements Serializable { return null; } - public List<IaasProvider> getIaasProviders(String cartridgeUuid) { - List<IaasProvider> iaasProviderList = cartridgeTypeToIaasProviders.get(cartridgeUuid); + public List<IaasProvider> getIaasProviders(String cartridgeType) { + List<IaasProvider> iaasProviderList = cartridgeTypeToIaasProviders.get(cartridgeType); return iaasProviderList; } @@ -896,13 +884,13 @@ public class CloudControllerContext implements Serializable { /** * Get cluster port mappings of an application cluster. - * @param applicationUuid + * @param applicationId * @param clusterId * @return */ - public List<ClusterPortMapping> getClusterPortMappings(String applicationUuid, String clusterId) { + public List<ClusterPortMapping> getClusterPortMappings(String applicationId, String clusterId) { Map<String, List<ClusterPortMapping>> clusterIdToPortMappings = - applicationIdToClusterIdToPortMappings.get(applicationUuid); + applicationIdToClusterIdToPortMappings.get(applicationId); if(clusterIdToPortMappings != null) { return clusterIdToPortMappings.get(clusterId); http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java index ab1459e..a6a1250 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ApplicationClusterContext.java @@ -26,7 +26,7 @@ public class ApplicationClusterContext { // cluster id private String clusterId; // cartridge type - private String cartridgeUuid; + private String cartridgeType; // payload as a String private String textPayload; // host name @@ -59,12 +59,12 @@ public class ApplicationClusterContext { this.clusterId = clusterId; } - public String getCartridgeUuid() { - return cartridgeUuid; + public String getCartridgeType() { + return cartridgeType; } - public void setCartridgeUuid(String cartridgeUuid) { - this.cartridgeUuid = cartridgeUuid; + public void setCartridgeType(String cartridgeType) { + this.cartridgeType = cartridgeType; } public String getTextPayload() { @@ -127,12 +127,12 @@ public class ApplicationClusterContext { ApplicationClusterContext that = (ApplicationClusterContext) other; - return this.cartridgeUuid.equals(that.cartridgeUuid) && + return this.cartridgeType.equals(that.cartridgeType) && this.clusterId.equals(that.clusterId); } public int hashCode() { - return this.cartridgeUuid.hashCode() + this.clusterId.hashCode(); + return this.cartridgeType.hashCode() + this.clusterId.hashCode(); } public Properties getProperties() { http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java index a9fcc11..27b84be 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Cartridge.java @@ -37,7 +37,6 @@ public class Cartridge implements Serializable { private transient static final Log log = LogFactory.getLog(Cartridge.class); private static final long serialVersionUID = 6637409027085059072L; - private String uuid; private String type; private String hostName; private String provider; @@ -53,7 +52,6 @@ public class Cartridge implements Serializable { private AppType[] appTypeMappings; private String loadBalancingIPType; private String[] metadataKeys; - private int tenantId; private boolean isPublic; @@ -307,20 +305,4 @@ public class Cartridge implements Serializable { + ", properties=" + properties + "]"; } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java index a3d6e9f..09b987d 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java @@ -32,9 +32,9 @@ public class ClusterContext implements Serializable { private static final long serialVersionUID = 4830667953031229223L; - private final String applicationUuid; + private final String applicationId; private final String clusterId; - private final String cartridgeUuid; + private final String cartridgeType; private final String payload; private final String hostName; private final boolean isLbCluster; @@ -47,11 +47,11 @@ public class ClusterContext implements Serializable { private List<KubernetesService> kubernetesServices; private String kubernetesClusterId; - public ClusterContext(String applicationUuid, String cartridgeUuid, String clusterId, String payload, String hostName, + public ClusterContext(String applicationId, String cartridgeType, String clusterId, String payload, String hostName, boolean isLbCluster, Properties properties) { - this.applicationUuid = applicationUuid; - this.cartridgeUuid = cartridgeUuid; + this.applicationId = applicationId; + this.cartridgeType = cartridgeType; this.clusterId = clusterId; this.payload = payload; this.hostName = hostName; @@ -59,16 +59,16 @@ public class ClusterContext implements Serializable { this.setProperties(properties); } - public String getApplicationUuid() { - return applicationUuid; + public String getApplicationId() { + return applicationId; } public String getClusterId() { return clusterId; } - public String getCartridgeUuid() { - return cartridgeUuid; + public String getCartridgeType() { + return cartridgeType; } public String getPayload() { http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java index 4dce3aa..85b6179 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java @@ -32,37 +32,13 @@ public class NetworkPartition implements Serializable { private static final long serialVersionUID = -8043298009352097370L; - private String uuid; private String id; - private int tenantId; private String provider; private boolean activeByDefault; private Partition[] partitions; private String partitionAlgo; private Properties properties; - /** - * Gets the local Id of the network partition. - */ - public String getId() { - return id; - } - - /** - * Sets the local Id of the network partition. - */ - public void setId(String id) { - this.id = id; - } - - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } - public void setPartitions(Partition[] partitions) { if (partitions == null) { this.partitions = partitions; @@ -82,17 +58,17 @@ public class NetworkPartition implements Serializable { } /** - * Gets the global Id network partition + * Gets the value of the id. */ - public String getUuid() { - return uuid; + public String getId() { + return id; } /** - * Sets the global Id network partition + * sets the value of the id. */ - public void setUuid(String uuid) { - this.uuid = uuid; + public void setId(String id) { + this.id = id; } public boolean isActiveByDefault() { @@ -105,7 +81,7 @@ public class NetworkPartition implements Serializable { public Partition getPartition(String partitionId) { for (Partition partition : partitions) { - if (partition.getUuid().equals(partitionId)) { + if (partition.getId().equals(partitionId)) { return partition; } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java index 2f23ce4..fc0e0af 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java @@ -36,13 +36,11 @@ public class Partition implements Serializable { * provider should match with an IaasProvider type. */ private String provider; - private String uuid; - private String id; + private String id; private String description; private boolean isPublic; private Properties properties = new Properties(); private int partitionMax; - private int tenantId; /** * Gets the value of the id property. @@ -50,18 +48,18 @@ public class Partition implements Serializable { * @return possible object is * {@link String } */ - public String getUuid() { - return uuid; + public String getId() { + return id; } /** * Sets the value of the id property. * - * @param uuid allowed object is + * @param id allowed object is * {@link String } */ - public void setUuid(String uuid) { - this.uuid = uuid; + public void setId(String id) { + this.id = id; } /** @@ -128,13 +126,13 @@ public class Partition implements Serializable { @Override public String toString() { - return "Partition [id=" + uuid + ", description=" + description + ", isPublic=" + isPublic + return "Partition [id=" + id + ", description=" + description + ", isPublic=" + isPublic + ", provider=" + provider + ", properties=" + properties + "]"; } public boolean equals(Object obj) { if (obj != null && obj instanceof Partition) { - return this.uuid.equals(((Partition) obj).getUuid()); + return this.id.equals(((Partition) obj).getId()); } return false; @@ -142,7 +140,7 @@ public class Partition implements Serializable { @Override public int hashCode() { - return this.uuid.hashCode(); + return this.id.hashCode(); } public int getPartitionMax() { @@ -152,20 +150,4 @@ public class Partition implements Serializable { public void setPartitionMax(int partitionMax) { this.partitionMax = partitionMax; } - - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java index 8c383ff..8730a61 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/kubernetes/KubernetesCluster.java @@ -31,21 +31,19 @@ public class KubernetesCluster implements Serializable { private static final long serialVersionUID = 3210149484906093132L; - private String clusterUuid; - private String clusterId; + private String clusterId; private KubernetesHost[] kubernetesHosts; private KubernetesMaster kubernetesMaster; private PortRange portRange; private String description; - private int tenantId; private Properties properties = new Properties(); - public String getClusterUuid() { - return clusterUuid; + public String getClusterId() { + return clusterId; } - public void setClusterUuid(String clusterUuid) { - this.clusterUuid = clusterUuid; + public void setClusterId(String clusterId) { + this.clusterId = clusterId; } public KubernetesHost[] getKubernetesHosts() { @@ -93,7 +91,7 @@ public class KubernetesCluster implements Serializable { } public String toString() { - return "KubernetesCluster [groupId=" + clusterUuid + + return "KubernetesCluster [groupId=" + clusterId + " , kubernetesHosts=" + Arrays.toString(kubernetesHosts) + " , kubernetesMaster=" + kubernetesMaster + " , portRange=" + portRange + @@ -113,9 +111,9 @@ public class KubernetesCluster implements Serializable { return false; } KubernetesCluster kubernetesClusterObj = (KubernetesCluster) anObject; - if (this.clusterUuid == null || kubernetesClusterObj.getClusterUuid() == null) { + if (this.clusterId == null || kubernetesClusterObj.getClusterId() == null) { return false; - } else if (!this.clusterUuid.equals(kubernetesClusterObj.getClusterUuid())) { + } else if (!this.clusterId.equals(kubernetesClusterObj.getClusterId())) { return false; } @@ -163,27 +161,11 @@ public class KubernetesCluster implements Serializable { final int prime = 31; int result = 1; result = prime * result + ((this.portRange == null) ? 0 : this.portRange.hashCode()); - result = prime * result + ((this.clusterUuid == null) ? 0 : this.clusterUuid.hashCode()); + result = prime * result + ((this.clusterId == null) ? 0 : this.clusterId.hashCode()); result = prime * result + ((this.description == null) ? 0 : this.description.hashCode()); result = prime * result + ((this.kubernetesMaster == null) ? 0 : this.kubernetesMaster.hashCode()); result = prime * result + ((this.kubernetesHosts == null) ? 0 : Arrays.hashCode(this.kubernetesHosts)); result = prime * result + ((this.properties == null) ? 0 : this.properties.hashCode()); return result; } - - public String getClusterId() { - return clusterId; - } - - public void setClusterId(String clusterId) { - this.clusterId = clusterId; - } - - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java index 34286c4..579da5b 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/cloudstack/CloudStackPartitionValidator.java @@ -63,7 +63,7 @@ public class CloudStackPartitionValidator implements PartitionValidator { } } catch (Exception e) { - String msg = "Invalid partition detected: [partition-id] " + partition.getUuid() + e.getMessage(); + String msg = "Invalid partition detected: [partition-id] " + partition.getId() + e.getMessage(); log.error(msg, e); throw new InvalidPartitionException(msg, e); } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java index 7348598..e3a78b6 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2PartitionValidator.java @@ -51,7 +51,7 @@ public class EC2PartitionValidator implements PartitionValidator { if (iaasProvider.getImage() != null && !iaasProvider.getImage().contains(region)) { - String message = "Invalid partition detected, invalid region: [partition-id] " + partition.getUuid() + + String message = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() + " [region] " + region; log.error(message); throw new InvalidPartitionException(message); @@ -79,7 +79,7 @@ public class EC2PartitionValidator implements PartitionValidator { return iaasProvider; } } catch (Exception ex) { - String message = "Invalid partition detected: [partition-id] " + partition.getUuid(); + String message = "Invalid partition detected: [partition-id] " + partition.getId(); log.error(message, ex); throw new InvalidPartitionException(message, ex); } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java index d07aa66..fa1a9b3 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java @@ -108,7 +108,7 @@ public class KubernetesIaas extends Iaas { if (parameterArray != null) { for (String parameter : parameterArray) { if (parameter != null) { - String[] nameValueArray = parameter.split(PAYLOAD_PARAMETER_NAME_VALUE_SEPARATOR); + String[] nameValueArray = parameter.split(PAYLOAD_PARAMETER_NAME_VALUE_SEPARATOR, 2); if ((nameValueArray != null) && (nameValueArray.length == 2)) { NameValuePair nameValuePair = new NameValuePair(nameValueArray[0], nameValueArray[1]); payload.add(nameValuePair); @@ -174,7 +174,7 @@ public class KubernetesIaas extends Iaas { memberContext.getMemberId())); // Validate cartridge - String cartridgeType = clusterContext.getCartridgeUuid(); + String cartridgeType = clusterContext.getCartridgeType(); Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType); if (cartridge == null) { String msg = String.format("Cartridge not found: [application] %s [cartridge] %s", @@ -216,7 +216,7 @@ public class KubernetesIaas extends Iaas { kubernetesPortRange.getLower()); // Generate kubernetes service ports and update port mappings in cartridge - generateKubernetesServicePorts(clusterContext.getApplicationUuid(), clusterContext.getClusterId(), + generateKubernetesServicePorts(clusterContext.getApplicationId(), clusterContext.getClusterId(), kubernetesClusterContext, cartridge); // Create kubernetes services for port mappings @@ -395,9 +395,9 @@ public class KubernetesIaas extends Iaas { memory = Integer.parseInt(memoryProperty.getValue()); } - IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getUuid(), partition.getUuid()); + IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProviderOfPartition(cartridge.getType(), partition.getId()); if (iaasProvider == null) { - String message = "Could not find iaas provider: [partition] " + partition.getUuid(); + String message = "Could not find iaas provider: [partition] " + partition.getId(); log.error(message); throw new RuntimeException(message); } @@ -408,7 +408,7 @@ public class KubernetesIaas extends Iaas { // Create pod long podSeqNo = kubernetesClusterContext.getPodSeqNo().incrementAndGet(); String podId = "pod" + "-" + podSeqNo; - String podLabel = KubernetesIaasUtil.fixSpecialCharacters(clusterId); + String podLabel = DigestUtils.md5Hex(clusterId); String dockerImage = iaasProvider.getImage(); List<EnvVar> environmentVariables = KubernetesIaasUtil.prepareEnvironmentVariables( clusterContext, memberContext); @@ -423,9 +423,9 @@ public class KubernetesIaas extends Iaas { kubernetesApi.createPod(podId, podLabel, dockerImage, cpu, memory, ports, environmentVariables); log.info(String.format("Pod started successfully: [application] %s [cartridge] %s [member] %s " + - "[pod] %s [cpu] %d [memory] %d MB", + "[pod] %s [pod-label] %s [cpu] %d [memory] %d MB", memberContext.getApplicationId(), memberContext.getCartridgeType(), - memberContext.getMemberId(), podId, cpu, memory)); + memberContext.getMemberId(), podId, podLabel, cpu, memory)); // Add pod id to member context memberContext.setKubernetesPodId(podId); @@ -457,7 +457,7 @@ public class KubernetesIaas extends Iaas { throws KubernetesClientException { String clusterId = clusterContext.getClusterId(); - String cartridgeType = clusterContext.getCartridgeUuid(); + String cartridgeType = clusterContext.getCartridgeType(); Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType); if (cartridge == null) { @@ -484,7 +484,7 @@ public class KubernetesIaas extends Iaas { KubernetesHost[] kubernetesHosts = kubernetesCluster.getKubernetesHosts(); if ((kubernetesHosts == null) || (kubernetesHosts.length == 0) || (kubernetesHosts[0] == null)) { throw new RuntimeException("Hosts not found in kubernetes cluster: [cluster] " - + kubernetesCluster.getClusterUuid()); + + kubernetesCluster.getClusterId()); } for (KubernetesHost host : kubernetesHosts) { if (host != null) { @@ -497,7 +497,7 @@ public class KubernetesIaas extends Iaas { } Collection<ClusterPortMapping> clusterPortMappings = CloudControllerContext.getInstance() - .getClusterPortMappings(clusterContext.getApplicationUuid(), clusterId); + .getClusterPortMappings(clusterContext.getApplicationId(), clusterId); if (clusterPortMappings != null) { for (ClusterPortMapping clusterPortMapping : clusterPortMappings) { @@ -658,9 +658,10 @@ public class KubernetesIaas extends Iaas { if (portMappingStrBuilder.toString().length() > 0) { portMappingStrBuilder.append(";"); } - portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d", + portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s", clusterPortMapping.getName(), clusterPortMapping.getProtocol(), - clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort())); + clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort(), + clusterPortMapping.getKubernetesServiceType())); if (log.isInfoEnabled()) { log.info(String.format("Kubernetes service port generated: [application-id] %s " + @@ -687,8 +688,8 @@ public class KubernetesIaas extends Iaas { * @return */ private ClusterPortMapping findClusterPortMapping(Collection<ClusterPortMapping> clusterPortMappings, PortMapping portMapping) { - for(ClusterPortMapping clusterPortMapping : clusterPortMappings) { - if(clusterPortMapping.getName().equals(portMapping.getName())) { + for (ClusterPortMapping clusterPortMapping : clusterPortMappings) { + if (clusterPortMapping.getName().equals(portMapping.getName())) { return clusterPortMapping; } } @@ -912,6 +913,7 @@ public class KubernetesIaas extends Iaas { /** * Remove kubernetes services if available for application cluster. + * * @param applicationId * @param clusterId */ @@ -919,12 +921,12 @@ public class KubernetesIaas extends Iaas { ClusterContext clusterContext = CloudControllerContext.getInstance().getClusterContext(clusterId); - if(clusterContext != null) { + if (clusterContext != null) { String kubernetesClusterId = clusterContext.getKubernetesClusterId(); - if(org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) { KubernetesClusterContext kubernetesClusterContext = CloudControllerContext.getInstance().getKubernetesClusterContext(kubernetesClusterId); - if(kubernetesClusterContext != null) { + if (kubernetesClusterContext != null) { KubernetesApiClient kubernetesApiClient = kubernetesClusterContext.getKubApi(); for (KubernetesService kubernetesService : clusterContext.getKubernetesServices()) { log.info(String.format("Deleting kubernetes service: [application-id] %s " + http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java index 609f237..8eedc88 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesPartitionValidator.java @@ -56,7 +56,7 @@ public class KubernetesPartitionValidator implements PartitionValidator { String kubernetesClusterId = partition.getKubernetesClusterId(); if (StringUtils.isBlank(kubernetesClusterId)) { - String message = "Kubernetes cluster not defined in partition: [partition-id] " + partition.getUuid(); + String message = "Kubernetes cluster not defined in partition: [partition-id] " + partition.getId(); log.error(message); throw new InvalidPartitionException(message); } @@ -65,7 +65,7 @@ public class KubernetesPartitionValidator implements PartitionValidator { CloudControllerContext.getInstance().getKubernetesCluster(kubernetesClusterId); return iaasProvider; } catch (NonExistingKubernetesClusterException e) { - String message = "Kubernetes partition is not valid: [partition-id] " + partition.getUuid(); + String message = "Kubernetes partition is not valid: [partition-id] " + partition.getId(); log.error(message, e); throw new InvalidPartitionException(message, e); } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java index d58bb6f..fb92d27 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/MockIaas.java @@ -62,7 +62,7 @@ public class MockIaas extends Iaas { memberContext.getMemberId(), memberContext.getClusterInstanceId(), memberContext.getNetworkPartitionId(), - memberContext.getPartition().getUuid() + memberContext.getPartition().getId() ); setDynamicPayload(payload); MockInstanceMetadata mockInstanceMetadata = apiClient.startInstance(mockInstanceContext); http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java index 7545b04..a8077b8 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/openstack/OpenstackPartitionValidator.java @@ -52,7 +52,7 @@ public class OpenstackPartitionValidator implements PartitionValidator { if (iaasProvider.getImage() != null && !iaasProvider.getImage().contains(region)) { - String msg = "Invalid partition detected, invalid region: [partition-id] " + partition.getUuid() + + String msg = "Invalid partition detected, invalid region: [partition-id] " + partition.getId() + " [region] " + region; log.error(msg); throw new InvalidPartitionException(msg); @@ -80,7 +80,7 @@ public class OpenstackPartitionValidator implements PartitionValidator { return iaasProvider; } } catch (Exception e) { - String msg = "Invalid partition detected: [partition-id] " + partition.getUuid() + e.getMessage(); + String msg = "Invalid partition detected: [partition-id] " + partition.getId() + e.getMessage(); log.error(msg, e); throw new InvalidPartitionException(msg, e); } http://git-wip-us.apache.org/repos/asf/stratos/blob/4b864473/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java index 3bb9ab5..7225a61 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/publisher/TopologyEventPublisher.java @@ -54,7 +54,7 @@ public class TopologyEventPublisher { for (Cartridge cartridge : cartridgeList) { serviceCreatedEvent = new ServiceCreatedEvent(cartridge.getType(), (cartridge.isMultiTenant() ? ServiceType.MultiTenant - : ServiceType.SingleTenant), cartridge.getUuid()); + : ServiceType.SingleTenant)); // Add ports to the event if (cartridge.getPortMappings() != null) { @@ -78,11 +78,11 @@ public class TopologyEventPublisher { public static void sendServiceRemovedEvent(List<Cartridge> cartridgeList) { ServiceRemovedEvent serviceRemovedEvent; for (Cartridge cartridge : cartridgeList) { - serviceRemovedEvent = new ServiceRemovedEvent(cartridge.getUuid()); + serviceRemovedEvent = new ServiceRemovedEvent(cartridge.getType()); if (log.isInfoEnabled()) { log.info(String.format( "Publishing service removed event: [service-name] %s", - serviceRemovedEvent.getServiceUuid())); + serviceRemovedEvent.getServiceName())); } publishEvent(serviceRemovedEvent); } @@ -128,11 +128,11 @@ public class TopologyEventPublisher { public static void sendClusterRemovedEvent(ClusterContext ctxt, String deploymentPolicy) { ClusterRemovedEvent clusterRemovedEvent = new ClusterRemovedEvent( - ctxt.getCartridgeUuid(), ctxt.getClusterId(), deploymentPolicy, ctxt.isLbCluster()); + ctxt.getCartridgeType(), ctxt.getClusterId(), deploymentPolicy, ctxt.isLbCluster()); if (log.isInfoEnabled()) { log.info(String .format("Publishing cluster removed event: [service-name] %s [cluster-id] %s", - ctxt.getCartridgeUuid(), ctxt.getClusterId())); + ctxt.getCartridgeType(), ctxt.getClusterId())); } publishEvent(clusterRemovedEvent); @@ -146,7 +146,7 @@ public class TopologyEventPublisher { memberContext.getClusterInstanceId(), memberContext.getMemberId(), memberContext.getNetworkPartitionId(), - memberContext.getPartition().getUuid(), + memberContext.getPartition().getId(), memberContext.getLoadBalancingIPType(), memberContext.getInitTime()); @@ -158,7 +158,7 @@ public class TopologyEventPublisher { "[partition-id] %s [lb-cluster-id] %s", memberContext.getCartridgeType(), memberContext.getClusterId(), memberContext.getClusterInstanceId(), memberContext.getMemberId(), memberContext.getClusterInstanceId(), memberContext.getNetworkPartitionId(), - memberContext.getPartition().getUuid(), memberContext.getLbClusterId())); + memberContext.getPartition().getId(), memberContext.getLbClusterId())); publishEvent(memberCreatedEvent); } @@ -171,7 +171,7 @@ public class TopologyEventPublisher { memberContext.getClusterInstanceId(), memberContext.getMemberId(), memberContext.getNetworkPartitionId(), - memberContext.getPartition().getUuid()); + memberContext.getPartition().getId()); memberInitializedEvent.setDefaultPrivateIP(memberContext.getDefaultPrivateIP()); if (memberContext.getPrivateIPs() != null) { @@ -189,7 +189,7 @@ public class TopologyEventPublisher { "[partition-id] %s [lb-cluster-id] %s", memberContext.getCartridgeType(), memberContext.getClusterId(), memberContext.getClusterInstanceId(), memberContext.getMemberId(), memberContext.getInstanceId(), memberContext.getNetworkPartitionId(), - memberContext.getPartition().getUuid(), memberContext.getLbClusterId())); + memberContext.getPartition().getId(), memberContext.getLbClusterId())); publishEvent(memberInitializedEvent); } @@ -286,7 +286,7 @@ public class TopologyEventPublisher { if (log.isInfoEnabled()) { log.info(String.format("Publishing cluster instance created event: [service-name] %s [cluster-id] %s " + " in [network-partition-id] %s [instance-id] %s", - clusterInstanceCreatedEvent.getServiceUuid(), clusterInstanceCreatedEvent.getClusterId(), + clusterInstanceCreatedEvent.getServiceName(), clusterInstanceCreatedEvent.getClusterId(), clusterInstanceCreatedEvent.getNetworkPartitionId(), clusterInstanceCreatedEvent.getClusterInstance().getInstanceId())); }
