Repository: stratos Updated Branches: refs/heads/master 4ebb9d899 -> db533ddf3
Inject cluster instance to min check rule Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/db533ddf Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/db533ddf Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/db533ddf Branch: refs/heads/master Commit: db533ddf3d9dc290b058ce0dcca73dc983483950 Parents: 4ebb9d8 Author: Lahiru Sandaruwan <[email protected]> Authored: Tue Dec 2 11:53:33 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Tue Dec 2 11:53:40 2014 +0530 ---------------------------------------------------------------------- .../monitor/cluster/VMClusterMonitor.java | 98 ++++++++++---------- 1 file changed, 50 insertions(+), 48 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/db533ddf/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 d902b7e..2a0e5c8 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 @@ -177,10 +177,10 @@ public class VMClusterMonitor extends AbstractClusterMonitor { getClusterInstanceContextMap().values()) { //FIXME to check the status of the instance if (true) { + // store primary members in the partition context + List<String> primaryMemberListInPartition = new ArrayList<String>(); for (ClusterLevelPartitionContext partitionContext : instanceContext.getPartitionCtxts()) { - // store primary members in the partition context - List<String> primaryMemberListInPartition = new ArrayList<String>(); // get active primary members in this partition context for (MemberContext memberContext : partitionContext.getActiveMembers()) { if (isPrimaryMember(memberContext)) { @@ -194,68 +194,70 @@ public class VMClusterMonitor extends AbstractClusterMonitor { primaryMemberListInPartition.add(memberContext.getMemberId()); } } - primaryMemberListInNetworkPartition.addAll(primaryMemberListInPartition); - getMinCheckKnowledgeSession().setGlobal("clusterId", getClusterId()); + } + + primaryMemberListInNetworkPartition.addAll(primaryMemberListInPartition); + getMinCheckKnowledgeSession().setGlobal("clusterId", getClusterId()); // getMinCheckKnowledgeSession().setGlobal("lbRef", lbReferenceType); - getMinCheckKnowledgeSession().setGlobal("isPrimary", hasPrimary); - getMinCheckKnowledgeSession().setGlobal("instanceId", - instanceContext.getId()); + getMinCheckKnowledgeSession().setGlobal("isPrimary", hasPrimary); + getMinCheckKnowledgeSession().setGlobal("instanceId", + instanceContext.getId()); - if (log.isDebugEnabled()) { - log.debug(String.format("Running minimum check for partition %s ", - partitionContext.getPartitionId())); - } + if (log.isDebugEnabled()) { + log.debug(String.format("Running minimum check for cluster instance %s ", + instanceContext.getId())); + } - minCheckFactHandle = AutoscalerRuleEvaluator. - evaluateMinCheck(getMinCheckKnowledgeSession() - , minCheckFactHandle, partitionContext); + minCheckFactHandle = AutoscalerRuleEvaluator. + evaluateMinCheck(getMinCheckKnowledgeSession() + , minCheckFactHandle, instanceContext); - obsoleteCheckFactHandle = AutoscalerRuleEvaluator. - evaluateObsoleteCheck(getObsoleteCheckKnowledgeSession(), - obsoleteCheckFactHandle, partitionContext); + obsoleteCheckFactHandle = AutoscalerRuleEvaluator. + evaluateObsoleteCheck(getObsoleteCheckKnowledgeSession(), + obsoleteCheckFactHandle, instanceContext); - //checking the status of the cluster + //checking the status of the cluster - boolean rifReset = instanceContext.isRifReset(); - boolean memoryConsumptionReset = instanceContext.isMemoryConsumptionReset(); - boolean loadAverageReset = instanceContext.isLoadAverageReset(); + boolean rifReset = instanceContext.isRifReset(); + boolean memoryConsumptionReset = instanceContext.isMemoryConsumptionReset(); + boolean loadAverageReset = instanceContext.isLoadAverageReset(); - if (log.isDebugEnabled()) { - log.debug("flag of rifReset: " + rifReset + " flag of memoryConsumptionReset" + memoryConsumptionReset - + " flag of loadAverageReset" + loadAverageReset); - } - if (rifReset || memoryConsumptionReset || loadAverageReset) { + if (log.isDebugEnabled()) { + log.debug("flag of rifReset: " + rifReset + " flag of memoryConsumptionReset" + memoryConsumptionReset + + " flag of loadAverageReset" + loadAverageReset); + } + if (rifReset || memoryConsumptionReset || loadAverageReset) { - VMClusterContext vmClusterContext = (VMClusterContext) clusterContext; + VMClusterContext vmClusterContext = (VMClusterContext) clusterContext; - getScaleCheckKnowledgeSession().setGlobal("instance", instanceContext); - getScaleCheckKnowledgeSession().setGlobal("clusterId", getClusterId()); - getScaleCheckKnowledgeSession().setGlobal("autoscalePolicy", vmClusterContext.getAutoscalePolicy()); - getScaleCheckKnowledgeSession().setGlobal("rifReset", rifReset); - getScaleCheckKnowledgeSession().setGlobal("mcReset", memoryConsumptionReset); - getScaleCheckKnowledgeSession().setGlobal("laReset", loadAverageReset); + getScaleCheckKnowledgeSession().setGlobal("instance", instanceContext); + getScaleCheckKnowledgeSession().setGlobal("clusterId", getClusterId()); + getScaleCheckKnowledgeSession().setGlobal("autoscalePolicy", vmClusterContext.getAutoscalePolicy()); + getScaleCheckKnowledgeSession().setGlobal("rifReset", rifReset); + getScaleCheckKnowledgeSession().setGlobal("mcReset", memoryConsumptionReset); + getScaleCheckKnowledgeSession().setGlobal("laReset", loadAverageReset); // getScaleCheckKnowledgeSession().setGlobal("lbRef", lbReferenceType); - getScaleCheckKnowledgeSession().setGlobal("isPrimary", false); - getScaleCheckKnowledgeSession().setGlobal("primaryMembers", primaryMemberListInNetworkPartition); + getScaleCheckKnowledgeSession().setGlobal("isPrimary", false); + getScaleCheckKnowledgeSession().setGlobal("primaryMembers", primaryMemberListInNetworkPartition); - if (log.isDebugEnabled()) { - log.debug(String.format("Running scale check for network partition %s ", networkPartitionContext.getId())); - log.debug(" Primary members : " + primaryMemberListInNetworkPartition); - } + if (log.isDebugEnabled()) { + log.debug(String.format("Running scale check for network partition %s ", networkPartitionContext.getId())); + log.debug(" Primary members : " + primaryMemberListInNetworkPartition); + } - scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession() - , scaleCheckFactHandle, networkPartitionContext); + scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession() + , scaleCheckFactHandle, networkPartitionContext); - instanceContext.setRifReset(false); - instanceContext.setMemoryConsumptionReset(false); - instanceContext.setLoadAverageReset(false); - } else if (log.isDebugEnabled()) { - log.debug(String.format("Scale rule will not run since the LB statistics have not received before this " + - "cycle for network partition %s", networkPartitionContext.getId())); - } + instanceContext.setRifReset(false); + instanceContext.setMemoryConsumptionReset(false); + instanceContext.setLoadAverageReset(false); + } else if (log.isDebugEnabled()) { + log.debug(String.format("Scale rule will not run since the LB statistics have not received before this " + + "cycle for network partition %s", networkPartitionContext.getId())); } + } } }
