summaryrefslogtreecommitdiffstats
path: root/roles/lib_utils/library/repoquery.py
diff options
context:
space:
mode:
authorLuke Meyer <sosiouxme@gmail.com>2017-09-14 22:44:15 -0400
committerGitHub <noreply@github.com>2017-09-14 22:44:15 -0400
commit51837924d85f27ccdf83db808746d1a2688685ba (patch)
treec624d0626281ed129ff50be09414eeba21003e47 /roles/lib_utils/library/repoquery.py
parent7bcded20fab1e3dc9f3fabcd7850461fcb66fb39 (diff)
parentc4b7a45842843290d81e0cb29081d01f2210bfee (diff)
downloadopenshift-51837924d85f27ccdf83db808746d1a2688685ba.tar.gz
openshift-51837924d85f27ccdf83db808746d1a2688685ba.tar.bz2
openshift-51837924d85f27ccdf83db808746d1a2688685ba.tar.xz
openshift-51837924d85f27ccdf83db808746d1a2688685ba.zip
Merge pull request #5401 from sosiouxme/20170913-retries-subset
add retries on repoquery
Diffstat (limited to 'roles/lib_utils/library/repoquery.py')
-rw-r--r--roles/lib_utils/library/repoquery.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/roles/lib_utils/library/repoquery.py b/roles/lib_utils/library/repoquery.py
index 95a305b58..e5ac1f74f 100644
--- a/roles/lib_utils/library/repoquery.py
+++ b/roles/lib_utils/library/repoquery.py
@@ -35,6 +35,7 @@ import os # noqa: F401
import re # noqa: F401
import shutil # noqa: F401
import tempfile # noqa: F401
+import time # noqa: F401
try:
import ruamel.yaml as yaml # noqa: F401
@@ -618,17 +619,22 @@ def main():
show_duplicates=dict(default=False, required=False, type='bool'),
match_version=dict(default=None, required=False, type='str'),
ignore_excluders=dict(default=False, required=False, type='bool'),
+ retries=dict(default=4, required=False, type='int'),
+ retry_interval=dict(default=5, required=False, type='int'),
),
supports_check_mode=False,
required_if=[('show_duplicates', True, ['name'])],
)
- rval = Repoquery.run_ansible(module.params, module.check_mode)
-
- if 'failed' in rval:
- module.fail_json(**rval)
-
- module.exit_json(**rval)
+ tries = 1
+ while True:
+ rval = Repoquery.run_ansible(module.params, module.check_mode)
+ if 'failed' not in rval:
+ module.exit_json(**rval)
+ elif tries > module.params['retries']:
+ module.fail_json(**rval)
+ tries += 1
+ time.sleep(module.params['retry_interval'])
if __name__ == "__main__":