docker modules: make sure everything works with older docker-py versions (#55258)

* General test improvements.

* Adjust tests to older docker-py versions.

* docker_swarm_server_info: work around problems with older docker-py versions

* Bump minimal docker-py version for options network_filters and disk_usage.

* More general test improvements.

* Correct usage of docker_image.

* Put files into output directory.

* Speed up test.

* Remove old check.
This commit is contained in:
Felix Fontein 2019-04-17 19:50:57 +02:00 committed by ansibot
parent 24b44e1772
commit 12d26eceb1
20 changed files with 119 additions and 40 deletions

View file

@ -6,7 +6,7 @@ import json
from time import sleep
try:
from docker.errors import APIError
from docker.errors import APIError, NotFound
except ImportError:
# missing Docker SDK for Python handled in ansible.module_utils.docker.common
pass
@ -259,15 +259,16 @@ class AnsibleDockerSwarmClient(AnsibleDockerClient):
Single service information structure
"""
try:
service_info = self.inspect_service(service=service_id)
service_info = self.inspect_service(service_id)
except NotFound as exc:
if skip_missing is False:
self.fail("Error while reading from Swarm manager: %s" % to_native(exc))
else:
return None
except APIError as exc:
if exc.status_code == 503:
self.fail("Cannot inspect service: To inspect service execute module on Swarm Manager")
if exc.status_code == 404:
if skip_missing is False:
self.fail("Error while reading from Swarm manager: %s" % to_native(exc))
else:
return None
self.fail("Error inspecting swarm service: %s" % exc)
except Exception as exc:
self.fail("Error inspecting swarm service: %s" % exc)