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(-)
----------------------------------------------------------------------