From 49cf5831c5bdc1482dbdce0d404a2b6466411413 Mon Sep 17 00:00:00 2001 From: Stephen Paul Suarez Date: Wed, 25 Jun 2014 14:52:00 +0800 Subject: [PATCH] support old and new versions of APIError --- library/cloud/docker_image | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/library/cloud/docker_image b/library/cloud/docker_image index 512f17cfd1c..90f5adcd074 100644 --- a/library/cloud/docker_image +++ b/library/cloud/docker_image @@ -113,6 +113,11 @@ except ImportError, e: print "failed=True msg='failed to import python module: %s'" % e sys.exit(1) +try: + from docker.errors import APIError as DockerAPIError +except ImportError: + from docker.client import APIError as DockerAPIError + class DockerImageManager: def __init__(self, module): @@ -187,7 +192,7 @@ class DockerImageManager: try: self.client.remove_image(i['Id']) self.changed = True - except docker.APIError as e: + except DockerAPIError as e: # image can be removed by docker if not used pass @@ -235,7 +240,7 @@ def main(): module.exit_json(failed=failed, changed=manager.has_changed(), msg=msg, image_id=image_id) - except docker.errors.APIError as e: + except DockerAPIError as e: module.exit_json(failed=True, changed=manager.has_changed(), msg="Docker API error: " + e.explanation) except RequestException as e: