Blame SOURCES/bz1470813-fencing-2-fix-power-timeout.patch

e15206
From 4202a863b25e456b7e419cbfc33c45ae179eb760 Mon Sep 17 00:00:00 2001
e15206
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
e15206
Date: Thu, 15 Oct 2020 10:34:03 +0200
e15206
Subject: [PATCH] fencing: fix power-timeout when using new disable-timeout
e15206
 parameter
e15206
e15206
---
e15206
 lib/fencing.py.py | 8 +++++++-
e15206
 1 file changed, 7 insertions(+), 1 deletion(-)
e15206
e15206
diff --git a/lib/fencing.py.py b/lib/fencing.py.py
e15206
index 4a41af02..4639a9a5 100644
e15206
--- a/lib/fencing.py.py
e15206
+++ b/lib/fencing.py.py
e15206
@@ -10,6 +10,8 @@
e15206
 import textwrap
e15206
 import __main__
e15206
 
e15206
+import itertools
e15206
+
e15206
 RELEASE_VERSION = "@RELEASE_VERSION@"
e15206
 
e15206
 __all__ = ['atexit_handler', 'check_input', 'process_input', 'all_opt', 'show_docs',
e15206
@@ -821,11 +823,15 @@ def async_set_multi_power_fn(connection, options, set_power_fn, get_power_fn, re
e15206
 			set_power_fn(connection, options)
e15206
 			time.sleep(int(options["--power-wait"]))
e15206
 
e15206
-		for _ in range(int(options["--power-timeout"])):
e15206
+		for _ in itertools.count(1):
e15206
 			if get_multi_power_fn(connection, options, get_power_fn) != options["--action"]:
e15206
 				time.sleep(1)
e15206
 			else:
e15206
 				return True
e15206
+
e15206
+			if int(options["--power-timeout"]) > 0 and _ >= int(options["--power-timeout"]):
e15206
+				break
e15206
+
e15206
 	return False
e15206
 
e15206
 def sync_set_multi_power_fn(connection, options, sync_set_power_fn, retry_attempts):