Commit Graph

136 Commits

Author SHA1 Message Date
Felix Fontein
dc0a554966
docker_container: do not send wrong host IP for duplicate ports (#1214) (#1215)
* DRY.

* Port spec can be a list of port specs.

* Add changelog fragment.

* Add test.

(cherry picked from commit 846fc8564b)
2025-11-26 07:08:38 +00:00
Felix Fontein
8f50319434
[stable-4] docker_network: fix IP subnet and address idempotency (#1203)
* Fix IP subnet and address idempotency. (#1201)

(cherry picked from commit 3da2799e03)

* Add warning about missing normalization if ipaddress is not there on Python 2.

* Fix mistake.
2025-11-16 11:18:47 +01:00
Felix Fontein
a80e6bf7ec
docker_image(_pull), docker_container: fix compatibility with Docker 29.0.0 (#1192) (#1198)
* Add debug flag to failing task.

* Add more debug output.

* Fix pull idempotency.

* Revert "Add more debug output."

This reverts commit 64020149bf.

* Fix casing.

* Remove unreliable test.

* Add 'debug: true' to all tasks.

* Reformat.

* Fix idempotency problem for IPv6 addresses.

* Fix expose ranges handling.

* Update changelog fragment to also mention other affected modules.

(cherry picked from commit 90c4b4c543)
2025-11-15 17:47:34 +01:00
Felix Fontein
c3eaabc148
Work around Docker 29.0.0 bug. (#1187) (#1190)
(cherry picked from commit ec14568b22)
2025-11-12 19:37:30 +01:00
Felix Fontein
075bc91ce8
[stable-4] Adjust 'report this' messages to only report if the latest version still has this problem (#1174)
* Adjust 'report this' messages to only report if the latest version still has this problem. (#1173)

(cherry picked from commit 6b5d76bdee)

* Adjust checks.

(cherry picked from commit 24f35644e3)
2025-10-16 18:05:39 +02:00
Felix Fontein
f3455f9c09
Fix method signature. (#1172) 2025-10-15 21:55:11 +02:00
patchback[bot]
3b0ab3bd8b
Prevent loss of data. (#1152) (#1154)
(cherry picked from commit ec5f7682a1)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-10-07 22:42:32 +02:00
Felix Fontein
488dd28339
Fix docker_container_exec's detach=true. (#1145) (#1148)
(cherry picked from commit 449b37e1c9)
2025-10-07 19:16:04 +02:00
Felix Fontein
251e4eca49
Remove remaining usages of ansible.module_utils.six. (#1140) 2025-10-05 16:17:50 +02:00
Felix Fontein
ebe42308cc
Replace ansible.module_utils.six with own module utils in some cases (#1138)
* Replace ansible.module_utils.six with own module utils in some cases.

* Add ignore.txt entires.
2025-10-04 23:45:27 +02:00
Felix Fontein
fd011d3871
Support missing fields and missing types in mounts. (#1134) 2025-09-29 22:35:07 +02:00
Felix Fontein
68ac6fecb1
Avoid deprecated functionality. (#1117) 2025-08-17 20:15:40 +02:00
Felix Fontein
ac301beebd
Adjust to Compose 2.39.0+. (#1101) 2025-07-25 21:59:41 +02:00
Felix Fontein
e9f4553b01
docker_container idempotency: work around Docker not returning true configured command when command is [] (#1085)
* Work around Docker not returning true configured command when command is [].

* Lint.

* Add test.

* Add changelog fragment.
2025-06-08 19:05:09 +02:00
Felix Fontein
8ecbd9a5cc
docker_compose_v2: work around bug in docker compose images --format json (#1083)
* Work around ubg in docker compose images --format json.

* ContainerName is no longer in image record.
2025-06-07 23:28:51 +02:00
Felix Fontein
22ab85fe2b
docker_context_info: fix some aspects (#1043)
* Extend docker_context_info tests.

* Fix a bug in the context code.

* Fix TLS handling for contexts.

* Adjust code to fix tests.
2025-02-10 23:54:36 +01:00
Felix Fontein
3b6068e44b
Add docker_context_info module (#1039)
* Vendor parts of the Docker SDK for Python

This is a combination of the latest git version
(db7f8b8bb6)
with some fixes to make it compatible with Python 2.7
and adjusting some imports.

* Polishing.

* Fix bug that prevents contexts to be found when no Docker config file is present.

Ref: https://github.com/docker/docker-py/issues/3190

* Linting.

* Fix typos.

* Adjust more to behavior of Docker CLI.

* Add first iteration of docker_context_info module.

* Improvements.

* Add basic CI.

* Add caveat on contexts[].config result.
2025-02-10 21:59:05 +01:00
Felix Fontein
bcd6e57450
Vendored Docker SDK for Python code: remove unused constants (#1037)
* Remove constants that are never used.

* Adjust unit tests.
2025-02-01 23:14:19 +01:00
Felix Fontein
511cfe52ca
Improve error handling. (#1035) 2025-01-31 19:39:08 +01:00
Felix Fontein
9cc70f5202
Fix label sanitization error handling. (#1029) 2025-01-22 20:45:08 +00:00
Florian Apolloner
6172a9291c
Determine the compose version via a CLI call and not the docker API. (#1021)
* Determine the compose version via a CLI call and not the docker API.

* Update plugins/module_utils/compose_v2.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-29 14:13:39 +01:00
Felix Fontein
f69536ef3b Improve language. 2024-12-28 14:30:49 +01:00
Felix Fontein
2e7b4e4605
docker_compose_v2: add ignore_build_events option; ignore build events by default (#1011)
* Add ignore_build_events option.

* Adjust docs and tests.

* Switch default to true.

* Remove unnecessary parts from tests.
2024-12-14 19:54:40 +01:00
Felix Fontein
1e10834905
Sanitize labels. (#985) 2024-11-09 23:53:22 +01:00
Felix Fontein
f7823ea626
Prepare 4.0.0 release. (#971) 2024-10-18 21:01:49 +02:00
Felix Fontein
28e87f4602
Compose v2: improve parsing of dry-run building JSON events (#976)
* Catch more warnings that shouldn't be there.

* Add explicit handling of dry-run image build JSON events.

These produce some one-off ID values that don't make any sense as ID values.
2024-10-14 20:56:49 +02:00
Felix Fontein
423a9bbf61
Add Docker Compose v2 exec and run modules. (#969) 2024-09-27 13:00:48 +03:00
Felix Fontein
3cc27ecd65
Handle yet another random unstructured error output. (#949) 2024-08-07 15:58:23 +02:00
Felix Fontein
45b2531129
docker_compose_v2* modules: use --progress json for Compose 2.29.0+ (#931)
* Use --progress json for Compose 2.29.0+.

* Add changelog fragment.

* Fix/improve handling of warnings.

* Improve parsing of warnings and some one-off messages.

* Improve warnings.

* Handle tail messages.

* Fix bug in regular event parsing.
2024-07-25 18:33:42 +02:00
Felix Fontein
ebec16d42c
Handle network_mode=default correctly for Docker 26.1.0+. (#936) 2024-07-25 18:30:12 +02:00
Felix Fontein
2ddadf1e2b
docker_container: pass networks to Daemon on container creation (#933)
* Pass networks to Daemon on container creation.

* Restore old behavior, and only provide all networks on creation for API 1.44+.
2024-07-23 17:34:26 +02:00
Felix Fontein
22bbfbaf8b
CLI modules: improve docker version/info output processing, avoid querying for API version if it's not needed (#935)
* Don't assume that docker version/info JSON output contains the expected fields.

* Allow CLI modules to not require the API version.

* Add changelog fragment.
2024-07-20 15:51:02 +02:00
Felix Fontein
4b7e74b75e
docker_container: allow to wait for a container to become healthy (#921)
* Allow to wait for a container to become healthy.

* Improve wording.

Co-authored-by: Don Naro <dnaro@redhat.com>

* Improve explanation.

---------

Co-authored-by: Don Naro <dnaro@redhat.com>
2024-07-09 20:07:00 +02:00
Felix Fontein
6fcbd34e23
Prevent infinite loop. (#922) 2024-07-07 23:18:58 +02:00
Felix Fontein
48c0cdf2c5
Imporve parsing of skipped messages. (#916) 2024-07-06 21:10:39 +02:00
Fran Jurinec
9b5dbd4543
Add support from device_cgroup_rules parameter (#910) 2024-07-04 09:51:32 +02:00
Felix Fontein
81cabbf697
CI: Run some tests with the latest development versions of Docker SDK for Python, requests, and urllib3 (#902)
* Run some tests with the latest development versions of Docker SDK for Python, requests, and urllib3.

* Use LooseVersion instead of StrictVersion to parse urllib3 versions.
2024-06-29 18:57:08 +02:00
Felix Fontein
ad9d362336
Make docker_host and cli_context mutually exclusive. (#895) 2024-06-28 22:26:34 +02:00
Felix Fontein
4cac2ac021
Make sure that one of project_src and definition is provided. (#886) 2024-06-16 21:49:20 +02:00
Felix Fontein
205867e392
Avoid using the deprecated selectors compat module utils. (#871) 2024-05-25 09:00:18 +02:00
Felix Fontein
1b50cee901
Add fix for requests 2.32.2+. (#864) 2024-05-21 19:22:39 +02:00
Felix Fontein
ab8b6662c2
Add hotfix for requests 2.32.0. (#861) 2024-05-20 21:08:25 +02:00
x4rd0o1Vtx
5016a96eba
Allow healthcheck override without test option (#847)
* Add healthcheck test_cli_compatible option

* Update plugins/module_utils/util.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/docker_container.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-05-15 18:45:01 +02:00
Felix Fontein
36c118d154
Deprecate ssl_version. (#853) 2024-05-11 15:53:19 +02:00
x4rd0o1Vtx
a4a05e7fa5
Add healthcheck start-interval option (#848) 2024-05-09 21:22:06 +02:00
Felix Fontein
8bcc3519d4
Add check_files_existing option. (#839) 2024-04-21 16:01:07 +02:00
Felix Fontein
8ad45286a3
Remove unused code that relies on functionality deprecated in Python 3.12. (#834) 2024-04-15 11:21:46 +00:00
Felix Fontein
9e8c367c47
docker_compose_v2: allow to specify inline compose definitions (#832)
* Allow to specify inline compose definitions.

* Remove comma that trips Python 2.7.

* Add tests.

* Add PyYAML as EE dependency.

* Be more explicit on PyYAML.
2024-04-09 17:41:12 +02:00
Felix Fontein
2925334a1a
Make sure project_src is an absolute path. (#828) 2024-04-04 21:39:38 +02:00
Felix Fontein
7102d38923
Better error message if Compose version is 'dev'. (#826) 2024-03-29 19:29:14 +01:00