You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2013/12/03 18:01:12 UTC

[1/2] git commit: adding modified rules file to the product

Updated Branches:
  refs/heads/master b60d2c7d9 -> d7015680e


adding modified rules file to the product


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

Branch: refs/heads/master
Commit: 5a8ebb026e0c09ba47165c9bd2f74dd692b63e7f
Parents: fcf1dc7
Author: Nirmal Fernando <ni...@apache.org>
Authored: Tue Dec 3 16:59:41 2013 +0000
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Tue Dec 3 16:59:41 2013 +0000

----------------------------------------------------------------------
 .../distribution/src/main/conf/autoscaler.drl   | 90 ++++++--------------
 1 file changed, 27 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5a8ebb02/products/autoscaler/modules/distribution/src/main/conf/autoscaler.drl
----------------------------------------------------------------------
diff --git a/products/autoscaler/modules/distribution/src/main/conf/autoscaler.drl b/products/autoscaler/modules/distribution/src/main/conf/autoscaler.drl
index c551d9a..ba50959 100644
--- a/products/autoscaler/modules/distribution/src/main/conf/autoscaler.drl
+++ b/products/autoscaler/modules/distribution/src/main/conf/autoscaler.drl
@@ -25,93 +25,57 @@ import org.apache.stratos.autoscaler.AutoscalerContext;
 import org.apache.stratos.autoscaler.ClusterContext;
 import org.apache.stratos.autoscaler.Constants;
 import org.apache.stratos.autoscaler.policy.PolicyManager;
-import org.apache.stratos.autoscaler.policy.model.Partition;
-import org.apache.stratos.autoscaler.policy.model.PartitionGroup;
-import org.apache.stratos.autoscaler.policy.model.DeploymentPolicy;
+import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
 import org.apache.stratos.autoscaler.policy.model.RequestsInFlight;
 import org.apache.stratos.autoscaler.policy.model.LoadThresholds;
 import org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient;
 import org.apache.stratos.autoscaler.algorithm.AutoscaleAlgorithm;
 import org.apache.stratos.autoscaler.algorithm.OneAfterAnother;
 import org.apache.stratos.autoscaler.algorithm.RoundRobin;
+import org.apache.stratos.autoscaler.PartitionContext;
 import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
 import org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator;
 import org.apache.commons.logging.Log;
+import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
+import org.apache.stratos.autoscaler.partition.PartitionGroup;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.pojo.MemberContext;
+
 
 global org.apache.stratos.autoscaler.policy.PolicyManager $manager;
 global org.apache.stratos.autoscaler.AutoscalerContext $context; 
 global org.apache.commons.logging.Log log;
 global org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator $evaluator;
 global org.apache.stratos.messaging.domain.topology.Topology $topology;
+global java.util.Map partitionCtxts;
+global java.lang.String clusterId;
+global java.lang.boolean clusterRemoved;
 
+import function org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.delegateSpawn;
+import function org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.delegateTerminate;
 
 rule "Minimum Rule"
 dialect "mvel"
        when
-	       $service : Service () 
-	       $cluster : Cluster () from  $service.getClusters()
-	       $deploymentPolicy : DeploymentPolicy(id == $cluster.getDeploymentPolicyName() ) from $manager.getDeploymentPolicyList()
-	       $partitionGroup : PartitionGroup () from  $deploymentPolicy.getPartitionGroups()
-	       $partition : Partition () from $partitionGroup.getPartitions()
-	       $clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId())
-	       eval($clusterContext.getMemberCount($partition.getId()) < $partition.getPartitionMembersMin())
-
+	       $ctxt : PartitionContext ()
+	       eval($ctxt.getCurrentMemberCount() < $ctxt.getMinimumMemberCount())
 
        then
-	       int memberCountToBeIncreased = $partition.getPartitionMembersMin() - $clusterContext.getMemberCount($partition.getId());
-	       if($evaluator.delegateSpawn($partition,$cluster.getClusterId(), memberCountToBeIncreased)){
-		   $clusterContext.increaseMemberCountInPartitionBy($partition.getId(), memberCountToBeIncreased);
-	       }
+	       memberContext = delegateSpawn($ctxt.getPartition(),clusterId);
+           if(memberContext != null) {
+	            $ctxt.addPendingMember(memberContext); 
+           }
+	       
 end
 
