You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/06 11:36:04 UTC

[1/2] stratos git commit: fixing cluster instance creation issue and adding partitionId, networkPartitionId to cluster instance

Repository: stratos
Updated Branches:
  refs/heads/master 0b18914f1 -> bebed8056


fixing cluster instance creation issue and adding partitionId, networkPartitionId to cluster instance


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/7392207e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/7392207e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/7392207e

Branch: refs/heads/master
Commit: 7392207e784d2e1073f6077ad6cf280582d29465
Parents: 0b18914
Author: reka <rt...@gmail.com>
Authored: Sat Dec 6 15:00:40 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Sat Dec 6 15:00:40 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/monitor/MonitorFactory.java      | 10 ++++----
 .../messaging/topology/TopologyBuilder.java     | 10 ++++----
 .../topology/ClusterInstanceCreatedEvent.java   | 25 +++++++-------------
 .../ClusterInstanceCreatedMessageProcessor.java | 15 +++++++-----
 4 files changed, 29 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7392207e/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 964ff01..643710d 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
@@ -296,12 +296,12 @@ public class MonitorFactory {
             }
 
             for (String parentInstanceId : parentInstanceIds) {
-                Instance instance = parentMonitor.getInstance(parentInstanceId);
+                Instance parentMonitorInstance = parentMonitor.getInstance(parentInstanceId);
                 String partitionId = null;
-                if (instance instanceof GroupInstance) {
-                    partitionId = ((GroupInstance) instance).getPartitionId();
+                if (parentMonitorInstance instanceof GroupInstance) {
+                    partitionId = parentMonitorInstance.getPartitionId();
                 }
-                if (instance != null) {
+                if (parentMonitorInstance != null) {
                     ClusterInstance clusterInstance = cluster.getInstanceContexts(parentInstanceId);
                     if (clusterInstance != null) {
                         if (cluster.isKubernetesCluster()) {
@@ -326,7 +326,7 @@ public class MonitorFactory {
                         createClusterInstance(cluster.getServiceName(),
                                 clusterId, null,
                                 parentInstanceId, partitionId,
-                                instance.getNetworkPartitionId());
+                                parentMonitorInstance.getNetworkPartitionId());
                     }
 
                 } else {

http://git-wip-us.apache.org/repos/asf/stratos/blob/7392207e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index 6e2637d..33b0ab6 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -292,13 +292,15 @@ public class TopologyBuilder {
                 return;
             }
 
-            //context.setStatus(ClusterStatus.Created);
-            cluster.addInstanceContext(instanceId, new ClusterInstance(alias, clusterId, instanceId));
+            ClusterInstance clusterInstance = new ClusterInstance(alias, clusterId, instanceId);
+            clusterInstance.setNetworkPartitionId(networkPartitionId);
+            clusterInstance.setPartitionId(partitionId);
+            cluster.addInstanceContext(instanceId, clusterInstance);
             TopologyManager.updateTopology(topology);
 
             ClusterInstanceCreatedEvent clusterInstanceCreatedEvent =
-                    new ClusterInstanceCreatedEvent(alias, serviceType, clusterId,
-                            instanceId, networkPartitionId);
+                    new ClusterInstanceCreatedEvent(serviceType, clusterId,
+                            clusterInstance);
             clusterInstanceCreatedEvent.setPartitionId(partitionId);
             TopologyEventPublisher.sendClusterInstanceCreatedEvent(clusterInstanceCreatedEvent);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/7392207e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
index 58055e0..928119f 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/ClusterInstanceCreatedEvent.java
@@ -18,6 +18,7 @@
  */
 package org.apache.stratos.messaging.event.topology;
 
+import org.apache.stratos.messaging.domain.instance.ClusterInstance;
 import org.apache.stratos.messaging.event.Event;
 
 /**
@@ -27,20 +28,16 @@ public class ClusterInstanceCreatedEvent extends Event {
 
     private final String serviceName;
     private final String clusterId;
-    private String instanceId;
-    private String alias;
     private String partitionId;
     private String networkPartitionId;
+    private ClusterInstance clusterInstance;
 
 
-    public ClusterInstanceCreatedEvent(String alias, String serviceName, String clusterId,
-                                       String instanceId, String networkPartitionId) {
+    public ClusterInstanceCreatedEvent(String serviceName, String clusterId,
+                                       ClusterInstance clusterInstance) {
         this.serviceName = serviceName;
         this.clusterId = clusterId;
-        this.instanceId = instanceId;
-        this.alias = alias;
-        this.setNetworkPartitionId(networkPartitionId);
-
+        this.clusterInstance = clusterInstance;
     }
 
     public String getServiceName() {
@@ -57,14 +54,6 @@ public class ClusterInstanceCreatedEvent extends Event {
         return clusterId;
     }
 
-    public String getInstanceId() {
-        return instanceId;
-    }
-
-    public String getAlias() {
-        return alias;
-    }
-
     public String getPartitionId() {
         return partitionId;
     }
@@ -80,4 +69,8 @@ public class ClusterInstanceCreatedEvent extends Event {
     public void setNetworkPartitionId(String networkPartitionId) {
         this.networkPartitionId = networkPartitionId;
     }
+
+    public ClusterInstance getClusterInstance() {
+        return clusterInstance;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/7392207e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
index a0bf735..bb52d42 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceCreatedMessageProcessor.java
@@ -115,12 +115,15 @@ public class ClusterInstanceCreatedMessageProcessor extends MessageProcessor {
             }
         } else {
             // Apply changes to the topology
-            ClusterInstance context = new ClusterInstance(event.getAlias(),
-                                                                        event.getClusterId(),
-                                                                        event.getInstanceId());
-            context.setNetworkPartitionId(event.getNetworkPartitionId());
-            context.setPartitionId(event.getPartitionId());
-            cluster.addInstanceContext(event.getInstanceId(), context);
+            ClusterInstance clusterInstance = event.getClusterInstance();
+            if(cluster.getInstanceContexts(clusterInstance.getInstanceId()) != null) {
+                if (log.isDebugEnabled()) {
+                    log.debug(String.format("Cluster Instance already exists in service: " +
+                                    "[service] %s [cluster] %s [Instance] %s", event.getServiceName(),
+                            event.getClusterId(), clusterInstance.getInstanceId()));
+                }
+            }
+            cluster.addInstanceContext(clusterInstance.getInstanceId(), clusterInstance);
         }
         // Notify event listeners
         notifyEventListeners(event);


[2/2] stratos git commit: fixing cluster instance issue

Posted by re...@apache.org.
fixing cluster instance issue


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/bebed805
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/bebed805
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/bebed805

Branch: refs/heads/master
Commit: bebed80565b0c374d84715776676e7449c138bb5
Parents: 7392207
Author: reka <rt...@gmail.com>
Authored: Sat Dec 6 15:11:07 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Sat Dec 6 15:11:07 2014 +0530

----------------------------------------------------------------------
 .../topology/AutoscalerTopologyEventReceiver.java   | 16 ++++++----------
 .../messaging/topology/TopologyEventPublisher.java  |  2 +-
 2 files changed, 7 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/bebed805/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
index e007a3f..3cf6d81 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java
@@ -419,7 +419,9 @@ public class AutoscalerTopologyEventReceiver {
                        (ClusterInstanceCreatedEvent) event;
                AbstractClusterMonitor clusterMonitor = AutoscalerContext.getInstance().
                        getClusterMonitor(clusterInstanceCreatedEvent.getClusterId());
-               String instanceId = ((ClusterInstanceCreatedEvent) event).getInstanceId();
+               ClusterInstance clusterInstance = ((ClusterInstanceCreatedEvent) event).
+                                                    getClusterInstance();
+               String instanceId = clusterInstance.getInstanceId();
                //FIXME to take lock when clusterMonitor is running
                if (clusterMonitor != null) {
                    TopologyManager.acquireReadLockForCluster(clusterInstanceCreatedEvent.getServiceName(),
@@ -450,16 +452,10 @@ public class AutoscalerTopologyEventReceiver {
                                        }
                                        clusterContext.addInstanceContext(instanceId, cluster);
                                        if (clusterMonitor.getInstance(instanceId) == null) {
-                                           ClusterInstance clusterInstance = cluster.
+                                           //adding the same instance in topology to monitor as a reference
+                                           ClusterInstance clusterInstance1 = cluster.
                                                    getInstanceContexts(instanceId);
-                                           ClusterInstance instance = new ClusterInstance(clusterInstance.getAlias(),
-                                                   cluster.getClusterId(),
-                                                   clusterInstance.getInstanceId());
-                                           instance.setParentId(clusterInstance.getParentId());
-                                           instance.setNetworkPartitionId(clusterInstance.getNetworkPartitionId());
-                                           instance.setPartitionId(clusterInstance.getPartitionId());
-                                           instance.setStatus(clusterInstance.getStatus());
-                                           clusterMonitor.addInstance(instance);
+                                           clusterMonitor.addInstance(clusterInstance1);
                                        }
 
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/bebed805/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyEventPublisher.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyEventPublisher.java
index 2965a6f..4f28ea5 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyEventPublisher.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyEventPublisher.java
@@ -256,7 +256,7 @@ public class TopologyEventPublisher {
                             " in [network partition] %s [instance-id] %s",
                     clusterInstanceCreatedEvent.getServiceName(), clusterInstanceCreatedEvent.getClusterId(),
                     clusterInstanceCreatedEvent.getNetworkPartitionId(),
-                    clusterInstanceCreatedEvent.getInstanceId()));
+                    clusterInstanceCreatedEvent.getClusterInstance().getInstanceId()));
         }
         publishEvent(clusterInstanceCreatedEvent);
     }