Hi Yuusuke,
Thanks a lot for the report and the patch!

I somewhat prefer simplifying the policy, like the attached patch.

What do you think about it? Could you please give it a try?

Regards,
  Yan


On 06/30/11 16:36, Yuusuke IIDA wrote:
> Hi, Yan
> 
> I wrote a patch for Pacemaker-dev to solve this problem.
> 
> I want you to confirm the patch.
> 
> I want a repository to merge it if there is not a problem.
> 
> Best Regards,
> Yuusuke
> 
> (2011/06/20 16:10), Yuusuke IIDA wrote:
>> Hi, Yan
>>
>> I wanted to scatter transition of the group resource, however failed.
>>
>>   * Initial state
>> Online: [act1 sby1 sby2]
>> Full list of resources:
>>   Resource Group: grp1
>>       rsc1       (ocf::pacemaker:Dummy): Started act1
>>   Resource Group: grp2
>>       rsc2       (ocf::pacemaker:Dummy): Started act1
>>   Resource Group: grp3
>>       rsc3       (ocf::pacemaker:Dummy): Started act1
>>
>>   * When I let you break down in order of grp1 ->  grp2 ->  grp3.
>> Online: [act1 sby1 sby2]
>> Full list of resources:
>>   Resource Group: grp1
>>       rsc1       (ocf::pacemaker:Dummy): Started sby1
>>   Resource Group: grp2
>>       rsc2       (ocf::pacemaker:Dummy): Started sby2
>>   Resource Group: grp3
>>       rsc3       (ocf::pacemaker:Dummy): Started sby1
>>
>>   * When I let you break down in order of grp3 ->  grp2 ->  grp1. (there is 
>> a problem)
>> Online: [act1 sby1 sby2]
>> Full list of resources:
>>   Resource Group: grp1
>>       rsc1       (ocf::pacemaker:Dummy): Started sby1
>>   Resource Group: grp2
>>       rsc2       (ocf::pacemaker:Dummy): Started sby1
>>   Resource Group: grp3
>>       rsc3       (ocf::pacemaker:Dummy): Started sby1
>>
>> As for this, will not it be right like primitive resource to be dispersed
>> transition?
>>
>> I attach hb_report when a problem happened.
>>
>> Best Regards,
>> Yuusuke
>>
-- 
Gao,Yan <y...@suse.com>
Software Engineer
China Server Team, SUSE.
diff -r 7eacbb51c894 pengine/allocate.c
--- a/pengine/allocate.c	Tue Feb 22 17:21:51 2011 +0800
+++ b/pengine/allocate.c	Thu Jul 07 20:35:58 2011 +0800
@@ -960,11 +960,27 @@ sort_rsc_process_order(gconstpointer a, 
 	    resource1_weight = resource1_node->weight;
 	}
 
+	if(resource1->variant == pe_group && resource1->children != NULL) {
+	    resource_t *first_child = (resource_t *)resource1->children->data;
+	    node_t *child_node = g_hash_table_lookup(first_child->allowed_nodes, node->details->id);
+	    if(child_node) {
+		resource1_weight = child_node->weight;
+	    }
+	}
+
 	resource2_node = g_hash_table_lookup(resource2->allowed_nodes, node->details->id);
 	if (resource2_node) {
 	    resource2_weight = resource2_node->weight;
 	}
 
+	if(resource2->variant == pe_group && resource2->children != NULL) {
+	    resource_t *first_child = (resource_t *)resource2->children->data;
+	    node_t *child_node = g_hash_table_lookup(first_child->allowed_nodes, node->details->id);
+	    if(child_node) {
+		resource2_weight = child_node->weight;
+	    }
+	}
+
 	if(resource1_weight > resource2_weight) {
 	    do_crm_log_unlikely(level, "%s (%d) > %s (%d) on %s: score",
 			    resource1->id, resource1_weight,
_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

Reply via email to