diff --git a/plugins/module_utils/compose_v2.py b/plugins/module_utils/compose_v2.py index 6e6ad39f..efa142f4 100644 --- a/plugins/module_utils/compose_v2.py +++ b/plugins/module_utils/compose_v2.py @@ -324,7 +324,8 @@ def _warn_missing_dry_run_prefix(line, warn_missing_dry_run_prefix, warn_functio # This could be a bug, a change of docker compose's output format, ... # Tell the user to report it to us :-) warn_function( - 'Event line is missing dry-run mode marker: {0!r}. Please report this at ' + 'Event line is missing dry-run mode marker: {0!r}. Please check with the latest community.docker version,' + ' and if the problem still happens there, please report this at ' 'https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md' .format(line) ) @@ -335,7 +336,8 @@ def _warn_unparsable_line(line, warn_function): # Tell the user to report it to us :-) if warn_function: warn_function( - 'Cannot parse event from line: {0!r}. Please report this at ' + 'Cannot parse event from line: {0!r}. Please check with the latest community.docker version,' + ' and if the problem still happens there, please report this at ' 'https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md' .format(line) ) @@ -383,7 +385,8 @@ def parse_json_events(stderr, warn_function=None): continue if warn_function: warn_function( - 'Cannot parse event from non-JSON line: {0!r}. Please report this at ' + 'Cannot parse event from non-JSON line: {0!r}. Please check with the latest community.docker version,' + ' and if the problem still happens there, please report this at ' 'https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md' .format(line) ) @@ -393,7 +396,8 @@ def parse_json_events(stderr, warn_function=None): except Exception as exc: if warn_function: warn_function( - 'Cannot parse event from line: {0!r}: {1}. Please report this at ' + 'Cannot parse event from line: {0!r}: {1}. Please check with the latest community.docker version,' + ' and if the problem still happens there, please report this at ' 'https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md' .format(line, exc) ) @@ -450,7 +454,8 @@ def parse_json_events(stderr, warn_function=None): except KeyError: if warn_function: warn_function( - 'Unknown resource type {0!r} in line {1!r}. Please report this at ' + 'Unknown resource type {0!r} in line {1!r}. Please check with the latest community.docker version,' + ' and if the problem still happens there, please report this at ' 'https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md' .format(resource_type_str, line) ) diff --git a/plugins/modules/current_container_facts.py b/plugins/modules/current_container_facts.py index a376baca..cb04e3bf 100644 --- a/plugins/modules/current_container_facts.py +++ b/plugins/modules/current_container_facts.py @@ -16,6 +16,7 @@ version_added: 1.1.0 description: - Return facts about whether the module runs in a Docker or podman container. - This module attempts a best-effort detection. There might be special cases where it does not work; if you encounter one, + make sure that this is still a problem with the latest community.docker release, and if it is, L(please file an issue, https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&template=bug_report.md). author: - Felix Fontein (@felixfontein) diff --git a/plugins/modules/docker_container.py b/plugins/modules/docker_container.py index 86b6dbdd..07660be0 100644 --- a/plugins/modules/docker_container.py +++ b/plugins/modules/docker_container.py @@ -795,8 +795,9 @@ options: description: - Platform for the container in the format C(os[/arch[/variant]]). - "Note that since community.docker 3.5.0, the module uses both the image's metadata and the Docker daemon's information - to normalize platform strings similarly to how Docker itself is doing this. If you notice idempotency problems, L(please - create an issue in the community.docker GitHub repository, + to normalize platform strings similarly to how Docker itself is doing this. If you notice idempotency problems, please + verify whether this is still a problem with the latest release of community.docker, and if it is, + L(create an issue in the community.docker GitHub repository, https://github.com/ansible-collections/community.docker/issues/new?assignees=&labels=&projects=&template=bug_report.md). For older community.docker versions, you can use the O(comparisons) option with C(platform: ignore) to prevent accidental recreation of the container due to this." diff --git a/tests/integration/targets/docker_compose_v2/tasks/tests/build.yml b/tests/integration/targets/docker_compose_v2/tasks/tests/build.yml index e80b4d9b..594970e7 100644 --- a/tests/integration/targets/docker_compose_v2/tasks/tests/build.yml +++ b/tests/integration/targets/docker_compose_v2/tasks/tests/build.yml @@ -106,7 +106,7 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - present_1.containers | length == 1 - present_1.containers[0].Name == (pname ~ '-' ~ cname ~ '-1') @@ -116,22 +116,22 @@ present_1.images[0].ContainerName == (pname ~ '-' ~ cname ~ '-1') - present_1.images[0].Repository == iname - present_1.images[0].Tag == "latest" - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 # - present_3_check is changed -- whether this is true depends on a combination of Docker CLI and Docker Compose version... # Compose 2.37.3 with Docker 28.2.x results in 'changed', while Compose 2.37.3 with Docker 28.3.0 results in 'not changed'. # It seems that Docker is now clever enough to notice that nothing is rebuilt... - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - ((present_3 is changed) if docker_compose_version is version('2.31.0', '>=') and docker_compose_version is version('2.32.2', '<') else (present_3 is not changed)) - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 # - present_4_check is changed # Same as above... - - present_4_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4 is not changed - - present_4.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4.warnings | default([]) | select('regex', ' please report this at ') | length == 0 always: - name: Cleanup diff --git a/tests/integration/targets/docker_compose_v2/tasks/tests/container-exit.yml b/tests/integration/targets/docker_compose_v2/tasks/tests/container-exit.yml index 989f6a47..c8a8d155 100644 --- a/tests/integration/targets/docker_compose_v2/tasks/tests/container-exit.yml +++ b/tests/integration/targets/docker_compose_v2/tasks/tests/container-exit.yml @@ -54,7 +54,7 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is failed - present_1.containers | length == 1 - present_1.containers[0].Name == (pname ~ '-' ~ cname ~ '-1') @@ -67,6 +67,6 @@ present_1.images[0].ContainerName == (pname ~ '-' ~ cname ~ '-1') - present_1.images[0].Repository == (docker_test_image_alpine | split(':') | first) - present_1.images[0].Tag == (docker_test_image_alpine | split(':') | last) - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - >- ("container " ~ pname ~ '-' ~ cname ~ "-1 exited (0)") in present_1.msg diff --git a/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml b/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml index da034198..b0460744 100644 --- a/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml +++ b/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml @@ -77,7 +77,7 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - present_1.containers | length == 1 - present_1.containers[0].Name == (pname ~ '-' ~ cname ~ '-1') @@ -88,15 +88,15 @@ present_1.images[0].ContainerName == (pname ~ '-' ~ cname ~ '-1') - present_1.images[0].Repository == (docker_test_image_alpine | split(':') | first) - present_1.images[0].Tag == (docker_test_image_alpine | split(':') | last) - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3_check is changed - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3 is changed - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 #################################################################### ## Absent ########################################################## @@ -135,13 +135,13 @@ - assert: that: - absent_1_check is changed - - absent_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_1 is changed - - absent_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_2_check is not changed - - absent_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_2 is not changed - - absent_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 #################################################################### ## Stopping and starting ########################################### @@ -261,30 +261,30 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3_check is changed - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3 is changed - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4_check is not changed - - present_4_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4 is not changed - - present_4.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5_check is changed - - present_5_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5 is changed - - present_5.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_6_check is changed - - present_6_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_6_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_6 is changed - - present_6.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_6.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_7_check is changed - - present_7_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_7_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_7 is changed - - present_7.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_7.warnings | default([]) | select('regex', ' please report this at ') | length == 0 diff --git a/tests/integration/targets/docker_compose_v2/tasks/tests/pull.yml b/tests/integration/targets/docker_compose_v2/tasks/tests/pull.yml index 8376b530..57914393 100644 --- a/tests/integration/targets/docker_compose_v2/tasks/tests/pull.yml +++ b/tests/integration/targets/docker_compose_v2/tasks/tests/pull.yml @@ -82,16 +82,16 @@ that: - present_1_check is failed or present_1_check is changed - present_1_check is changed or present_1_check.msg.startswith('General error:') - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is failed - present_1.msg.startswith('General error:') - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is failed - present_2_check.msg.startswith('Error when processing ' ~ cname ~ ':') - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is failed - present_2.msg.startswith('Error when processing ' ~ cname ~ ':') - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 #################################################################### ## Regular image ################################################### @@ -192,32 +192,32 @@ - present_1_check is changed - (present_1_check.actions | selectattr('status', 'eq', 'Pulling') | first) is truthy - (present_1_check.actions | selectattr('status', 'eq', 'Creating') | first) is truthy - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - (present_1.actions | selectattr('status', 'eq', 'Pulling') | first) is truthy - (present_1.actions | selectattr('status', 'eq', 'Creating') | first) is truthy - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3_check is changed - (present_3_check.actions | selectattr('status', 'eq', 'Pulling') | first) is truthy - present_3_check.actions | selectattr('status', 'eq', 'Creating') | length == 0 - present_3_check.actions | selectattr('status', 'eq', 'Recreating') | length == 0 - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3 is not changed - (present_3.actions | selectattr('status', 'eq', 'Pulling') | first) is truthy - present_3.actions | selectattr('status', 'eq', 'Creating') | length == 0 - present_3.actions | selectattr('status', 'eq', 'Recreating') | length == 0 - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4_check is changed - present_4_check.actions | selectattr('status', 'eq', 'Pulling') | length == 0 - - present_4_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4 is changed - present_4.actions | selectattr('status', 'eq', 'Pulling') | length == 0 - - present_4.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5_check is not changed - - present_5_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5 is not changed - - present_5.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5.warnings | default([]) | select('regex', ' please report this at ') | length == 0 diff --git a/tests/integration/targets/docker_compose_v2/tasks/tests/start-stop.yml b/tests/integration/targets/docker_compose_v2/tasks/tests/start-stop.yml index 12d7fec5..4918c2b5 100644 --- a/tests/integration/targets/docker_compose_v2/tasks/tests/start-stop.yml +++ b/tests/integration/targets/docker_compose_v2/tasks/tests/start-stop.yml @@ -94,7 +94,7 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - present_1.containers | length == 1 - present_1.containers[0].Name == (pname ~ '-' ~ cname ~ '-1') @@ -105,15 +105,15 @@ present_1.images[0].ContainerName == (pname ~ '-' ~ cname ~ '-1') - present_1.images[0].Repository == (docker_test_image_alpine | split(':') | first) - present_1.images[0].Tag == (docker_test_image_alpine | split(':') | last) - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3_check is changed - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3 is changed - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 #################################################################### ## Absent ########################################################## @@ -148,13 +148,13 @@ - assert: that: - absent_1_check is changed - - absent_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_1 is changed - - absent_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_2_check is not changed - - absent_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - absent_2 is not changed - - absent_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - absent_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 #################################################################### ## Stopping and starting ########################################### @@ -264,30 +264,30 @@ - assert: that: - present_1_check is changed - - present_1_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_1 is changed - - present_1.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_1.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2_check is not changed - - present_2_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_2 is not changed - - present_2.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_2.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3_check is changed - - present_3_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_3 is changed - - present_3.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_3.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4_check is not changed - - present_4_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_4 is not changed - - present_4.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_4.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5_check is changed - - present_5_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_5 is changed - - present_5.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_5.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_6_check is changed - - present_6_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_6_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_6 is changed - - present_6.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_6.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_7_check is changed - - present_7_check.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_7_check.warnings | default([]) | select('regex', ' please report this at ') | length == 0 - present_7 is changed - - present_7.warnings | default([]) | select('regex', ' Please report this at ') | length == 0 + - present_7.warnings | default([]) | select('regex', ' please report this at ') | length == 0