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

[2/2] stratos git commit: Passing required parameters for minimum rule

Passing required parameters for minimum rule


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

Branch: refs/heads/master
Commit: 269cad9e025a7bbdcf2e3c63e776436e85ef3b47
Parents: c378404
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Dec 2 15:39:13 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Dec 2 15:39:13 2014 +0530

----------------------------------------------------------------------
 .../context/cluster/ClusterInstanceContext.java    | 17 ++++++++++++++++-
 .../context/cluster/VMClusterContext.java          |  4 ++--
 .../monitor/cluster/VMClusterMonitor.java          |  6 +++---
 3 files changed, 21 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/269cad9e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
index 1f7ff85..f25e9b5 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
@@ -68,10 +68,13 @@ public class ClusterInstanceContext extends InstanceContext {
     private int currentPartitionIndex;
     private ChildLevelPartition[] partitions;
 
+    private String networkPartitionId;
+
     public ClusterInstanceContext(String clusterInstanceId, String partitionAlgo, ChildLevelPartition[] partitions,
-                                  int min) {
+                                  int min, String networkPartitionId) {
 
         super(clusterInstanceId);
+        this.networkPartitionId = networkPartitionId;
         this.setMinMembers(min);
         if (partitions == null) {
             this.partitions = new ChildLevelPartition[0];
@@ -146,7 +149,15 @@ public class ClusterInstanceContext extends InstanceContext {
         }
         return null;
     }
+    public  int getNonTerminatedMemberCount(){
+
+        int nonTerminatedMemberCount = 0;
+        for(ClusterLevelPartitionContext partitionContext : partitionCtxts){
 
+            nonTerminatedMemberCount += partitionContext.getNonTerminatedMemberCount();
+        }
+        return nonTerminatedMemberCount;
+    }
 
     public int getMinInstanceCount() {
         return minInstanceCount;
@@ -450,4 +461,8 @@ public class ClusterInstanceContext extends InstanceContext {
     public void setMinMembers(int minMembers) {
         this.minMembers = minMembers;
     }
+
+    public String getNetworkPartitionId() {
+        return networkPartitionId;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/269cad9e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
index 8cae493..3de6306 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/VMClusterContext.java
@@ -199,7 +199,7 @@ public class VMClusterContext extends AbstractClusterContext {
         if (clusterInstanceContext == null) {
             clusterInstanceContext = new ClusterInstanceContext(instance.getInstanceId(),
                     networkPartition.getPartitionAlgo(),
-                    networkPartition.getChildLevelPartitions(), networkPartition.getMin());
+                    networkPartition.getChildLevelPartitions(), networkPartition.getMin(), networkPartitionId);
         }
 
         for (ChildLevelPartition partition : networkPartition.getChildLevelPartitions()) {
@@ -287,7 +287,7 @@ public class VMClusterContext extends AbstractClusterContext {
         if (clusterInstanceContext == null) {
             clusterInstanceContext = new ClusterInstanceContext(clusterInstance.getInstanceId(),
                     networkPartition.getPartitionAlgo(),
-                    networkPartition.getChildLevelPartitions(), networkPartition.getMin());
+                    networkPartition.getChildLevelPartitions(), networkPartition.getMin(), networkPartition.getId());
         }
         clusterInstanceContext.addPartitionCtxt(clusterLevelPartitionContext);
         clusterLevelNetworkPartitionContext.addClusterInstanceContext(clusterInstanceContext);

http://git-wip-us.apache.org/repos/asf/stratos/blob/269cad9e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
index 735ae4e..6ecffc9 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
@@ -185,14 +185,14 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
 
                             for (ClusterLevelPartitionContext partitionContext : instanceContext.getPartitionCtxts()) {
 
-                                // get active primary members in this partition context
+                                // get active primary members in this cluster instance context
                                 for (MemberContext memberContext : partitionContext.getActiveMembers()) {
                                     if (isPrimaryMember(memberContext)) {
                                         primaryMemberListInClusterInstance.add(memberContext.getMemberId());
                                     }
                                 }
 
-                                // get pending primary members in this partition context
+                                // get pending primary members in this cluster instance context
                                 for (MemberContext memberContext : partitionContext.getPendingMembers()) {
                                     if (isPrimaryMember(memberContext)) {
                                         primaryMemberListInClusterInstance.add(memberContext.getMemberId());
@@ -202,7 +202,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
 
                             getMinCheckKnowledgeSession().setGlobal("clusterId", getClusterId());
                             getMinCheckKnowledgeSession().setGlobal("isPrimary", hasPrimary);
-                            getMinCheckKnowledgeSession().setGlobal("instanceId", instanceContext.getId());
+                            getMinCheckKnowledgeSession().setGlobal("algorithmName", networkPartitionContext.getPartitionAlgorithm());
 
                             if (log.isDebugEnabled()) {
                                 log.debug(String.format("Running minimum check for cluster instance %s ",