From 691bc6de724df43809a61548f6366d44c0e54d64 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Fri, 14 Jun 2024 08:02:12 +0200 Subject: [PATCH] Docker Compose v1 tests: restrict API version to 1.44 if default API version is 1.45+ (#881) * Restrict API version to 1.44 if default API version is 1.45+. * Set COMPOSE_API_VERSION if api_version is provided. * Add changelog. --- changelogs/fragments/881-docker-compose-v1-api-version.yml | 2 ++ plugins/modules/docker_compose.py | 3 +++ tests/integration/targets/docker_compose/tasks/main.yml | 6 +++++- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/881-docker-compose-v1-api-version.yml diff --git a/changelogs/fragments/881-docker-compose-v1-api-version.yml b/changelogs/fragments/881-docker-compose-v1-api-version.yml new file mode 100644 index 00000000..9066d377 --- /dev/null +++ b/changelogs/fragments/881-docker-compose-v1-api-version.yml @@ -0,0 +1,2 @@ +bugfixes: + - "docker_compose - make sure that the module uses the ``api_version`` parameter (https://github.com/ansible-collections/community.docker/pull/881)." diff --git a/plugins/modules/docker_compose.py b/plugins/modules/docker_compose.py index 3af3bebb..dcba5adf 100644 --- a/plugins/modules/docker_compose.py +++ b/plugins/modules/docker_compose.py @@ -675,6 +675,9 @@ class ContainerManager(DockerBaseClass): for key, value in client.module.params.items(): setattr(self, key, value) + if self.api_version: + os.environ['COMPOSE_API_VERSION'] = self.api_version + self.check_mode = client.check_mode if not self.debug: diff --git a/tests/integration/targets/docker_compose/tasks/main.yml b/tests/integration/targets/docker_compose/tasks/main.yml index 8ea59f86..34d51887 100644 --- a/tests/integration/targets/docker_compose/tasks/main.yml +++ b/tests/integration/targets/docker_compose/tasks/main.yml @@ -19,7 +19,11 @@ msg: "Using container name prefix {{ cname_prefix }}" # Run the tests -- block: +- module_defaults: + community.docker.docker_compose: + api_version: '{{ omit if docker_api_version is version("1.45", "<") else "1.44" }}' + + block: - include_tasks: run-test.yml with_fileglob: - "tests/*.yml"