Commit Graph

278 Commits

Author SHA1 Message Date
Felix Fontein c4c347c626 Add proper platform handling. (#705) 2023-12-10 09:03:32 +01:00
Felix Fontein b3ef5f5196 Clean up vendored Docker SDK for Python TLS handling code. (#722) 2023-12-09 23:19:36 +01:00
Felix Fontein 26772304f9 Do not accept tls_hostname for Docker SDK for Python 7.0.0+. (#721) 2023-12-09 23:16:03 +01:00
Felix Fontein a120794958 Prepare 3.5.0 release. 2023-12-09 22:06:03 +01:00
Felix Fontein 3aa1ddcca0 Docker SDK for Python 7+: make sure that ssl_version is not passed, and error out if it was explicitly set (#715)
* Do not accept ssl_version for Docker SDK for Python 7.0.0+.

* Add changelog fragment.

* Generally avoid sending None values to TLSConfig. Potentially prevents similar errors in the future, assuming the users do not pass values in.

* Python 2.6 compatibility.
2023-12-09 17:59:06 +00:00
Felix Fontein 907dc28f73 Deprecate default 'ignore' of 'image_name_mismatch'. (#703) 2023-12-07 12:32:50 +01:00
Felix Fontein d8cef6c71e docker_container: refactoring preparing better comparisons (#713)
* Always get the container's image as well to allow get_value() to use that one too.

* Allow options and engines to overwrite comparison functions.

* Do not fail if image (by ID) cannot be found.

* Allow to control when container image is needed.

* Pass option to compare function.

* Allow to pass the host info for retrieving a value.

* Add changelog fragment.
2023-12-05 07:26:11 +01:00
Felix Fontein 1052ce2ded Release 3.4.11. 2023-11-12 12:04:56 +01:00
Alexander Jähnel 4c220c4d74 fix(community.docker.docker_volume): labels can be none (#702)
* fix(community.docker.docker_volume): labels can be none

catch case where volume labels can are done (default) eg:

$ docker volume inspect foo
[    
    {
        "CreatedAt": "2023-11-11T12:55:23+01:00",                                                                                                            
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/foo/_data",
        "Name": "foo",
        "Options": {},
        "Scope": "local"
    }
]

* Update plugins/modules/docker_volume.py

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

* add(community.docker.docker_volume): changelog fragment

* Update changelogs/fragments/702-docker-volume-label-none.yaml

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

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-11-12 11:19:56 +01:00
Felix Fontein 9ba09432a7 Prepare 3.4.11 release. 2023-11-12 10:02:23 +01:00
Felix Fontein ee054c6bf7 Release 3.4.10. 2023-10-29 15:30:46 +01:00
Felix Fontein a0775fe194 Prepare 3.4.10 release. 2023-10-29 08:32:13 +01:00
Felix Fontein fbc2750b6a Do not pass data_path_addr for older Docker SDK for Python versions. (#696) 2023-10-14 23:48:46 +02:00
Felix Fontein 70ea796914 Release 3.4.9. 2023-10-08 21:35:36 +02:00
Felix Fontein be610963b5 Prepare 3.4.9 release. 2023-10-08 18:38:22 +02:00
Felix Fontein 377f0f7355 Release 3.4.8. 2023-06-22 10:49:45 +02:00
Felix Fontein a1c5a2d342 Update release summary. 2023-06-22 07:02:40 +02:00
Felix Fontein 5b287b6650 Next expected release is 3.4.8. 2023-06-15 13:35:05 +02:00
Felix Fontein e5d289a650 Release 3.4.7. 2023-06-15 13:15:25 +02:00
Felix Fontein 440669e76d Prepare 3.4.7 release. 2023-06-15 07:22:20 +02:00
Felix Fontein 748d619fb2 Fix EndpointSpec KeyError. (#637) 2023-05-26 17:58:09 +02:00
Felix Fontein a284137d15 Release 3.4.6. 2023-05-20 21:14:49 +02:00
Felix Fontein cdccf955a8 Prepare 3.4.6. 2023-05-20 19:38:28 +02:00
Felix Fontein 1660bf4104 vendored Docker SDK for Python code: update to latest version (#619)
* socket: fix for errors on pipe close in Windows (https://github.com/docker/docker-py/pull/3099)

Need to return data, not size. By returning an empty
string, EOF will be detected properly since `len()`
will be `0`.

Fixes https://github.com/docker/docker-py/issues/3098.

Cherry-picked from https://github.com/docker/docker-py/commit/f84623225e0227adde48ffd8f2e1cafb1f9aa38d

Co-authored-by: Milas Bowman <milas.bowman@docker.com>

* socket: use poll() instead of select() except on Windows (https://github.com/docker/docker-py/pull/2865)

Fixes https://github.com/docker/docker-py/issues/2278, which was originally addressed in https://github.com/docker/docker-py/pull/2279, but was not
properly merged. Additionally it did not address the problem
of poll not existing on Windows. This patch falls back on the
more limited select method if host system is Windows.

Cherry-picked from https://github.com/docker/docker-py/commit/a02ba743338c27fd9348af2cf7767b140501734d

Co-authored-by: Tyler Westland <tylerofthewest@gmail.com>

* api: respect timeouts on Windows named pipes (https://github.com/docker/docker-py/pull/3112)

Cherry-picked from https://github.com/docker/docker-py/commit/9cadad009e6aa78e15d752e2011705d7d91b8d2e

Co-authored-by: Imogen <59090860+ImogenBits@users.noreply.github.com>

* Add URL to changelog.

* api: avoid socket timeouts when executing commands (https://github.com/docker/docker-py/pull/3125)

Only listen to read events when polling a socket in order
to avoid incorrectly trying to read from a socket that is
not actually ready.

Cherry-picked from https://github.com/docker/docker-py/commit/c5e582c413a4a3a9eff6ee8208d195f657ffda94

Co-authored-by: Loïc Leyendecker <loic.leyendecker@gmail.com>

---------

Co-authored-by: Milas Bowman <milas.bowman@docker.com>
Co-authored-by: Tyler Westland <tylerofthewest@gmail.com>
Co-authored-by: Imogen <59090860+ImogenBits@users.noreply.github.com>
Co-authored-by: Loïc Leyendecker <loic.leyendecker@gmail.com>
2023-05-20 19:35:56 +02:00
Felix Fontein d7f7e44b9e Make sure plugins/module_utils/socket_handler.py works when Docker SDK for Python is not installed. (#620) 2023-05-15 21:43:31 +02:00
Felix Fontein 245ab76b09 Warn that SSLSocket cannot send close_notify TLS alerts (#621)
* Warn that SSLSocket cannot send close_notify TLS alerts.

* Improve formulation.

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

---------

Co-authored-by: Don Naro <dnaro@redhat.com>
2023-05-15 21:41:23 +02:00
Felix Fontein ce16a0d5f1 Release 3.4.5. 2023-05-05 22:23:19 +02:00
Felix Fontein 39f2e9b9c4 Make compatible with requests 2.29.0 and urllib3 2.0 (#613)
* Make compatible with requests 2.29.0.

* This fix should also work with urllib3 2.0 according to urllib3 maintainer.

* Add changelog fragment.

* We still need the constraint for CI until Docker SDK for Python has a new release with a fix.

* Make modifications to response_class as small as possible.

* Revert "We still need the constraint for CI until Docker SDK for Python has a new release with a fix."

This reverts commit 698d544a1e08308e8bf8b4e56ab78c5079f9a17b.

* The pip coming with the ansible-core 2.11 alpine3 image seems to be too old.
2023-05-05 22:09:02 +02:00
Felix Fontein 5a26eee6d4 Prepare 3.4.5. 2023-05-05 21:22:57 +02:00
Felix Fontein 0475be5166 Release 3.4.4. 2023-05-01 09:54:42 +02:00
Felix Fontein ba5b3306a7 Also mention urllib3 2.0.0 in known_issues. 2023-05-01 09:51:38 +02:00
Felix Fontein 4ab05500e3 Prepare 3.4.4 release. 2023-05-01 09:47:48 +02:00
Felix Fontein 088cbaed4e Restrict requests to < 2.29.0 (#612)
* Restrict requests to < 2.29.0.

* Also avoid urllib3, which gets installed in some cases even though it shouldn't.
2023-04-29 16:25:07 +02:00
Felix Fontein e0f4c33782 Release 3.4.3. 2023-03-24 07:19:39 +01:00
Felix Fontein 65407001ff Prepare 3.4.3 release. 2023-03-23 21:27:15 +01:00
Felix Fontein 82dde7cadd Release 3.4.2. 2023-02-25 15:37:21 +01:00
Felix Fontein 18584f6b40 Prepare 3.4.2 release. 2023-02-24 21:36:26 +01:00
Felix Fontein 08bfcf7e5f docker_prune: correctly return 'changed' result (#593)
* Correctly return 'changed' status.

* Extend tests.

* Fix typo.
2023-02-24 17:24:16 +01:00
Felix Fontein 5dd90e5884 Release 3.4.1. 2023-02-20 22:39:26 +01:00
Felix Fontein 983b2b4783 exec: fix file handle leak with container.exec_* APIs (https://github.com/docker/docker-py/pull/2320) (#582)
Requests with stream=True MUST be closed or else the connection will
never be returned to the connection pool. Both ContainerApiMixin.attach
and ExecApiMixin.exec_start were leaking in the stream=False case.
exec_start was modified to follow attach for the stream=True case as
that allows the caller to close the stream when done (untested).

Tested with:

    # Test exec_run (stream=False) - observe one less leak
    make integration-test-py3 file=models_containers_test.py' -k test_exec_run_success -vs -W error::ResourceWarning'
    # Test exec_start (stream=True, fully reads from CancellableStream)
    make integration-test-py3 file=api_exec_test.py' -k test_execute_command -vs -W error::ResourceWarning'

After this change, one resource leak is removed, the remaining resource
leaks occur because none of the tests call client.close().

Fixes https://github.com/docker/docker-py/issues/1293
(Regression from https://github.com/docker/docker-py/pull/1130)

Cherry-picked from https://github.com/docker/docker-py/commit/34e6829dd40e99e9ba47ea02fcfabda09e08d36e

Co-authored-by: Peter Wu <pwu@cloudflare.com>
Co-authored-by: Milas Bowman <milas.bowman@docker.com>
2023-02-12 08:29:28 +01:00
Felix Fontein 5c70d8fd7a Prepare 3.4.1 release. 2023-02-10 14:06:22 +01:00
Kristof Mattei d2f551fc5d fix: fix tmpfs_size and tmpfs_mode not being set (#580)
* fix: fix tmpfs_size and tmpfs_mode not being set

* fix: wrong file

* fix: add changelog fragment

* fix: update changelog fragment to match formatting

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

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
2023-02-10 14:05:09 +01:00
Felix Fontein 54a3dc151d Remove unneccessary imports (#575)
* Remove unneccessary imports.

* Add noqas.
2023-02-09 15:25:45 +01:00
Felix Fontein 96b6f5917d Release 3.4.0. 2023-01-14 11:20:16 +01:00
Felix Fontein c7cbec0163 docker_plugin: do not crash when plugin doesn't exist (#553)
* Do not crash when plugin doesn't exist.

* Improve style.

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2023-01-13 20:49:06 +01:00
Felix Fontein 4e6ac335f3 Improve envvar fallback handling. (#554) 2023-01-13 06:37:04 +01:00
Felix Fontein 757b02cc15 Prepare 3.4.0 release. 2023-01-09 11:54:13 +01:00
Felix Fontein e198e4ab43 Add docker_container_copy_into module (#545)
* Move copying functionality to module_utils.

* Add docker_container_copy_into module.

* Use new module in other tests.

* Fix copyright and attributes.

* Improve idempotency, improve stat code.

* Document and test when a stopped container works.

* Improve owner/group detection error handling when container is stopped.

* Fix formulation.

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

* Improve file comparison.

* Avoid reading whole file at once.

* Stream when fetching files from daemon.

* Fix comment.

* Use read() instead of read1().

* Stream files when copying into container.

* Linting.

* Add force parameter.

* Simplify library code.

* Linting.

* Add content and content_is_b64 options.

* Make force=false work as for copy module: only copy if the destination does not exist.

* Improve docs.

* content should be no_log.

* Implement diff mode.

* Improve error handling.

* Lint and improve.

* Set owner/group ID to avoid ID lookup (which fails in paused containers).

* Apply suggestions from code review

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2023-01-09 11:52:29 +01:00
Felix Fontein 18091193de Fix error handling. (#546) 2023-01-05 09:42:42 +01:00
Felix Fontein faa7fef504 docker_host_info: allow to list all containers (#538)
* Allow to list all containers.

* Fix typo.
2022-12-27 21:39:17 +01:00