From 4649279c9d14b70a0155b13eb6982a82c0fc5877 Mon Sep 17 00:00:00 2001 From: SamYaple Date: Thu, 28 Jan 2016 02:43:55 +0000 Subject: [PATCH] Rework log output if pull fails Co-Authored-By: Sam Yaple Change-Id: I066b2d419abb3ef2d4827ce686865c0dc68a5e97 Closes-bug: #1537763 --- ansible/library/kolla_docker.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py index 3a1958c7cb..bc751cc939 100644 --- a/ansible/library/kolla_docker.py +++ b/ansible/library/kolla_docker.py @@ -337,23 +337,35 @@ class DockerWorker(object): ] for status in reversed(statuses): - # NOTE(jeffrey4l): Get the last not empty status with status - # property + if 'error' in status: + if status['error'].endswith('not found'): + self.module.fail_json( + msg="The requested image does not exist: {}:{}".format( + image, tag), + failed=True + ) + else: + self.module.fail_json( + msg="Unknown error message: {}".format( + status['error']), + failed=True + ) + if status and status.get('status'): # NOTE(SamYaple): This allows us to use v1 and v2 docker # registries. Eventually docker will stop supporting v1 # registries and when that happens we can remove this. - if 'legacy registry' in status.get('status'): + if 'legacy registry' in status['status']: continue - elif "Downloaded newer image for" in status.get('status'): + elif 'Downloaded newer image for' in status['status']: self.changed = True return - elif "Image is up to date for" in status.get('status'): + elif 'Image is up to date for' in status['status']: return else: self.module.fail_json( - msg="Invalid status returned from pull", - changed=True, + msg="Unknown status message: {}".format( + status['status']), failed=True )