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(

Reply via email to