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