Blame SOURCES/bz1653700-3-fence_scsi-watchdog-fix-retry-failing-on-first-try.patch

2d8bb4
From 418b3a36c8a7de0e984a0cd4707f2b90f279c4ce Mon Sep 17 00:00:00 2001
2d8bb4
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
2d8bb4
Date: Thu, 13 Jun 2019 11:29:25 +0200
2d8bb4
Subject: [PATCH] fence_scsi watchdog: dont exit when command fails using retry
2d8bb4
 parameter
2d8bb4
2d8bb4
---
2d8bb4
 lib/fencing.py.py | 7 ++++---
2d8bb4
 1 file changed, 4 insertions(+), 3 deletions(-)
2d8bb4
2d8bb4
diff --git a/lib/fencing.py.py b/lib/fencing.py.py
2d8bb4
index 8cd0a813..6f2526a9 100644
2d8bb4
--- a/lib/fencing.py.py
2d8bb4
+++ b/lib/fencing.py.py
2d8bb4
@@ -530,7 +530,7 @@ def fail_usage(message="", stop=True):
2d8bb4
 		logging.error("Please use '-h' for usage\n")
2d8bb4
 		sys.exit(EC_GENERIC_ERROR)
2d8bb4
 
2d8bb4
-def fail(error_code):
2d8bb4
+def fail(error_code, stop=True):
2d8bb4
 	message = {
2d8bb4
 		EC_LOGIN_DENIED : "Unable to connect/login to fencing device",
2d8bb4
 		EC_CONNECTION_LOST : "Connection lost",
2d8bb4
@@ -546,7 +546,8 @@ def fail(error_code):
2d8bb4
 
2d8bb4
 	}[error_code] + "\n"
2d8bb4
 	logging.error("%s\n", message)
2d8bb4
-	sys.exit(EC_GENERIC_ERROR)
2d8bb4
+	if stop:
2d8bb4
+		sys.exit(EC_GENERIC_ERROR)
2d8bb4
 
2d8bb4
 def usage(avail_opt):
2d8bb4
 	print("Usage:")
2d8bb4
@@ -1009,7 +1010,7 @@ def run_command(options, command, timeout=None, env=None, log_command=None):
2d8bb4
 	thread.join(timeout)
2d8bb4
 	if thread.is_alive():
2d8bb4
 		process.kill()
2d8bb4
-		fail(EC_TIMED_OUT)
2d8bb4
+		fail(EC_TIMED_OUT, stop=(int(options.get("retry", 0)) < 1))
2d8bb4
 
2d8bb4
 	status = process.wait()
2d8bb4