stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lahiru Sandaruwan <lahi...@wso2.com>
Subject Re: Rules file
Date Tue, 03 Dec 2013 02:43:05 GMT
Thanks Nirmal and Udara.

Just found "minimum-autoscaler-rule.drl" at tests of autoscaler component.

It seems this rule([1]) is run against a partition. IMO we should run it
against a cluster since rules can be run in loops efficiently as follows,

rule "Minimum Rule"
dialect "mvel"
    when

        $deploymentPolicy : $cluster.getDeploymentPolicy()
        $partitionGroup : PartitionGroup () from
 $deploymentPolicy.getPartitionGroups()
        $partition : Partition () from $partitionGroup.getPartitions()
        eval($clusterContext.getMemberCount($partition.getId()) <
$partition.getPartitionMembersMin())

       then
        int memberCountToBeIncreased = 1 ;
       if(AutoscalerRuleEvaluator.delegateSpawn($ctxt.getPartition()
,$clusterId)){
    $ctxt.incrementCurrentMemberCount(memberCountToBeIncreased);
       }

end

Thanks.

[1]
rule "Minimum Rule"
dialect "mvel"
       when
       $ctxt : PartitionContext ()
       eval($ctxt.getCurrentMemberCount() < $ctxt.getMinimumMemberCount())

       then
       int memberCountToBeIncreased = 1 ;
       if(AutoscalerRuleEvaluator.delegateSpawn($ctxt.getPartition()
,$clusterId)){
   $ctxt.incrementCurrentMemberCount(memberCountToBeIncreased);
       }

end


On Tue, Dec 3, 2013 at 7:29 AM, Udara Liyanage <udara@wso2.com> wrote:

> The min rule file us updated as I can remember. It is not the one you have
> specified in the mail. Not sure updated rule file is added to the product
> or not.
>
> Touched, not typed. Erroneous words are a feature, not a typo.
> On Dec 2, 2013 11:42 PM, "Lahiru Sandaruwan" <lahirus@wso2.com> wrote:
>
>>
>>
>>
>> On Mon, Dec 2, 2013 at 11:35 PM, Lahiru Sandaruwan <lahirus@wso2.com>wrote:
>>
>>> Nirmal,
>>>
>>> In minimum rule, it runs against all the clusters[1]. But in
>>> ClusterMonitor thread is run per cluster which is correct.
>>>
>>> Didn't you update "Minimum Rule" in the rules file, or is it a separate
>>> rules file that you have used?
>>>
>>>
>> I meant whether you have used a different Rules file at deployment time
>> of the Stratos, which is different to default one in the
>> products/autoscaler at [1].
>>
>> Thanks.
>>
>>
>>
>>>
>>> [1]
>>>
>>> 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())
>>>
>>>
>>>        then
>>>        int memberCountToBeIncreased =
>>> $partition.getPartitionMembersMin() -
>>> $clusterContext.getMemberCount($partition.getId());
>>>        if($evaluator.delegateSpawn($partition,$cluster.getClusterId(),
>>> memberCountToBeIncreased)){
>>>    $clusterContext.increaseMemberCountInPartitionBy($partition.getId(),
>>> memberCountToBeIncreased);
>>>        }
>>> end
>>> --
>>> --
>>> Lahiru Sandaruwan
>>> Software Engineer,
>>> Platform Technologies,
>>> WSO2 Inc., http://wso2.com
>>> lean.enterprise.middleware
>>>
>>> email: lahirus@wso2.com cell: (+94) 773 325 954
>>> blog: http://lahiruwrites.blogspot.com/
>>> twitter: http://twitter.com/lahirus
>>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>>
>>>
>>
>>
>> --
>> --
>> Lahiru Sandaruwan
>> Software Engineer,
>> Platform Technologies,
>> WSO2 Inc., http://wso2.com
>> lean.enterprise.middleware
>>
>> email: lahirus@wso2.com cell: (+94) 773 325 954
>> blog: http://lahiruwrites.blogspot.com/
>> twitter: http://twitter.com/lahirus
>> linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146
>>
>>


-- 
--
Lahiru Sandaruwan
Software Engineer,
Platform Technologies,
WSO2 Inc., http://wso2.com
lean.enterprise.middleware

email: lahirus@wso2.com cell: (+94) 773 325 954
blog: http://lahiruwrites.blogspot.com/
twitter: http://twitter.com/lahirus
linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146

Mime
View raw message