Repository: stratos
Updated Branches:
  refs/heads/master fe7ee8454 -> 269cad9e0


Updating minimum check to run against cluster instance and select partition


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/c3784042
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/c3784042
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/c3784042

Branch: refs/heads/master
Commit: c3784042f3c0d3393c1e2c3026a511f4c7fdf6b3
Parents: fe7ee84
Author: Lahiru Sandaruwan <[email protected]>
Authored: Tue Dec 2 15:37:07 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Tue Dec 2 15:37:07 2014 +0530

----------------------------------------------------------------------
 .../src/main/conf/drools/mincheck.drl           | 40 ++++++++++++--------
 1 file changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c3784042/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 234b81a..13bf794 100755
--- a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
@@ -39,31 +39,39 @@ import 
org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
 import 
org.apache.stratos.autoscaler.pojo.policy.deployment.partition.network.NetworkPartition;
 import org.apache.stratos.cloud.controller.stub.domain.Partition;
 import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
+import org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
 
 global org.apache.stratos.autoscaler.rule.RuleLog log;
 global org.apache.stratos.autoscaler.pojo.policy.PolicyManager $manager;
 global org.apache.stratos.autoscaler.context.AutoscalerContext $context;
-global org.apache.stratos.autoscaler.rule.RuleTasksDelegator $delegator;
-global org.apache.stratos.messaging.domain.topology.Topology $topology;
+global org.apache.stratos.autoscaler.rule.RuleTasksDelegator delegator;
 global java.util.Map partitionCtxts;
 global java.lang.String clusterId;
-global java.lang.String instanceId;
 global java.lang.Boolean isPrimary;
 global Integer primaryMemberCount;
+global java.lang.String algorithmName;
 
 rule "Minimum Rule"
 dialect "mvel"
-       when
-           $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()))
-              eval ( (isPrimary && (primaryMemberCount < 
$ctxt.getMinimumMemberCount() )) || ( !isPrimary && 
($ctxt.getNonTerminatedMemberCount() < $ctxt.getMinimumMemberCount() )) )
-       then
-           if (isPrimary){
-              log.debug("[min-check] true  [primary] true   [primary member 
count] " + primaryMemberCount);
-           } else{
-              log.debug("[min-check] true  [primary] false");
-           }
-              $delegator.delegateSpawn($ctxt, clusterId, instanceId, 
isPrimary);
+   when
+       clusterInstanceContext : ClusterInstanceContext ()
+
+        autoscaleAlgorithm : AutoscaleAlgorithm() from  
delegator.getAutoscaleAlgorithm(algorithmName)
+
+        eval(log.debug("Running minimum rule: [network-partition] " + 
clusterInstanceContext.getNetworkPartitionId() + " [cluster-instance] " + 
clusterInstanceContext.getId()))
+        eval(log.debug("[min-check] [network-partition] " + 
clusterInstanceContext.getNetworkPartitionId() + " [cluster-instance] " + 
clusterInstanceContext.getId() + " Non terminated member count: " + 
clusterInstanceContext.getNonTerminatedMemberCount()))
+        eval(log.debug("[min-check] [network-partition] " + 
clusterInstanceContext.getNetworkPartitionId() + " [cluster-instance] " + 
clusterInstanceContext.getId() + " Minimum member count: " + 
clusterInstanceContext.getMinInstanceCount()))
+
+        eval ( (isPrimary && (primaryMemberCount < 
clusterInstanceContext.getMinInstanceCount() )) || ( !isPrimary && 
(clusterInstanceContext.getNonTerminatedMemberCount() < 
clusterInstanceContext.getMinInstanceCount() )) )
+
+    then
+        ClusterLevelPartitionContext partitionContext =  
(ClusterLevelPartitionContext)autoscaleAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
+
+        if (isPrimary){
+          log.debug("[min-check] true  [primary] true   [primary member count] 
" + primaryMemberCount);
+        } else{
+          log.debug("[min-check] true  [primary] false");
+        }
+        delegator.delegateSpawn(partitionContext, clusterId, 
clusterInstanceContext.getId(), isPrimary);
+
 end

Reply via email to