Add a docker pull retry to docker-puppet.py
Co-Authored-By: Ian Main <imain@redhat.com> Change-Id: Iad6d38690340f4a064a4527c58ed439d91fa5188 Closes-bug: #1715136
This commit is contained in:
parent
6ba9a71f40
commit
d3b3361a76
|
@ -26,6 +26,7 @@ import sys
|
|||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import multiprocessing
|
||||
|
||||
logger = None
|
||||
|
@ -59,10 +60,23 @@ def short_hostname():
|
|||
|
||||
def pull_image(name):
|
||||
log.info('Pulling image: %s' % name)
|
||||
subproc = subprocess.Popen(['/usr/bin/docker', 'pull', name],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
cmd_stdout, cmd_stderr = subproc.communicate()
|
||||
retval = -1
|
||||
count = 0
|
||||
while retval != 0:
|
||||
count += 1
|
||||
subproc = subprocess.Popen(['/usr/bin/docker', 'pull', name],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
|
||||
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:
|
||||
log.debug(cmd_stdout)
|
||||
if cmd_stderr:
|
||||
|
|
Loading…
Reference in New Issue