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