modifying network partitions to use uuid
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/3402fba9 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/3402fba9 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/3402fba9 Branch: refs/heads/tenantisolation Commit: 3402fba99be9a2cbe609611b7a2ef975e88712c3 Parents: 96545c5 Author: Dinithi <[email protected]> Authored: Mon Jul 6 10:08:53 2015 +0530 Committer: Dinithi <[email protected]> Committed: Mon Jul 6 10:08:53 2015 +0530 ---------------------------------------------------------------------- .../context/cluster/ClusterContext.java | 8 ++++---- .../autoscaler/monitor/MonitorFactory.java | 6 ++---- .../monitor/component/GroupMonitor.java | 5 ++--- .../policy/deployment/DeploymentPolicy.java | 2 +- .../services/impl/AutoscalerServiceImpl.java | 21 +++++++++++++------- .../stratos/autoscaler/util/AutoscalerUtil.java | 6 +++--- .../context/CloudControllerContext.java | 2 +- .../NetworkPartitionReferenceBean.java | 9 +++++++++ .../common/partition/NetworkPartitionRef.java | 9 +++++++++ .../util/converter/ObjectConverter.java | 1 + 10 files changed, 46 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java index f7f2fc6..c090804 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java @@ -129,7 +129,7 @@ public class ClusterContext extends AbstractClusterContext { NetworkPartitionRef networkPartition = null; if (networkPartitions != null && networkPartitions.length != 0) { for (NetworkPartitionRef i : networkPartitions) { - if (i.getId().equals(clusterInstance.getNetworkPartitionId())) { + if (i.getUuid().equals(clusterInstance.getNetworkPartitionId())) { networkPartition = i; } } @@ -140,7 +140,7 @@ public class ClusterContext extends AbstractClusterContext { networkPartitionContext = new ClusterLevelNetworkPartitionContext( clusterInstance.getNetworkPartitionId()); } else { - networkPartitionContext = new ClusterLevelNetworkPartitionContext(networkPartition.getId(), + networkPartitionContext = new ClusterLevelNetworkPartitionContext(networkPartition.getUuid(), networkPartition.getPartitionAlgo(), 0); } } @@ -185,7 +185,7 @@ public class ClusterContext extends AbstractClusterContext { PartitionRef[] partitions = null; if (networkPartitions != null && networkPartitions.length != 0) { for (NetworkPartitionRef networkPartitionRef : networkPartitions) { - if (networkPartitionRef.getId().equals( + if (networkPartitionRef.getUuid().equals( clusterLevelNetworkPartitionContext.getId())) { partitions = networkPartitionRef.getPartitionRefs(); } @@ -204,7 +204,7 @@ public class ClusterContext extends AbstractClusterContext { NetworkPartitionRef networkPartitionRef = null; if (networkPartitions != null && networkPartitions.length != 0) { for (NetworkPartitionRef networkPartition2 : networkPartitions) { - if (networkPartition2.getId().equals( + if (networkPartition2.getUuid().equals( clusterInstance.getNetworkPartitionId())) { networkPartitionRef = networkPartition2; } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java index 0ceac21..ea04ab9 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java @@ -42,8 +42,6 @@ import org.apache.stratos.common.partition.PartitionRef; import org.apache.stratos.messaging.domain.application.Application; import org.apache.stratos.messaging.domain.application.Group; import org.apache.stratos.messaging.domain.application.ScalingDependentList; -import org.apache.stratos.messaging.domain.instance.ClusterInstance; -import org.apache.stratos.messaging.domain.instance.GroupInstance; import org.apache.stratos.messaging.domain.instance.Instance; import org.apache.stratos.messaging.domain.topology.Cluster; import org.apache.stratos.messaging.domain.topology.Service; @@ -266,11 +264,11 @@ public class MonitorFactory { CloudControllerServiceClient.getInstance(). validateNetworkPartitionOfDeploymentPolicy(serviceName, - networkPartitionRef.getId()); + networkPartitionRef.getUuid()); } catch (Exception e) { String msg = String.format("Error while validating deployment policy " + "from cloud controller [network-partition-id] %s", - networkPartitionRef.getId()); + networkPartitionRef.getUuid()); log.error(msg, e); throw new RuntimeException(msg, e); } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java index 7ef8ce4..2c7383c 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java @@ -22,7 +22,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.algorithms.PartitionAlgorithm; import org.apache.stratos.autoscaler.applications.ApplicationHolder; -import org.apache.stratos.autoscaler.applications.dependency.context.ApplicationChildContext; import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder; import org.apache.stratos.autoscaler.context.AutoscalerContext; import org.apache.stratos.autoscaler.context.InstanceContext; @@ -704,7 +703,7 @@ public class GroupMonitor extends ParentComponentMonitor { NetworkPartitionRef[] networkPartitions = deploymentPolicy.getNetworkPartitionRefs(); NetworkPartitionRef networkPartition = null; for (NetworkPartitionRef networkPartition1 : networkPartitions) { - if (networkPartition1.getId().equals(networkPartitionId)) { + if (networkPartition1.getUuid().equals(networkPartitionId)) { networkPartition = networkPartition1; } } @@ -764,7 +763,7 @@ public class GroupMonitor extends ParentComponentMonitor { NetworkPartitionRef networkPartitionRef = null; if (networkPartitions != null && networkPartitions.length != 0) { for (NetworkPartitionRef i : networkPartitions) { - if (i.getId().equals(networkPartitionId)) { + if (i.getUuid().equals(networkPartitionId)) { networkPartitionRef = i; } } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java index c28b300..8c33ee7 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/DeploymentPolicy.java @@ -96,7 +96,7 @@ public class DeploymentPolicy implements Serializable { public PartitionRef[] getPartitionsByNetworkPartitionId(String networkPartitionId) { if (networkPartitionRefs != null) { for (NetworkPartitionRef networkPartitionRef : networkPartitionRefs) { - if (networkPartitionRef.getId().equals(networkPartitionId)) { + if (networkPartitionRef.getUuid().equals(networkPartitionId)) { return networkPartitionRef.getPartitionRefs(); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java index 960dc29..eeede04 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java @@ -1124,12 +1124,19 @@ public class AutoscalerServiceImpl implements AutoscalerService { } // network partitions should be already added - NetworkPartition networkPartition = CloudControllerServiceClient.getInstance() - .getNetworkPartition(networkPartitionId); + NetworkPartition[] networkPartitions = CloudControllerServiceClient.getInstance().getNetworkPartitions(); + NetworkPartition networkPartitionForTenant = null; + if (networkPartitions != null) { + for (NetworkPartition networkPartition : networkPartitions) { + if (deploymentPolicy.getTenantId() == networkPartition.getTenantId()) { + networkPartitionForTenant = networkPartition; + } + } + } - if (networkPartition == null || (deploymentPolicy.getTenantId() != networkPartition.getTenantId())) { + if (networkPartitionForTenant == null) { String msg = String.format("Network partition is not found: [deployment-policy-uuid] %s " + - "[deployment-policy-id] %s [network-partition-id] %s", deploymentPolicyUuid, + "[deployment-policy-id] %s [network-partition-id] %s", deploymentPolicyUuid, deploymentPolicyId, networkPartitionId); log.error(msg); throw new InvalidDeploymentPolicyException(msg); @@ -1140,7 +1147,7 @@ public class AutoscalerServiceImpl implements AutoscalerService { String partitionId = partitionRef.getId(); boolean isPartitionFound = false; - for (Partition partition : networkPartition.getPartitions()) { + for (Partition partition : networkPartitionForTenant.getPartitions()) { if (partition.getId().equals(partitionId)) { isPartitionFound = true; } @@ -1223,7 +1230,7 @@ public class AutoscalerServiceImpl implements AutoscalerService { if (deploymentPolicy.getUuid().equals(clusterMonitor.getDeploymentPolicyId())) { for (NetworkPartitionRef networkPartition : deploymentPolicy.getNetworkPartitionRefs()) { ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext - = clusterMonitor.getClusterContext().getNetworkPartitionCtxt(networkPartition.getId()); + = clusterMonitor.getClusterContext().getNetworkPartitionCtxt(networkPartition.getUuid()); try { addNewPartitionsToClusterMonitor(clusterLevelNetworkPartitionContext, networkPartition, @@ -1303,7 +1310,7 @@ public class AutoscalerServiceImpl implements AutoscalerService { //It has found that this partition which is in deployment policy/network partition is new ClusterLevelPartitionContext clusterLevelPartitionContext = new ClusterLevelPartitionContext( - partition, networkPartitionRef.getId(), deploymentPolicyID); + partition, networkPartitionRef.getUuid(), deploymentPolicyID); validationOfNetworkPartitionRequired = true; clusterInstanceContext.addPartitionCtxt(clusterLevelPartitionContext); } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/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 8efdd1c..155d687 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 @@ -402,8 +402,8 @@ public class AutoscalerUtil { if (deploymentPolicy != null) { for (NetworkPartitionRef networkPartition : deploymentPolicy.getNetworkPartitionRefs()) { if (networkPartition != null) { - if (!networkPartitionIds.contains(networkPartition.getId())) { - networkPartitionIds.add(networkPartition.getId()); + if (!networkPartitionIds.contains(networkPartition.getUuid())) { + networkPartitionIds.add(networkPartition.getUuid()); } } } @@ -770,7 +770,7 @@ public class AutoscalerUtil { if (deploymentPolicyInApp != null) { for (NetworkPartitionRef networkPartitionOfDeploymentPolicy : deploymentPolicyInApp.getNetworkPartitionRefs()) { if (networkPartitionOfDeploymentPolicy != null) { - if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getId(). + if (networkPartitionOfDeploymentPolicy != null && networkPartitionOfDeploymentPolicy.getUuid(). equals(networkPartitionId)) { referencesOfNetworkPartition++; } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/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 708a24b..b223167 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 @@ -287,7 +287,7 @@ public class CloudControllerContext implements Serializable { } public void addNetworkPartition(NetworkPartition networkPartition) { - networkPartitionIDToNetworkPartitionMap.put(networkPartition.getId(), networkPartition); + networkPartitionIDToNetworkPartitionMap.put(networkPartition.getUuid(), networkPartition); } public NetworkPartition getNetworkPartition(String networkPartitionID) { http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java index c593ee4..4aa587d 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java @@ -26,6 +26,7 @@ import java.util.List; public class NetworkPartitionReferenceBean { private String id; + private String uuid; private String provider; private List<PartitionReferenceBean> partitions; private String partitionAlgo; @@ -38,6 +39,14 @@ public class NetworkPartitionReferenceBean { this.id = id; } + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<PartitionReferenceBean> getPartitions() { return partitions; } http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/partition/NetworkPartitionRef.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/partition/NetworkPartitionRef.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/partition/NetworkPartitionRef.java index 00df0a5..d801ace 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/partition/NetworkPartitionRef.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/partition/NetworkPartitionRef.java @@ -30,6 +30,7 @@ public class NetworkPartitionRef implements Serializable { private static final long serialVersionUID = -8043298009352097370L; private String id; + private String uuid; private PartitionRef[] partitionRefs; private String partitionAlgo; @@ -65,6 +66,14 @@ public class NetworkPartitionRef implements Serializable { this.id = id; } + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + public PartitionRef getPartitionRef(String partitionId) { for (PartitionRef partitionRef : partitionRefs) { if (partitionRef.getId().equals(partitionId)) { http://git-wip-us.apache.org/repos/asf/stratos/blob/3402fba9/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java index 139c5be..9c00e21 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java @@ -2129,6 +2129,7 @@ public class ObjectConverter { for (NetworkPartitionReferenceBean networkPartitionReferenceBean : networkPartitionReferenceBeans) { NetworkPartitionRef networkPartitionRef = new NetworkPartitionRef(); networkPartitionRef.setId(networkPartitionReferenceBean.getId()); + networkPartitionRef.setUuid(networkPartitionReferenceBean.getUuid()); networkPartitionRef.setPartitionAlgo(networkPartitionReferenceBean.getPartitionAlgo()); if (networkPartitionReferenceBean.getPartitions() != null) { networkPartitionRef.setPartitionRefs(convertToASStubPartitions(
