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";

Reply via email to