From 0bc8f7923904bb171faac052c6f3881b48ddd21c Mon Sep 17 00:00:00 2001 From: Tomas Jelinek Date: Fri, 9 Jan 2015 12:49:13 +0100 Subject: [PATCH] Stop deleted resource before removing its constraints Removing constraints referencing a resource when the resource is still running can cause the resource to be moved to other node. --- pcs/resource.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pcs/resource.py b/pcs/resource.py index 6c8b723..db96eb9 100644 --- a/pcs/resource.py +++ b/pcs/resource.py @@ -1717,6 +1717,14 @@ def resource_remove(resource_id, output = True): if (group != ""): num_resources_in_group = len(parseString(group).documentElement.getElementsByTagName("primitive")) + if not "--force" in utils.pcs_options and not utils.usefile and not utils.is_resource_started(resource_id, 0, True)[0]: + sys.stdout.write("Attempting to stop: "+ resource_id + "...") + sys.stdout.flush() + resource_disable([resource_id]) + if not utils.is_resource_started(resource_id, 15, True)[0]: + utils.err("Unable to stop: %s before deleting (re-run with --force to force deletion)" % resource_id) + print "Stopped" + constraint.remove_constraints_containing(resource_id,output) resource_el = utils.dom_get_resource(dom, resource_id) if resource_el: @@ -1728,14 +1736,6 @@ def resource_remove(resource_id, output = True): utils.replace_cib_configuration(dom) dom = utils.get_cib_dom() - if not "--force" in utils.pcs_options and not utils.usefile and not utils.is_resource_started(resource_id, 0, True)[0]: - sys.stdout.write("Attempting to stop: "+ resource_id + "...") - sys.stdout.flush() - resource_disable([resource_id]) - if not utils.is_resource_started(resource_id, 15, True)[0]: - utils.err("Unable to stop: %s before deleting (re-run with --force to force deletion)" % resource_id) - print "Stopped" - if (group == "" or num_resources_in_group > 1): master_xpath = '//master/primitive[@id="'+resource_id+'"]/..' clone_xpath = '//clone/primitive[@id="'+resource_id+'"]/..' -- 1.9.1