-rule "Scaler-up Rule"
+rule "Terminate Obsoleted Instances"
 dialect "mvel"
-	when
-		$service : Service ()
-		$cluster : Cluster () from  $service.getClusters()
-		$policy : AutoscalePolicy(id == $cluster.autoscalePolicyName ) from $manager.getPolicyList()
-		$clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId())
-		$loadThresholds :LoadThresholds() from  $policy.getLoadThresholds()
-		autoscaleAlgorithm : AutoscaleAlgorithm() from  $evaluator.getAutoscaleAlgorithm($policy.getHAPolicy().getPartitionAlgo())
-		lbStatAverage : Float() from  $clusterContext.getAverageRequestsInFlight()
-		lbStatGradient : Float() from  $clusterContext.getRequestsInFlightGradient()
-		lbStatSecondDerivative : Float() from  $clusterContext.getRequestsInFlightSecondDerivative()
-		averageLimit : Float() from  $loadThresholds.getRequestsInFlight().getAverage()
-		gradientLimit : Float() from  $loadThresholds.getRequestsInFlight().getGradient()
-		secondDerivative  : Float() from  $loadThresholds.getRequestsInFlight().getSecondDerivative()
-		partition :  Partition() from autoscaleAlgorithm.getNextScaleUpPartition($cluster.getClusterId())
-		eval (lbStatAverage > averageLimit && lbStatGradient > gradientLimit)
-	then
-		int numberOfInstancesToBeSpawned = (lbStatSecondDerivative > secondDerivative) ? 2 : 1; //  take from a config
-		$evaluator.delegateSpawn(partition,$cluster.getClusterId(), numberOfInstancesToBeSpawned);
-		$clusterContext.setRequestsInFlightGradient(gradientLimit);
-		$clusterContext.setRequestsInFlightSecondDerivative(secondDerivative);
-		$clusterContext.setAverageRequestsInFlight(averageLimit);
+        when
+            $ctxt : PartitionContext ()
+            eval($ctxt.getObsoletedMembers().size() > 0)
+            memberId : String() from $ctxt.getObsoletedMembers()
+            eval($ctxt.removeObsoleteMember(memberId))
+        then
+            delegateTerminate(memberId);
 end
 
-rule "Scaler-down Rule"
-dialect "mvel"
-	when
-		$service : Service ()
-		$cluster : Cluster () from  $service.getClusters()
-		$policy : AutoscalePolicy(id == $cluster.autoscalePolicyName ) from $manager.getPolicyList()
-		$clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId())
-		$loadThresholds :LoadThresholds() from  $policy.getLoadThresholds()
-		autoscaleAlgorithm : AutoscaleAlgorithm() from  $evaluator.getAutoscaleAlgorithm($policy.getHAPolicy().getPartitionAlgo())
-		lbStatAverage : Float() from  $clusterContext.getAverageRequestsInFlight()
-		lbStatGradient : Float() from  $clusterContext.getRequestsInFlightGradient()
-		lbStatSecondDerivative : Float() from  $clusterContext.getRequestsInFlightSecondDerivative()
-		averageLimit : Float() from  $loadThresholds.getRequestsInFlight().getAverage()
-		gradientLimit : Float() from  $loadThresholds.getRequestsInFlight().getGradient()
-		secondDerivative  : Float() from  $loadThresholds.getRequestsInFlight().getSecondDerivative()
-		scaleDownSlowerMarginOfGradient : Float() from  $loadThresholds.getRequestsInFlight().getScaleDownMarginOfGradient()
-		scaleDownSlowerMarginOfSecondDerivative : Float() from  $loadThresholds.getRequestsInFlight().getScaleDownMarginOfSecondDerivative()
-		partition : Partition() from autoscaleAlgorithm.getNextScaleDownPartition($cluster.getClusterId())
-		eval(lbStatAverage < averageLimit  && lbStatGradient < gradientLimit - scaleDownSlowerMarginOfSecondDerivative
-				 && lbStatSecondDerivative < secondDerivative - scaleDownSlowerMarginOfSecondDerivative)
-	then
-		$evaluator.delegateTerminate(partition,$cluster.getClusterId());
-		$clusterContext.setRequestsInFlightGradient(gradientLimit);
-		$clusterContext.setRequestsInFlightSecondDerivative(secondDerivative);
-		$clusterContext.setAverageRequestsInFlight(averageLimit);
-end


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by ni...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


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

Branch: refs/heads/master
Commit: d7015680efdbe8c47fb81512e2371aa39891fd44
Parents: 5a8ebb0 b60d2c7
Author: Nirmal Fernando <ni...@apache.org>
Authored: Tue Dec 3 17:00:20 2013 +0000
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Tue Dec 3 17:00:20 2013 +0000

----------------------------------------------------------------------
 .../cartridge-agent/ec2/php/cartridge-agent.sh  |   4 +-
 .../ec2/tomcat/cartridge-agent.sh               |   4 +-
 tools/cartridge-create/README                   |  50 +++
 tools/cartridge-create/configure_software       | 383 +++++++++++++++++++
 tools/cartridge-create/create_kvm_image.sh      |  24 ++
 tools/cartridge-create/image_action.sh          | 165 ++++++++
 .../init-scripts/default/default                |  43 +++
 .../init-scripts/default/default.ctrg           |  51 +++
 .../init-scripts/default/get-launch-params.rb   |  55 +++
 .../default/stratos-openstack-init.sh           |  57 +++
 .../init-scripts/default/stratos.pem            |  16 +
 .../init-scripts/mysql/ec2/get-launch-params.rb |  51 +++
 .../init-scripts/mysql/ec2/healthcheck.sh       |  32 ++
 .../init-scripts/mysql/ec2/stratos-init.sh      | 152 ++++++++
 .../init-scripts/mysql/get-launch-params.rb     |  55 +++
 tools/cartridge-create/init-scripts/mysql/mysql |  46 +++
 .../init-scripts/mysql/mysql.ctrg               |  58 +++
 .../mysql/openstack/get-launch-params.rb        |  55 +++
 .../init-scripts/mysql/openstack/healthcheck.sh |  30 ++
 .../mysql/openstack/stratos-init.sh             | 165 ++++++++
 .../init-scripts/mysql/stratos.pem              |  16 +
 .../init-scripts/mysql/vcloud/stratos-init.sh   | 152 ++++++++
 .../php/cartridge_data_publisher_1.0.2.zip      | Bin 0 -> 2832200 bytes
 tools/cartridge-create/init-scripts/php/default |  59 +++
 .../init-scripts/php/default-ssl                | 190 +++++++++
 .../init-scripts/php/ec2/get-launch-params.rb   |  54 +++
 .../init-scripts/php/ec2/healthcheck.sh         |  32 ++
 .../init-scripts/php/ec2/stratos-init.sh        | 304 +++++++++++++++
 .../init-scripts/php/get-launch-params.rb       |  55 +++
 .../php/openstack/get-launch-params.rb          |  55 +++
 .../init-scripts/php/openstack/healthcheck.sh   |  30 ++
 .../init-scripts/php/openstack/stratos-init.sh  | 293 ++++++++++++++
 tools/cartridge-create/init-scripts/php/php     |  49 +++
 .../cartridge-create/init-scripts/php/php.ctrg  |  65 ++++
 .../init-scripts/php/thrift-0.8.0.tar.gz        | Bin 0 -> 2379006 bytes
 .../cartridge-create/init-scripts/php/wso2.pem  |  16 +
 tools/cartridge-create/init-scripts/php/x.sh    |  50 +++
 tools/cartridge-create/init-scripts/php/y.sh    |  32 ++
 .../init-scripts/tomcat/get-launch-params.rb    |  53 +++
 .../tomcat/openstack/get-launch-params.rb       |  55 +++
 .../tomcat/openstack/healthcheck.sh             |  30 ++
 .../tomcat/openstack/stratos-init.sh            | 289 ++++++++++++++
 .../init-scripts/tomcat/payload/README          |  21 +
 .../init-scripts/tomcat/payload/launch-params   |  18 +
 .../init-scripts/tomcat/stratos-init.sh         | 274 +++++++++++++
 .../init-scripts/tomcat/stratos.pem             |  16 +
 tools/cartridge-create/stratos-image            | 100 +++++
 tools/cartridge-create/stratos-image-local      | 310 +++++++++++++++
 tools/cartridge-create/uploadimg.sh             |  32 ++
 tools/cartridge_create/README                   |  50 ---
 tools/cartridge_create/configure_software       | 383 -------------------
 tools/cartridge_create/create_kvm_image.sh      |  24 --
 tools/cartridge_create/image_action.sh          | 165 --------
 .../init_scripts/default/default                |  43 ---
 .../init_scripts/default/default.ctrg           |  51 ---
 .../init_scripts/default/get-launch-params.rb   |  55 ---
 .../default/stratos-openstack-init.sh           |  57 ---
 .../init_scripts/default/stratos.pem            |  16 -
 .../init_scripts/mysql/ec2/get-launch-params.rb |  51 ---
 .../init_scripts/mysql/ec2/healthcheck.sh       |  32 --
 .../init_scripts/mysql/ec2/stratos-init.sh      | 152 --------
 .../init_scripts/mysql/get-launch-params.rb     |  55 ---
 tools/cartridge_create/init_scripts/mysql/mysql |  46 ---
 .../init_scripts/mysql/mysql.ctrg               |  58 ---
 .../mysql/openstack/get-launch-params.rb        |  55 ---
 .../init_scripts/mysql/openstack/healthcheck.sh |  30 --
 .../mysql/openstack/stratos-init.sh             | 165 --------
 .../init_scripts/mysql/stratos.pem              |  16 -
 .../init_scripts/mysql/vcloud/stratos-init.sh   | 152 --------
 .../php/cartridge_data_publisher_1.0.2.zip      | Bin 2832200 -> 0 bytes
 tools/cartridge_create/init_scripts/php/default |  59 ---
 .../init_scripts/php/default-ssl                | 190 ---------
 .../init_scripts/php/ec2/get-launch-params.rb   |  54 ---
 .../init_scripts/php/ec2/healthcheck.sh         |  32 --
 .../init_scripts/php/ec2/stratos-init.sh        | 304 ---------------
 .../init_scripts/php/get-launch-params.rb       |  55 ---
 .../php/openstack/get-launch-params.rb          |  55 ---
 .../init_scripts/php/openstack/healthcheck.sh   |  30 --
 .../init_scripts/php/openstack/stratos-init.sh  | 293 --------------
 tools/cartridge_create/init_scripts/php/php     |  49 ---
 .../cartridge_create/init_scripts/php/php.ctrg  |  65 ----
 .../init_scripts/php/thrift-0.8.0.tar.gz        | Bin 2379006 -> 0 bytes
 .../cartridge_create/init_scripts/php/wso2.pem  |  16 -
 tools/cartridge_create/init_scripts/php/x.sh    |  50 ---
 tools/cartridge_create/init_scripts/php/y.sh    |  32 --
 .../init_scripts/tomcat/get-launch-params.rb    |  53 ---
 .../tomcat/openstack/get-launch-params.rb       |  55 ---
 .../tomcat/openstack/healthcheck.sh             |  30 --
 .../tomcat/openstack/stratos-init.sh            | 289 --------------
 .../init_scripts/tomcat/payload/README          |  21 -
 .../init_scripts/tomcat/payload/launch-params   |  18 -
 .../init_scripts/tomcat/stratos-init.sh         | 274 -------------
 .../init_scripts/tomcat/stratos.pem             |  16 -
 tools/cartridge_create/stratos-image            | 100 -----
 tools/cartridge_create/stratos-image-local      | 310 ---------------
 tools/cartridge_create/uploadimg.sh             |  32 --
 96 files changed, 4140 insertions(+), 4144 deletions(-)
----------------------------------------------------------------------