fence-agents/0007-fence_compute-Fix-fix_domain-to-not-return-too-early.patch
Kristoffer Gronlund db0d731e53 - Update to version 4.0.24:
* Improve obtaining status on Cisco UCS devices
  * Fix issues with symlink installations
  * Fix documentation for fence_scsi and fence_mpath

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/fence-agents?expand=0&rev=54
2016-08-26 13:59:46 +00:00

59 lines
2.2 KiB
Diff

From 160e505367c30d1f8ba045fc1b3ab47bf09176ad Mon Sep 17 00:00:00 2001
From: Vincent Untz <vuntz@suse.com>
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