summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-05-31 22:34:54 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-06-04 16:04:52 +0000
commite7e2d84bec0d404057bce203f9c90231360e88ee (patch)
tree43e54e897217da67906580991c3c7f0a110250e8 /patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch
parent70f2caa773fc5f0e2b1154a5c095665375f02666 (diff)
Rebase: deploy related patch series.
After change "common.py: catch stderr in exec_cmd" [1] and other unrelated changes were merged upstream, we need to rebase the complete deploy related series. While we're at it, re-export Fuel@OPNFV patches in Armband. [1] https://gerrit.opnfv.org/gerrit/#/c/14561/ Change-Id: Icbc8261c2e24e4b29e8f5f2bc83db6829219129a
Diffstat (limited to 'patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch')
-rw-r--r--patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch70
1 files changed, 0 insertions, 70 deletions
diff --git a/patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch b/patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch
deleted file mode 100644
index d799723e..00000000
--- a/patches/opnfv-fuel/0021-common.py-allow-specifying-number-of-attempts-in-exe.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From: Josep Puigdemont <josep.puigdemont@enea.com>
-Date: Fri, 6 May 2016 03:28:26 +0200
-Subject: [PATCH] common.py: allow specifying number of attempts in exec_cmd
-
-Some commands executed by exec_cmd may fail because of a temporary
-cause, and it may be desirable to retry the same command several times
-until it succeeds. One example of this are the ipmitool commands, which
-may fail temorarily on some targets if they get too many requests
-simultaneously.
-
-In this patch two new optional parameters are introduced to the function
-signature, which do not break backward compatibility:
- attempts: which indicates how many times the command should be run if
- it returns a non-zero value*, and defaults to 1 (as today).
- delay: which indicates the delay in seconds between attempts, and
- defaults to 5 seconds.
- verbose: It will print the remaining attempts left for the current
- command if set to True.
-
-* It may be desirable to add yet another parameter to indicate what
- return value should be considered an error, but zero for now seems a
- reasonable default
-
-Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
----
- deploy/common.py | 24 +++++++++++++++++-------
- 1 file changed, 17 insertions(+), 7 deletions(-)
-
-diff --git a/deploy/common.py b/deploy/common.py
-index 41b4e27..3cd3e0e 100644
---- a/deploy/common.py
-+++ b/deploy/common.py
-@@ -16,6 +16,7 @@ import argparse
- import shutil
- import stat
- import errno
-+import time
-
- N = {'id': 0, 'status': 1, 'name': 2, 'cluster': 3, 'ip': 4, 'mac': 5,
- 'roles': 6, 'pending_roles': 7, 'online': 8, 'group_id': 9}
-@@ -37,13 +38,22 @@ out_handler.setFormatter(formatter)
- LOG.addHandler(out_handler)
- os.chmod(LOGFILE, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
-
--def exec_cmd(cmd, check=True):
-- process = subprocess.Popen(cmd,
-- stdout=subprocess.PIPE,
-- stderr=subprocess.PIPE,
-- shell=True)
-- (response, stderr) = process.communicate()
-- return_code = process.returncode
-+def exec_cmd(cmd, check=True, attempts=1, delay=5, verbose=False):
-+ # a negative value means forever
-+ while attempts != 0:
-+ attempts = attempts - 1
-+ process = subprocess.Popen(cmd,
-+ stdout=subprocess.PIPE,
-+ stderr=subprocess.PIPE,
-+ shell=True)
-+ (response, stderr) = process.communicate()
-+ return_code = process.returncode
-+ if return_code == 0 or attempts == 0:
-+ break
-+ time.sleep(delay)
-+ if verbose:
-+ log('%d attempts left: %s' % (attempts, cmd))
-+
- response = response.strip()
- if check:
- if return_code > 0: