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 <[email protected]>
Authored: Wed Dec 3 23:01:58 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
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
 

Reply via email to