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 <[email protected]>
Authored: Tue Dec 2 15:39:13 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
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 ",

Reply via email to