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 ",
