[Pacemaker] When a resource starts all at once in environment using utilization, score may not work

Gao,Yan ygao at novell.com
Mon Sep 26 04:46:54 EDT 2011


On 09/26/11 11:51, Andrew Beekhof wrote:
> 2011/8/18 Yuusuke IIDA <iidayuus at intellilink.co.jp>:
>> Hi, Yan
>> Hi, Andrew
>>
>> I started service by the following setting all at once.
>> However, the placement of the resource was not carried out as expected.
>>
>> * By a function of utilization, I confine the resource that can start in each
>> node to only one.
>> * It is real rsc_location and the image as follows.
>> =========================================================================
>> location rsc_location-grpPostgreSQLDB1 grpPostgreSQLDB1 \
>>        rule $id="rsc_location-grpPostgreSQLDB1-rule" 200: #uname eq act1
>> location rsc_location-grpPostgreSQLDB2 grpPostgreSQLDB2 \
>>        rule $id="rsc_location-grpPostgreSQLDB2-rule" 200: #uname eq act2
>> location rsc_location-grpPostgreSQLDB3 grpPostgreSQLDB3 \
>>        rule $id="rsc_location-grpPostgreSQLDB3-rule" 200: #uname eq act3
>> location cli-prefer-grpPostgreSQLDB3 grpPostgreSQLDB3 \
>>        rule $id="cli-prefer-rule-grpPostgreSQLDB3" inf: #uname eq act1
>> =========================================================================
>> _________________________________________________________
>> ////|grpPostgreSQLDB1|grpPostgreSQLDB2  |grpPostgreSQLDB3
>> ---------------------------------------------------------
>> act1|200             |0                 |INFINITY
>> act2|0               |200               |0
>> act3|0               |0                 |200
>> sby1|0               |0                 |0
>> sby2|0               |0                 |0
>> ---------------------------------------------------------
>>
>> * The placement of the resource that I expected is as follows.
>> grpPostgreSQLDB1: act3
>> grpPostgreSQLDB2: act2
>> grpPostgreSQLDB3: act1
>>
>> * The placement carried out is really as follows.
>> grpPostgreSQLDB1: act2
>> grpPostgreSQLDB2: act3
>> grpPostgreSQLDB3: act1
>>
>> Because I carried out "crm resource move grpPostgreSQLDB3 act1", the thing that
>> grpPostgreSQLDB3 starts in act1 does not have any problem.
>> Why did not grpPostgreSQLDB2 which had the highest score in act2 start?
>> Is this movement revised as a bug?
> 
> Certainly looks like it.  Yan?
A glance to the transition. After grpPostgreSQLDB3 was assigned to act1,
grpPostgreSQLDB1 was chosen to be processed, and it was assigned to act2
(because it had no preference between act2 and act3). And then
grpPostgreSQLDB2 went to act3.

So the solution might be: After grpPostgreSQLDB3, process
grpPostgreSQLDB2 first rather than grpPostgreSQLDB1. Though the problem is:
Basing on what policy, we could choose grpPostgreSQLDB2 to process
earlier than grpPostgreSQLDB1? Given the processing order was decided
before assigning them all, i.e before assigning grpPostgreSQLDB3.

Regards,
  Gaoyan
-- 
Gao,Yan <ygao at suse.com>
Software Engineer
China Server Team, SUSE.




More information about the Pacemaker mailing list