Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
pacemaker
pacemaker-pengine-exclude-resources-and-nodes-f...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pacemaker-pengine-exclude-resources-and-nodes-from-symmetric_default.patch of Package pacemaker
commit cacbac0677bb5285f16bdb16272dbbe02a7984d2 Author: Andrew Beekhof <andrew@beekhof.net> Date: Mon Oct 23 12:06:46 2017 +1100 Fix: PE: Exclude resources and nodes from the symmetric_default constraint in some circumstances This is particularly relevant to bundles where only specific nodes are allowed to a particular resource. Previously, even if we set the tuple up correctly during container_unpack(), common_unpack() would re-add the full node set afterwards recursively via the parent. Similarly, the bundle "nodes" are not eligable for running any other resource than the one container_unpack() assigned it and there is no reason to add it to their allowed_nodes list. Keeping the allowed_nodes list concise also ensures crm_resource --cleanup does the bare minimum necessary when the resource is in an unknown state. Index: pacemaker-1.1.16+20170320.77ea74d/lib/pengine/utils.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/lib/pengine/utils.c +++ pacemaker-1.1.16+20170320.77ea74d/lib/pengine/utils.c @@ -1323,7 +1323,21 @@ resource_node_score(resource_t * rsc, no { node_t *match = NULL; - if (rsc->children) { + if(rsc->exclusive_discover && safe_str_eq(tag, "symmetric_default")) { + /* A terrible implementation via string comparision but + * exclusive resources should not have the symmetric_default + * constraint applied to them. + */ + return; + + } else if(node->rsc_discover_mode == 1 && safe_str_eq(tag, "symmetric_default")) { + /* Another terrible implementation via string comparision but + * exclusive node should also not be included in the + * symmetric_default constraint. + */ + return; + + } else if (rsc->children) { GListPtr gIter = rsc->children; for (; gIter != NULL; gIter = gIter->next) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor