aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Tucker <guillaume.tucker@collabora.com>2018-11-26 23:52:26 +0000
committerGuillaume Tucker <guillaume.tucker@collabora.com>2018-12-07 13:23:52 +0000
commited79b0a0aae79b32423ef39367d94f85ae55e0f4 (patch)
tree9aa901992c20cd735470dd7d9c5709ab14ddab7e /src
parent6ed254f11bd2249e882e47d0307b714343857efb (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.groovy38
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
}