Skip to content
Snippets Groups Projects
Commit e355132b authored by Jenkins's avatar Jenkins Committed by Gerrit Code Review
Browse files

Merge "Fix the docker may return a empty dict when pull images"

parents 63f07948 7fe22629
No related branches found
No related tags found
No related merge requests found
...@@ -211,28 +211,32 @@ class DockerWorker(object): ...@@ -211,28 +211,32 @@ class DockerWorker(object):
image, tag = self.parse_image() image, tag = self.parse_image()
status = [ statuses = [
json.loads(line.strip()) for line in self.dc.pull( json.loads(line.strip()) for line in self.dc.pull(
repository=image, tag=tag, stream=True repository=image, tag=tag, stream=True
) )
] ]
# NOTE(SamYaple): This allows us to use v1 and v2 docker registries. for status in reversed(statuses):
# Eventually docker will stop supporting v1 registries and when # NOTE(jeffrey4l): Get the last not empty status with status
# that happens we can remove this. # property
search = -2 if 'legacy registry' in status[-1].get('status') else -1 if status and status.get('status'):
# NOTE(SamYaple): This allows us to use v1 and v2 docker
if "Downloaded newer image for" in status[search].get('status'): # registries. Eventually docker will stop supporting v1
self.changed = True # registries and when that happens we can remove this.
elif "Image is up to date for" in status[search].get('status'): if 'legacy registry' in status.get('status'):
# No new layer was pulled, no change continue
pass elif "Downloaded newer image for" in status.get('status'):
else: self.changed = True
self.module.fail_json( return
msg="Invalid status returned from pull", elif "Image is up to date for" in status.get('status'):
changed=True, return
failed=True else:
) self.module.fail_json(
msg="Invalid status returned from pull",
changed=True,
failed=True
)
def remove_container(self): def remove_container(self):
if self.check_container(): if self.check_container():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment