Repository: stratos Updated Branches: refs/heads/master 6af990114 -> 7587568a7
http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java index 5027057..8a21257 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java @@ -168,32 +168,32 @@ public class RuleTasksDelegator { } } - public void delegateSpawn(PartitionContext partitionContext, String clusterId, String instanceId, String lbRefType, boolean isPrimary) { + public void delegateSpawn(ClusterLevelPartitionContext clusterMonitorPartitionContext, String clusterId, String instanceId, String lbRefType, boolean isPrimary) { try { - String nwPartitionId = partitionContext.getNetworkPartitionId(); + String nwPartitionId = clusterMonitorPartitionContext.getNetworkPartitionId(); NetworkPartitionLbHolder lbHolder = PartitionManager.getInstance() .getNetworkPartitionLbHolder(nwPartitionId); - String lbClusterId = getLbClusterId(lbRefType, partitionContext, lbHolder); + String lbClusterId = getLbClusterId(lbRefType, clusterMonitorPartitionContext, lbHolder); //Calculate accumulation of minimum counts of all the partition of current network partition int minimumCountOfNetworkPartition = 0; VMClusterMonitor vmClusterMonitor = (VMClusterMonitor) AutoscalerContext.getInstance().getClusterMonitor(clusterId); - for (PartitionContext partitionContextOfCurrentNetworkPartition : vmClusterMonitor.getNetworkPartitionCtxt(instanceId, nwPartitionId). + for (ClusterLevelPartitionContext partitionContextOfCurrentNetworkClusterMonitorPartition : vmClusterMonitor.getNetworkPartitionCtxt(instanceId, nwPartitionId). getPartitionCtxts().values()) { - minimumCountOfNetworkPartition += partitionContextOfCurrentNetworkPartition.getMinimumMemberCount(); + minimumCountOfNetworkPartition += partitionContextOfCurrentNetworkClusterMonitorPartition.getMinimumMemberCount(); } MemberContext memberContext = CloudControllerClient.getInstance() - .spawnAnInstance(partitionContext.getPartition(), + .spawnAnInstance(clusterMonitorPartitionContext.getPartition(), clusterId, - lbClusterId, partitionContext.getNetworkPartitionId(), + lbClusterId, clusterMonitorPartitionContext.getNetworkPartitionId(), isPrimary, minimumCountOfNetworkPartition); if (memberContext != null) { - partitionContext.addPendingMember(memberContext); + clusterMonitorPartitionContext.addPendingMember(memberContext); if (log.isDebugEnabled()) { log.debug(String.format("Pending member added, [member] %s [partition] %s", memberContext.getMemberId(), memberContext.getPartition().getId())); @@ -260,7 +260,7 @@ public class RuleTasksDelegator { }*/ - public static String getLbClusterId(String lbRefType, PartitionContext partitionCtxt, + public static String getLbClusterId(String lbRefType, ClusterLevelPartitionContext partitionCtxt, NetworkPartitionLbHolder networkPartitionLbHolder) { String lbClusterId = null; @@ -285,25 +285,25 @@ public class RuleTasksDelegator { return lbClusterId; } - public void delegateTerminate(PartitionContext partitionContext, String memberId) { + public void delegateTerminate(ClusterLevelPartitionContext clusterMonitorPartitionContext, String memberId) { log.info("Starting to terminate Member [ " + memberId + " ], in Partition [ " + - partitionContext.getPartitionId() + " ], NW Partition [ " + - partitionContext.getNetworkPartitionId() + " ]"); + clusterMonitorPartitionContext.getPartitionId() + " ], NW Partition [ " + + clusterMonitorPartitionContext.getNetworkPartitionId() + " ]"); try { //Moving member to pending termination list - if (partitionContext.activeMemberAvailable(memberId)) { - partitionContext.moveActiveMemberToTerminationPendingMembers(memberId); - } else if (partitionContext.pendingMemberAvailable(memberId)) { - partitionContext.movePendingMemberToObsoleteMembers(memberId); + if (clusterMonitorPartitionContext.activeMemberAvailable(memberId)) { + clusterMonitorPartitionContext.moveActiveMemberToTerminationPendingMembers(memberId); + } else if (clusterMonitorPartitionContext.pendingMemberAvailable(memberId)) { + clusterMonitorPartitionContext.movePendingMemberToObsoleteMembers(memberId); } } catch (Throwable e) { log.error("Cannot terminate instance", e); } } - public void delegateTerminateDependency(PartitionContext partitionContext, String memberId) { + public void delegateTerminateDependency(ClusterLevelPartitionContext clusterMonitorPartitionContext, String memberId) { try { //calling SM to send the instance notification event. if (log.isDebugEnabled()) { @@ -449,8 +449,8 @@ public class RuleTasksDelegator { double loadAveragePredicted = 0.0d; int totalMemberCount = 0; - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - for (MemberStatsContext memberStatsContext : partitionContext.getMemberStatsContexts().values()) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + for (MemberStatsContext memberStatsContext : clusterMonitorPartitionContext.getMemberStatsContexts().values()) { float memberAverageLoadAverage = memberStatsContext.getLoadAverage().getAverage(); float memberGredientLoadAverage = memberStatsContext.getLoadAverage().getGradient(); @@ -477,8 +477,8 @@ public class RuleTasksDelegator { double memoryConsumptionPredicted = 0.0d; int totalMemberCount = 0; - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - for (MemberStatsContext memberStatsContext : partitionContext.getMemberStatsContexts().values()) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + for (MemberStatsContext memberStatsContext : clusterMonitorPartitionContext.getMemberStatsContexts().values()) { float memberMemoryConsumptionAverage = memberStatsContext.getMemoryConsumption().getAverage(); float memberMemoryConsumptionGredient = memberStatsContext.getMemoryConsumption().getGradient(); http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java index 9a0bc7b..d4d0a2e 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/StatusChecker.java @@ -21,8 +21,8 @@ package org.apache.stratos.autoscaler.status.processor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.AutoscalerContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionContext; -import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.applications.ApplicationHolder; import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder; import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher; @@ -174,10 +174,10 @@ public class StatusChecker { boolean clusterActive = false; for (NetworkPartitionContext networkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) { //minimum check per partition - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - if (partitionContext.getMinimumMemberCount() == partitionContext.getActiveMemberCount()) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + if (clusterMonitorPartitionContext.getMinimumMemberCount() == clusterMonitorPartitionContext.getActiveMemberCount()) { clusterActive = true; - } else if (partitionContext.getActiveMemberCount() > partitionContext.getMinimumMemberCount()) { + } else if (clusterMonitorPartitionContext.getActiveMemberCount() > clusterMonitorPartitionContext.getMinimumMemberCount()) { log.info("cluster already activated..."); clusterActive = true; } else { @@ -198,8 +198,8 @@ public class StatusChecker { boolean hasMember = false; for (NetworkPartitionContext networkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) { //minimum check per partition - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - if (partitionContext.getNonTerminatedMemberCount() > 0) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + if (clusterMonitorPartitionContext.getNonTerminatedMemberCount() > 0) { hasMember = true; } else { hasMember = false; @@ -262,7 +262,7 @@ public class StatusChecker { private boolean getClusterInactive(VMClusterMonitor monitor, String partitionId) { boolean clusterInActive = false; for (NetworkPartitionContext networkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) { - for (PartitionContext partition : networkPartitionContext.getPartitionCtxts().values()) { + for (ClusterLevelPartitionContext partition : networkPartitionContext.getPartitionCtxts().values()) { if (partitionId.equals(partition.getPartitionId()) && partition.getActiveMemberCount() <= partition.getMinimumMemberCount()) { clusterInActive = true; http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java index c59bc31..4d4cb03 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusActiveProcessor.java @@ -21,8 +21,8 @@ package org.apache.stratos.autoscaler.status.processor.cluster; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.AutoscalerContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionContext; -import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher; import org.apache.stratos.autoscaler.monitor.cluster.VMClusterMonitor; import org.apache.stratos.autoscaler.status.processor.StatusProcessor; @@ -67,10 +67,10 @@ public class ClusterStatusActiveProcessor extends ClusterStatusProcessor { boolean clusterActive = false; for (NetworkPartitionContext networkPartitionContext : monitor.getNetworkPartitionCtxts(instanceId).values()) { //minimum check per partition - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - if (partitionContext.getMinimumMemberCount() == partitionContext.getActiveMemberCount()) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + if (clusterMonitorPartitionContext.getMinimumMemberCount() == clusterMonitorPartitionContext.getActiveMemberCount()) { clusterActive = true; - } else if (partitionContext.getActiveMemberCount() > partitionContext.getMinimumMemberCount()) { + } else if (clusterMonitorPartitionContext.getActiveMemberCount() > clusterMonitorPartitionContext.getMinimumMemberCount()) { log.info("cluster already activated..."); clusterActive = true; } else { http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusInActiveProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusInActiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusInActiveProcessor.java index 1fc5292..6728371 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusInActiveProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusInActiveProcessor.java @@ -21,8 +21,8 @@ package org.apache.stratos.autoscaler.status.processor.cluster; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.AutoscalerContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionContext; -import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher; import org.apache.stratos.autoscaler.monitor.cluster.VMClusterMonitor; import org.apache.stratos.autoscaler.status.processor.StatusProcessor; @@ -92,7 +92,7 @@ public class ClusterStatusInActiveProcessor extends ClusterStatusProcessor { private boolean getClusterInactive(VMClusterMonitor monitor) { boolean clusterInActive = false; for (NetworkPartitionContext networkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) { - for (PartitionContext partition : networkPartitionContext.getPartitionCtxts().values()) { + for (ClusterLevelPartitionContext partition : networkPartitionContext.getPartitionCtxts().values()) { if (partition.getActiveMemberCount() <= partition.getMinimumMemberCount()) { clusterInActive = true; return clusterInActive; http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java index faee4e1..7da0012 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/cluster/ClusterStatusTerminatedProcessor.java @@ -21,8 +21,8 @@ package org.apache.stratos.autoscaler.status.processor.cluster; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.AutoscalerContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.NetworkPartitionContext; -import org.apache.stratos.autoscaler.PartitionContext; import org.apache.stratos.autoscaler.applications.ApplicationHolder; import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher; import org.apache.stratos.autoscaler.monitor.cluster.VMClusterMonitor; @@ -122,8 +122,8 @@ public class ClusterStatusTerminatedProcessor extends ClusterStatusProcessor { boolean hasMember = false; for (NetworkPartitionContext networkPartitionContext : monitor.getAllNetworkPartitionCtxts().values()) { //minimum check per partition - for (PartitionContext partitionContext : networkPartitionContext.getPartitionCtxts().values()) { - if (partitionContext.getNonTerminatedMemberCount() > 0) { + for (ClusterLevelPartitionContext clusterMonitorPartitionContext : networkPartitionContext.getPartitionCtxts().values()) { + if (clusterMonitorPartitionContext.getNonTerminatedMemberCount() > 0) { hasMember = true; } else { hasMember = false; http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestMinimumRule.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestMinimumRule.java b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestMinimumRule.java index 98449c0..c58cef6 100644 --- a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestMinimumRule.java +++ b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestMinimumRule.java @@ -78,7 +78,7 @@ public class TestMinimumRule { ksession = kbase.newStatefulKnowledgeSession(); ksession.setGlobal("clusterId", "lb.cluster.1"); ksession.setGlobal("lbRef", null); - PartitionContext p = new PartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); + ClusterLevelPartitionContext p = new ClusterLevelPartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); p.setPendingMembers(new ArrayList<MemberContext>()); p.setMinimumMemberCount(1); ksession.insert(p); http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestObsoletedMemberRule.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestObsoletedMemberRule.java b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestObsoletedMemberRule.java index a7af2a6..5597426 100644 --- a/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestObsoletedMemberRule.java +++ b/components/org.apache.stratos.autoscaler/src/test/java/org/apache/stratos/autoscaler/TestObsoletedMemberRule.java @@ -34,9 +34,7 @@ import org.drools.runtime.rule.FactHandle; import org.junit.Before; import org.junit.Test; -import java.util.ArrayList; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; @@ -83,7 +81,7 @@ public class TestObsoletedMemberRule { throw new IllegalArgumentException("Knowledge base is null."); } ksession = kbase.newStatefulKnowledgeSession(); - PartitionContext p = new PartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); + ClusterLevelPartitionContext p = new ClusterLevelPartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); p.setObsoletedMembers(new ConcurrentHashMap<String, MemberContext>()); String memberId = "member1"; MemberContext ctxt1 = new MemberContext(); @@ -115,7 +113,7 @@ public class TestObsoletedMemberRule { } ksession = kbase.newStatefulKnowledgeSession(); - PartitionContext p = new PartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); + ClusterLevelPartitionContext p = new ClusterLevelPartitionContext(conf.getLong("autoscaler.member.expiryTimeout", 900000)); p.setObsoletedMembers(new ConcurrentHashMap<String, MemberContext>()); String memberId1 = "member1"; String memberId2 = "member2"; http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl index a10eccb..b370721 100644 --- a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl +++ b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl @@ -32,7 +32,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.commons.logging.Log; @@ -57,7 +57,7 @@ import function org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.deleg rule "Minimum Rule" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval($ctxt.getCurrentMemberCount() < $ctxt.getMinimumMemberCount()) then http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/test/resources/test-minimum-autoscaler-rule.drl ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/resources/test-minimum-autoscaler-rule.drl b/components/org.apache.stratos.autoscaler/src/test/resources/test-minimum-autoscaler-rule.drl index 0bc5284..ea57cae 100644 --- a/components/org.apache.stratos.autoscaler/src/test/resources/test-minimum-autoscaler-rule.drl +++ b/components/org.apache.stratos.autoscaler/src/test/resources/test-minimum-autoscaler-rule.drl @@ -31,7 +31,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.commons.logging.Log; @@ -54,7 +54,7 @@ import function org.apache.stratos.autoscaler.TestDelegator.setMinRuleFired; rule "Minimum Rule" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval($ctxt.getTotalMemberCount() < $ctxt.getMinimumMemberCount()) then http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/components/org.apache.stratos.autoscaler/src/test/resources/test-terminating-obsoleted-members-rule.drl ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/resources/test-terminating-obsoleted-members-rule.drl b/components/org.apache.stratos.autoscaler/src/test/resources/test-terminating-obsoleted-members-rule.drl index 5e6829a..b4af9ad 100644 --- a/components/org.apache.stratos.autoscaler/src/test/resources/test-terminating-obsoleted-members-rule.drl +++ b/components/org.apache.stratos.autoscaler/src/test/resources/test-terminating-obsoleted-members-rule.drl @@ -31,7 +31,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.commons.logging.Log; @@ -54,7 +54,7 @@ import function org.apache.stratos.autoscaler.TestDelegator.addObsoleteMember; rule "Terminate Obsoleted Instances" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval($ctxt.getObsoletedMembers().keySet().size() > 0) memberId : String() from $ctxt.getObsoletedMembers().keySet() memCtxt : MemberContext() from $ctxt.getObsoletedMembers().get(memberId) http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl index 6a1300e..62d2fb8 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl @@ -31,7 +31,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.stratos.autoscaler.partition.PartitionGroup; import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl index 8ff3bc1..7bcc789 100755 --- a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl @@ -31,7 +31,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.commons.logging.Log; @@ -55,7 +55,7 @@ global Integer primaryMemberCount; rule "Minimum Rule" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval(log.debug("Running minimum rule: [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId())) eval(log.debug("[min-check] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() + " Non terminated member count: " + $ctxt.getNonTerminatedMemberCount())) eval(log.debug("[min-check] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() + " Minimum member count: " + $ctxt.getMinimumMemberCount())) http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/obsoletecheck.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/obsoletecheck.drl b/products/stratos/modules/distribution/src/main/conf/drools/obsoletecheck.drl index 81120d3..ba90499 100755 --- a/products/stratos/modules/distribution/src/main/conf/drools/obsoletecheck.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/obsoletecheck.drl @@ -31,7 +31,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.commons.logging.Log; @@ -54,7 +54,7 @@ global Integer primaryMemberCount; rule "Terminate Obsoleted Instances" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval(log.debug("Running obsolete instances rule: [partition] " + $ctxt.getPartitionId() + " [network-partition] " + $ctxt.getNetworkPartitionId())) eval(log.debug("[obsolete-check] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() +" Obsolete member count: " + $ctxt.getObsoletedMembers().size())) eval($ctxt.getObsoletedMembers().keySet().size() > 0) @@ -67,7 +67,7 @@ end rule "Cleanup Instances which are pending termination" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval(log.debug("Running instances cleanup event sender rule: [partition] " + $ctxt.getPartitionId() + " [network-partition] " + $ctxt.getNetworkPartitionId())) eval(log.debug("[instance-cleanup-check] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() +" Pending termination member count: " + $ctxt.getTerminationPendingMembers().size())) eval($ctxt.getTerminationPendingMembers().size() > 0) http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl index 40a4fee..4a8927f 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl @@ -36,7 +36,7 @@ import org.apache.stratos.autoscaler.client.CloudControllerClient; import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm; import org.apache.stratos.autoscaler.algorithm.OneAfterAnother; import org.apache.stratos.autoscaler.algorithm.RoundRobin; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.stratos.autoscaler.partition.PartitionGroup; import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition; @@ -158,14 +158,14 @@ dialect "mvel" if(partition != null){ log.info("[scale-down] Partition available to scale down "); log.debug("[scale-down] " + " [partition] " + partition.getId() + " [cluster] " + clusterId); - partitionContext = networkPartitionContext.getPartitionCtxt(partition.getId()); + clusterMonitorPartitionContext = networkPartitionContext.getPartitionCtxt(partition.getId()); // In partition context member stat context, all the primary members need to be // avoided being selected as the member to terminated - for(MemberStatsContext memberStatsContext: partitionContext.getMemberStatsContexts().values()){ + for(MemberStatsContext memberStatsContext: clusterMonitorPartitionContext.getMemberStatsContexts().values()){ if( !primaryMembers.contains(memberStatsContext.getMemberId()) ) { @@ -207,7 +207,7 @@ dialect "mvel" log.debug("[scale-down] " + " [partition] " + partition.getId() + " [cluster] " + clusterId + " Member with lowest overall load: " + selectedMemberStatsContext.getMemberId()); - delegator.delegateTerminate(partitionContext, selectedMemberStatsContext.getMemberId()); + delegator.delegateTerminate(clusterMonitorPartitionContext, selectedMemberStatsContext.getMemberId()); } } } else{ http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/terminateall.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/terminateall.drl b/products/stratos/modules/distribution/src/main/conf/drools/terminateall.drl index 75c26fc..42c5827 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/terminateall.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/terminateall.drl @@ -20,7 +20,7 @@ package org.apache.stratos.autoscaler.rule; import org.apache.stratos.messaging.domain.topology.Cluster; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; global org.apache.stratos.autoscaler.rule.RuleLog log; global org.apache.stratos.autoscaler.rule.RuleTasksDelegator $delegator; @@ -29,7 +29,7 @@ rule "Terminate all Rule" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval(log.debug("Running terminate all rule: [partition] " + $ctxt.getPartitionId() + " [network-partition] " + $ctxt.getNetworkPartitionId())) eval(log.debug("[terminate all] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() +" Member count: " + $ctxt.getMemberStatsContexts().size())) eval($ctxt.getMemberStatsContexts().size() > 0) http://git-wip-us.apache.org/repos/asf/stratos/blob/a19c5a80/products/stratos/modules/distribution/src/main/conf/drools/terminatedependency.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/terminatedependency.drl b/products/stratos/modules/distribution/src/main/conf/drools/terminatedependency.drl index 9ea243c..681f938 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/terminatedependency.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/terminatedependency.drl @@ -20,7 +20,7 @@ package org.apache.stratos.autoscaler.rule; import org.apache.stratos.messaging.domain.topology.Cluster; -import org.apache.stratos.autoscaler.PartitionContext; +import org.apache.stratos.autoscaler.ClusterLevelPartitionContext; global org.apache.stratos.autoscaler.rule.RuleLog log; global org.apache.stratos.autoscaler.rule.RuleTasksDelegator $delegator; @@ -35,7 +35,7 @@ rule "Terminate Dependency Rule" dialect "mvel" when - $ctxt : PartitionContext () + $ctxt : ClusterLevelPartitionContext () eval(log.debug("Running terminate dependency rule: [partition] " + $ctxt.getPartitionId() + " [network-partition] " + $ctxt.getNetworkPartitionId())) eval(log.debug("[terminate dependency] [network-partition] " + $ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() +" Member count: " + $ctxt.getMemberStatsContexts().size())) eval(log.debug("Grouping ... in terminatedependency rule terminating all members " + $ctxt.getAllMemberForTerminationCount()))
