diff options
author | Guillaume Tucker <guillaume.tucker@collabora.com> | 2018-11-26 23:52:26 +0000 |
---|---|---|
committer | Guillaume Tucker <guillaume.tucker@collabora.com> | 2018-12-07 13:23:52 +0000 |
commit | ed79b0a0aae79b32423ef39367d94f85ae55e0f4 (patch) | |
tree | 9aa901992c20cd735470dd7d9c5709ab14ddab7e /src | |
parent | 6ed254f11bd2249e882e47d0307b714343857efb (diff) |
org.kernelci.util.Job: return image from pull-with-retry
As dockerPullWithRetry is pulling the image, it can directly return it
so the caller can use it to run code inside it.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/org/kernelci/util/Job.groovy | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/src/org/kernelci/util/Job.groovy b/src/org/kernelci/util/Job.groovy index 0fe07d8..79a69ae 100644 --- a/src/org/kernelci/util/Job.groovy +++ b/src/org/kernelci/util/Job.groovy @@ -34,21 +34,25 @@ def addBoolParams(params, bool_params) { } } -def dockerPullWithRetry(image, retries=10, sleep_time=1) { - def pulled = false - while (!pulled) { - try { - docker.image(image).pull() - pulled = true - } - catch (Exception e) { - if (!retries) { - throw e - } - echo("""Docker pull failed, retry count ${retries}: ${e.toString()}""") - sleep sleep_time - retries -= 1 - sleep_time = sleep_time * 2 - } - } +def dockerPullWithRetry(image_name, retries=10, sleep_time=1) { + def image = docker.image(image_name) + def pulled = false + + while (!pulled) { + try { + image.pull() + pulled = true + } + catch (Exception e) { + if (!retries) { + throw e + } + echo("""Docker pull failed, retry count ${retries}: ${e.toString()}""") + sleep sleep_time + retries -= 1 + sleep_time = sleep_time * 2 + } + } + + return image } |