Repository: stratos Updated Branches: refs/heads/master b5f992b73 -> 33e901b15
Adding new drools file and cluster monitor changes for new AutoscalerRuleEvaluator Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/33e901b1 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/33e901b1 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/33e901b1 Branch: refs/heads/master Commit: 33e901b151ea59cd9d7f96b48a32c02fb0e8ed7e Parents: 6cda475 Author: Lahiru Sandaruwan <[email protected]> Authored: Wed Dec 3 20:05:52 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Wed Dec 3 20:06:00 2014 +0530 ---------------------------------------------------------------------- .../monitor/cluster/AbstractClusterMonitor.java | 18 ++++++++++++++---- .../cluster/KubernetesServiceClusterMonitor.java | 11 ++++------- .../monitor/cluster/VMClusterMonitor.java | 15 +++++---------- .../monitor/cluster/VMLbClusterMonitor.java | 2 +- .../common/constants/StratosConstants.java | 1 + 5 files changed, 25 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java index 3afda6f..6f5c714 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java @@ -30,6 +30,7 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorScalingEvent; import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.stratos.common.Properties; +import org.apache.stratos.common.constants.StratosConstants; import org.apache.stratos.messaging.domain.applications.Application; import org.apache.stratos.messaging.domain.applications.ApplicationStatus; import org.apache.stratos.messaging.domain.applications.Group; @@ -83,10 +84,19 @@ public abstract class AbstractClusterMonitor extends Monitor implements Runnable this.monitoringStarted = new AtomicBoolean(false); //this.clusterContext = abstractClusterContext; //this.instanceIdToClusterContextMap = new HashMap<String, AbstractClusterContext>(); - this.obsoleteCheckKnowledgeSession = autoscalerRuleEvaluator.getObsoleteCheckStatefulSession(); - this.scaleCheckKnowledgeSession = autoscalerRuleEvaluator.getScaleCheckStatefulSession(); - this.minCheckKnowledgeSession = autoscalerRuleEvaluator.getMinCheckStatefulSession(); - this.dependentScaleCheckKnowledgeSession = autoscalerRuleEvaluator.getMinCheckStatefulSession(); + autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE); + autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_SCALE_CHECK_DROOL_FILE); + autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.VM_MIN_CHECK_DROOL_FILE); + autoscalerRuleEvaluator.parseAndBuildKnowledgeBaseForDroolsFile(StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE); + + this.obsoleteCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession( + StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE); + this.scaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession( + StratosConstants.VM_SCALE_CHECK_DROOL_FILE); + this.minCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession( + StratosConstants.VM_MIN_CHECK_DROOL_FILE); + this.dependentScaleCheckKnowledgeSession = autoscalerRuleEvaluator.getStatefulSession( + StratosConstants.DEPENDENT_SCALE_CHECK_DROOL_FILE); this.status = ClusterStatus.Created; } http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java index 7fabbec..f4fd0b7 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/KubernetesServiceClusterMonitor.java @@ -47,10 +47,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni public KubernetesServiceClusterMonitor(String serviceType, String clusterId) { super(serviceType, clusterId, - new AutoscalerRuleEvaluator( - StratosConstants.CONTAINER_MIN_CHECK_DROOL_FILE, - StratosConstants.CONTAINER_OBSOLETE_CHECK_DROOL_FILE, - StratosConstants.CONTAINER_SCALE_CHECK_DROOL_FILE)); + new AutoscalerRuleEvaluator()); readConfigurations(); } @@ -114,7 +111,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni log.debug(String.format( "Running scale check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId())); } - scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck( + scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate( getScaleCheckKnowledgeSession(), scaleCheckFactHandle, getKubernetesClusterCtxt()); getKubernetesClusterCtxt().setRifReset(false); getKubernetesClusterCtxt().setMemoryConsumptionReset(false); @@ -137,7 +134,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni log.debug(String.format( "Running min check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId())); } - minCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck( + minCheckFactHandle = AutoscalerRuleEvaluator.evaluate( getMinCheckKnowledgeSession(), minCheckFactHandle, getKubernetesClusterCtxt()); } @@ -149,7 +146,7 @@ public final class KubernetesServiceClusterMonitor extends KubernetesClusterMoni log.debug(String.format( "Running obsolete check for [kub-cluster] : %s [cluster] : %s ", kubernetesClusterID, getClusterId())); } - obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck( + obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate( getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle, getKubernetesClusterCtxt()); } http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/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 e55377b..3763c94 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 @@ -35,7 +35,6 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent; import org.apache.stratos.autoscaler.monitor.events.builder.MonitorStatusEventBuilder; import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator; import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusTerminatedProcessor; -import org.apache.stratos.autoscaler.util.StatusChecker; import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusActiveProcessor; import org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusInActiveProcessor; import org.apache.stratos.autoscaler.util.AutoScalerConstants; @@ -45,7 +44,6 @@ import org.apache.stratos.autoscaler.util.ServiceReferenceHolder; import org.apache.stratos.cloud.controller.stub.domain.MemberContext; import org.apache.stratos.common.Properties; import org.apache.stratos.common.Property; -import org.apache.stratos.common.constants.StratosConstants; import org.apache.stratos.messaging.domain.applications.ApplicationStatus; import org.apache.stratos.messaging.domain.applications.GroupStatus; import org.apache.stratos.messaging.domain.topology.Cluster; @@ -70,10 +68,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor { private float scalingFactorBasedOnDependencies = 1.0f; protected VMClusterMonitor(String serviceType, String clusterId) { - super(serviceType, clusterId, new AutoscalerRuleEvaluator( - StratosConstants.VM_MIN_CHECK_DROOL_FILE, - StratosConstants.VM_OBSOLETE_CHECK_DROOL_FILE, - StratosConstants.VM_SCALE_CHECK_DROOL_FILE)); + super(serviceType, clusterId, new AutoscalerRuleEvaluator()); this.networkPartitionIdToClusterLevelNetworkPartitionCtxts = new HashMap<String, ClusterLevelNetworkPartitionContext>(); readConfigurations(); @@ -218,10 +213,10 @@ public class VMClusterMonitor extends AbstractClusterMonitor { instanceContext.getId())); } - minCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck(getMinCheckKnowledgeSession(), + minCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getMinCheckKnowledgeSession(), minCheckFactHandle, instanceContext); - obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluateObsoleteCheck( + obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate( getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle, instanceContext); //checking the status of the cluster @@ -257,7 +252,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor { log.debug(" Primary members : " + primaryMemberListInClusterInstance); } - scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession() + scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getScaleCheckKnowledgeSession() , scaleCheckFactHandle, instanceContext); instanceContext.setRifReset(false); @@ -376,7 +371,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor { getDependentScaleCheckKnowledgeSession().setGlobal("instanceRoundingFactor", vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor()); - dependentScaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(getScaleCheckKnowledgeSession() + dependentScaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getScaleCheckKnowledgeSession() , scaleCheckFactHandle, clusterLevelNetworkPartitionContext); } http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java index 370a2a3..a69d3bd 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMLbClusterMonitor.java @@ -105,7 +105,7 @@ // } // // minCheckFactHandle = -// AutoscalerRuleEvaluator.evaluateMinCheck(getMinCheckKnowledgeSession(), +// AutoscalerRuleEvaluator.evaluate(getMinCheckKnowledgeSession(), // minCheckFactHandle, // partitionContext); // obsoleteCheckFactHandle = http://git-wip-us.apache.org/repos/asf/stratos/blob/33e901b1/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java index 38e91af..36a0f20 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java @@ -158,6 +158,7 @@ public class StratosConstants { public static final String DROOLS_DIR_NAME = "drools"; public static final String CONTAINER_SCALE_CHECK_DROOL_FILE = "container-scaling.drl"; public static final String VM_SCALE_CHECK_DROOL_FILE = "scaling.drl"; + public static final String DEPENDENT_SCALE_CHECK_DROOL_FILE = "dependent-scaling.drl"; public static final String CONTAINER_MIN_CHECK_DROOL_FILE = "container-mincheck.drl"; public static final String VM_MIN_CHECK_DROOL_FILE = "mincheck.drl"; public static final String CONTAINER_OBSOLETE_CHECK_DROOL_FILE = "container-obsoletecheck.drl";
