Merge "Add a docker pull retry to docker-puppet.py"
This commit is contained in:
commit
b5c18ded6a
@ -25,6 +25,7 @@ import os
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
import time
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
|
|
||||||
logger = None
|
logger = None
|
||||||
@ -59,10 +60,23 @@ def short_hostname():
|
|||||||
|
|
||||||
def pull_image(name):
|
def pull_image(name):
|
||||||
log.info('Pulling image: %s' % name)
|
log.info('Pulling image: %s' % name)
|
||||||
|
retval = -1
|
||||||
|
count = 0
|
||||||
|
while retval != 0:
|
||||||
|
count += 1
|
||||||
subproc = subprocess.Popen(['/usr/bin/docker', 'pull', name],
|
subproc = subprocess.Popen(['/usr/bin/docker', 'pull', name],
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.PIPE)
|
stderr=subprocess.PIPE)
|
||||||
|
|
||||||
cmd_stdout, cmd_stderr = subproc.communicate()
|
cmd_stdout, cmd_stderr = subproc.communicate()
|
||||||
|
retval = subproc.returncode
|
||||||
|
if retval != 0:
|
||||||
|
time.sleep(3)
|
||||||
|
log.warning('docker pull failed: %s' % cmd_stderr)
|
||||||
|
log.warning('retrying pulling image: %s' % name)
|
||||||
|
if count >= 5:
|
||||||
|
log.error('Failed to pull image: %s' % name)
|
||||||
|
break
|
||||||
if cmd_stdout:
|
if cmd_stdout:
|
||||||
log.debug(cmd_stdout)
|
log.debug(cmd_stdout)
|
||||||
if cmd_stderr:
|
if cmd_stderr:
|
||||||
|
Loading…
Reference in New Issue
Block a user