You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2014/12/03 18:30:21 UTC
stratos git commit: Adding cluster instance context and setting
global variables for dependent-scaling.drl
Repository: stratos
Updated Branches:
refs/heads/master 76fdcfcbb -> 1a395ec83
Adding cluster instance context and setting global variables for dependent-scaling.drl
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1a395ec8
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1a395ec8
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1a395ec8
Branch: refs/heads/master
Commit: 1a395ec83a4f9e91db5aad40ced69457b6bc8589
Parents: 76fdcfc
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Wed Dec 3 23:01:58 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Wed Dec 3 23:01:58 2014 +0530
----------------------------------------------------------------------
.../autoscaler/monitor/cluster/VMClusterMonitor.java | 12 +++++-------
.../src/main/conf/drools/dependent-scaling.drl | 4 ++++
2 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/1a395ec8/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 9e8ff93..7910d43 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
@@ -373,23 +373,21 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
VMClusterContext vmClusterContext = (VMClusterContext) clusterContext;
String instanceId = scalingEvent.getInstanceId();
- ClusterInstanceContext clusterLevelNetworkPartitionContext =
+ ClusterInstanceContext clusterInstanceContext =
getClusterInstanceContext(scalingEvent.getNetworkPartitionId(), instanceId);
//TODO get min instance count from instance context
- float requiredInstanceCount = 0;/* = clusterLevelNetworkPartitionContext.getMinInstanceCount() * scalingFactorBasedOnDependencies;*/
+ float requiredInstanceCount = clusterInstanceContext.getMinInstanceCount() * scalingFactorBasedOnDependencies;
int roundedRequiredInstanceCount = getRoundedInstanceCount(requiredInstanceCount,
vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor());
- clusterLevelNetworkPartitionContext.setRequiredInstanceCountBasedOnDependencies(roundedRequiredInstanceCount);
+ clusterInstanceContext.setRequiredInstanceCountBasedOnDependencies(roundedRequiredInstanceCount);
getDependentScaleCheckKnowledgeSession().setGlobal("clusterId", getClusterId());
- getDependentScaleCheckKnowledgeSession().setGlobal("scalingFactor", scalingFactorBasedOnDependencies);
- getDependentScaleCheckKnowledgeSession().setGlobal("instanceRoundingFactor",
- vmClusterContext.getAutoscalePolicy().getInstanceRoundingFactor());
+ getDependentScaleCheckKnowledgeSession().setGlobal("roundedRequiredInstanceCount", roundedRequiredInstanceCount);
dependentScaleCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getScaleCheckKnowledgeSession()
- , scaleCheckFactHandle, clusterLevelNetworkPartitionContext);
+ , scaleCheckFactHandle, clusterInstanceContext);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1a395ec8/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 da87ac5..92fc981 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
@@ -19,13 +19,17 @@
package org.apache.stratos.autoscaler.rule;
+import org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
global org.apache.stratos.autoscaler.rule.RuleLog log;
+global java.lang.String clusterId;
+global Integer roundedRequiredInstanceCount;
rule "Dependent Scaling Rule"
dialect "mvel"
when
+ clusterInstanceContext : ClusterInstanceContext ()
then