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/11 03:16:52 UTC

[1/2] stratos git commit: Improve mincheck tp spawn min instances at once

Repository: stratos
Updated Branches:
  refs/heads/4.1.0-test 5e3663561 -> baa13a0bb


Improve mincheck tp spawn min instances at once


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

Branch: refs/heads/4.1.0-test
Commit: e0d4c2e04a3abfced902827ed2aa3ac2828628c9
Parents: 5e36635
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Thu Dec 11 07:48:19 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Thu Dec 11 07:48:19 2014 +0530

----------------------------------------------------------------------
 .../src/main/conf/drools/mincheck.drl           | 42 +++++++++++++++-----
 1 file changed, 33 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e0d4c2e0/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 c8a5df8..29b9793 100755
--- a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
@@ -53,8 +53,8 @@ global java.lang.String algorithmName;
 
 rule "Minimum Rule"
 dialect "mvel"
-   when
-       clusterInstanceContext : ClusterInstanceContext ()
+    when
+        clusterInstanceContext : ClusterInstanceContext ()
 
         autoscaleAlgorithm : AutoscaleAlgorithm() from  delegator.getAutoscaleAlgorithm(algorithmName)
 
@@ -62,16 +62,40 @@ dialect "mvel"
         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() )) )
+        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");
+        int additionalInstances = 0;
+        if(isPrimary){
+
+            additionalInstances = clusterInstanceContext.getMinInstanceCount() - primaryMemberCount;
+            log.debug("[min-check] true [primary] true [primary member count] " + primaryMemberCount);
+        } else {
+
+            additionalInstances = clusterInstanceContext.getMinInstanceCount() - clusterInstanceContext.getNonTerminatedMemberCount();
+            log.debug("[min-check] true [primary] false [non terminated member count] " + clusterInstanceContext.getNonTerminatedMemberCount());
         }
-        delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary);
 
+        int count = 0;
+        boolean partitionsAvailable = true;
+        while(count != additionalInstances && partitionsAvailable){
+
+            ClusterLevelPartitionContext partitionContext =  (ClusterLevelPartitionContext)autoscaleAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
+             if(partitionContext != null){
+
+                if (isPrimary){
+                } else{
+                }
+                delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary);
+
+                log.info("[min-check] Partition available, hence trying to spawn an instance to fulfil minimum count!" );
+                log.debug("[min-check] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] " + clusterId );
+                delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary);
+                count++;
+            } else {
+
+                partitionsAvailable = false;
+            }
+        }
 end


[2/2] stratos git commit: Improve scale check log

Posted by la...@apache.org.
Improve scale check log


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

Branch: refs/heads/4.1.0-test
Commit: baa13a0bb662423d0b45826886edfb30c0008803
Parents: e0d4c2e
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Thu Dec 11 07:48:42 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Thu Dec 11 07:48:42 2014 +0530

----------------------------------------------------------------------
 .../modules/distribution/src/main/conf/drools/scaling.drl       | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/baa13a0b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
index 03dd925..35d012b 100644
--- a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
@@ -123,14 +123,13 @@ dialect "mvel"
             if (clusterInstanceContext.getNonTerminatedMemberCount() < clusterInstanceContext.getMaxInstanceCount()) {
                 int additionalInstances = numberOfRequiredInstances - activeInstancesCount ;
                 clusterInstanceContext.resetScaleDownRequestsCount();
-                int count = 0;
 
                 //Calculating the factor scaling
                 float factor = numberOfRequiredInstances / clusterInstanceContext.getMinInstanceCount();
     //            delegator.delegateScalingDependencyNotification(clusterId, clusterInstanceContext.getId(), factor);
 
                 boolean partitionsAvailable = true;
-
+                int count = 0;
                 while(count != additionalInstances && partitionsAvailable){
 
                     ClusterLevelPartitionContext partitionContext =  (ClusterLevelPartitionContext)autoscaleAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
@@ -146,7 +145,7 @@ dialect "mvel"
                     }
                 }
             } else{
-                log.info("[scale-up] Max is reached, hence not scaling up [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId());
+                log.info("[scale-up] Max is reached, hence not scaling up [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId() + " [max] " + clusterInstanceContext.getMaxInstanceCount());
             }
         } else if(scaleDown){