From 160e505367c30d1f8ba045fc1b3ab47bf09176ad Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Wed, 29 Jun 2016 09:50:12 +0200 Subject: [PATCH 7/9] fence_compute: Fix fix_domain to not return too early We were returning from the loop, while we want the rest of the code to still execute (in case there are multiple domains in nova). Also simplify the code... --- fence/agents/compute/fence_compute.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/fence/agents/compute/fence_compute.py b/fence/agents/compute/fence_compute.py index 37f48ee..1cb7df4 100644 --- a/fence/agents/compute/fence_compute.py +++ b/fence/agents/compute/fence_compute.py @@ -229,24 +229,20 @@ def fix_domain(options): # Compute nodes are named as FQDN, strip off the hostname calculated = service.host.replace(shorthost+".", "") - domains[calculated] = shorthost - if calculated == last_domain: # Avoid complaining for each compute node with the same name # One hopes they don't appear interleaved as A.com B.com A.com B.com logging.debug("Calculated the same domain from: %s" % service.host) + continue - elif "--domain" in options and options["--domain"] == calculated: - # Supplied domain name is valid - return + domains[calculated] = service.host + last_domain = calculated - elif "--domain" in options: + if "--domain" in options and options["--domain"] != calculated: # Warn in case nova isn't available at some point logging.warning("Supplied domain '%s' does not match the one calculated from: %s" % (options["--domain"], service.host)) - last_domain = calculated - if len(domains) == 0 and "--domain" not in options: logging.error("Could not calculate the domain names used by compute nodes in nova") @@ -256,7 +252,7 @@ def fix_domain(options): elif len(domains) == 1 and options["--domain"] != last_domain: logging.error("Overriding supplied domain '%s' as it does not match the one calculated from: %s" - % (options["--domain"], service.host)) + % (options["--domain"], domains[last_domain])) options["--domain"] = last_domain return options["--domain"] -- 2.9.0