Updated Branches: refs/heads/master 6029d2bb4 -> 5a43d560b
renaming the drl files Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/5a43d560 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/5a43d560 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/5a43d560 Branch: refs/heads/master Commit: 5a43d560ba00cd736a3221009bbe247ddfea2da6 Parents: 6029d2b Author: Nirmal Fernando <[email protected]> Authored: Tue Dec 3 13:42:31 2013 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Tue Dec 3 13:42:31 2013 +0530 ---------------------------------------------------------------------- .../src/test/resources/autoscaler-old.drl | 97 ++++++++++++++------ .../src/test/resources/autoscaler.drl | 97 ++++++-------------- 2 files changed, 97 insertions(+), 97 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5a43d560/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler-old.drl ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler-old.drl b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler-old.drl index 7881efe..cf9982f 100644 --- a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler-old.drl +++ b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler-old.drl @@ -26,54 +26,99 @@ 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.AutoscalePolicy; +import org.apache.stratos.messaging.domain.policy.Partition; +import org.apache.stratos.messaging.domain.policy.PartitionGroup; +import org.apache.stratos.messaging.domain.policy.DeploymentPolicy; 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; -import function org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.delegateSpawn; -import function org.apache.stratos.autoscaler.rule.AutoscalerRuleEvaluator.delegateTerminate; rule "Minimum Rule" dialect "mvel" when - $ctxt : PartitionContext () - eval($ctxt.getCurrentMemberCount() < $ctxt.getMinimumMemberCount()) + $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()) + then - memberContext = delegateSpawn($ctxt.getPartition(),clusterId); - if(memberContext != null) { - $ctxt.addPendingMember(memberContext); - } - + int memberCountToBeIncreased = 1 ; + if($evaluator.delegateSpawn($partition,$cluster.getClusterId(), memberCountToBeIncreased)){ + $clusterContext.increaseMemberCountInPartitionBy($partition.getId(), memberCountToBeIncreased); + } +end + +rule "Scaler-up Rule" +dialect "mvel" + when + $service : Service () + $cluster : Cluster () from $service.getClusters() + $autoScalingPolicy : AutoscalePolicy(id == $cluster.getAutoscalePolicyName() ) from $manager.getAutoscalePolicyList() + $deploymentPolicy : DeploymentPolicy(id == $cluster.getDeploymentPolicyName() ) from $manager.getDeploymentPolicyList() + $partitionGroup : PartitionGroup () from $deploymentPolicy.getPartitionGroups() + $clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId()) + $loadThresholds :LoadThresholds() from $autoScalingPolicy.getLoadThresholds() + + autoscaleAlgorithm : AutoscaleAlgorithm() from $evaluator.getAutoscaleAlgorithm($partitionGroup.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($partitionGroup, $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); end -rule "Terminate Obsoleted Instances" +rule "Scaler-down Rule" dialect "mvel" - when - $ctxt : PartitionContext () - eval($ctxt.getObsoletedMembers().size() > 0) - memberId : String() from $ctxt.getObsoletedMembers() - eval($ctxt.removeObsoleteMember(memberId)) - then - delegateTerminate(memberId); -end \ No newline at end of file + when + $service : Service () + $cluster : Cluster () from $service.getClusters() + $autoScalingPolicy : AutoscalePolicy(id == $cluster.getAutoscalePolicyName() ) from $manager.getAutoscalePolicyList() + $deploymentPolicy : DeploymentPolicy(id == $cluster.getDeploymentPolicyName() ) from $manager.getDeploymentPolicyList() + $partitionGroup : PartitionGroup () from $deploymentPolicy.getPartitionGroups() + $clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId()) + $loadThresholds :LoadThresholds() from $autoScalingPolicy.getLoadThresholds() + + autoscaleAlgorithm : AutoscaleAlgorithm() from $evaluator.getAutoscaleAlgorithm($partitionGroup.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($partitionGroup, $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 http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5a43d560/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl index cf9982f..7881efe 100644 --- a/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl +++ b/components/org.apache.stratos.autoscaler/src/test/resources/autoscaler.drl @@ -26,99 +26,54 @@ 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.AutoscalePolicy; -import org.apache.stratos.messaging.domain.policy.Partition; -import org.apache.stratos.messaging.domain.policy.PartitionGroup; -import org.apache.stratos.messaging.domain.policy.DeploymentPolicy; 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; +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 = 1 ; - if($evaluator.delegateSpawn($partition,$cluster.getClusterId(), memberCountToBeIncreased)){ - $clusterContext.increaseMemberCountInPartitionBy($partition.getId(), memberCountToBeIncreased); - } -end - -rule "Scaler-up Rule" -dialect "mvel" - when - $service : Service () - $cluster : Cluster () from $service.getClusters() - $autoScalingPolicy : AutoscalePolicy(id == $cluster.getAutoscalePolicyName() ) from $manager.getAutoscalePolicyList() - $deploymentPolicy : DeploymentPolicy(id == $cluster.getDeploymentPolicyName() ) from $manager.getDeploymentPolicyList() - $partitionGroup : PartitionGroup () from $deploymentPolicy.getPartitionGroups() - $clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId()) - $loadThresholds :LoadThresholds() from $autoScalingPolicy.getLoadThresholds() - - autoscaleAlgorithm : AutoscaleAlgorithm() from $evaluator.getAutoscaleAlgorithm($partitionGroup.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($partitionGroup, $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); + memberContext = delegateSpawn($ctxt.getPartition(),clusterId); + if(memberContext != null) { + $ctxt.addPendingMember(memberContext); + } + end -rule "Scaler-down Rule" +rule "Terminate Obsoleted Instances" dialect "mvel" - when - $service : Service () - $cluster : Cluster () from $service.getClusters() - $autoScalingPolicy : AutoscalePolicy(id == $cluster.getAutoscalePolicyName() ) from $manager.getAutoscalePolicyList() - $deploymentPolicy : DeploymentPolicy(id == $cluster.getDeploymentPolicyName() ) from $manager.getDeploymentPolicyList() - $partitionGroup : PartitionGroup () from $deploymentPolicy.getPartitionGroups() - $clusterContext : ClusterContext() from $context.getClusterContext($cluster.getClusterId()) - $loadThresholds :LoadThresholds() from $autoScalingPolicy.getLoadThresholds() - - autoscaleAlgorithm : AutoscaleAlgorithm() from $evaluator.getAutoscaleAlgorithm($partitionGroup.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($partitionGroup, $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 + when + $ctxt : PartitionContext () + eval($ctxt.getObsoletedMembers().size() > 0) + memberId : String() from $ctxt.getObsoletedMembers() + eval($ctxt.removeObsoleteMember(memberId)) + then + delegateTerminate(memberId); +end \ No newline at end of file
