Skip to content

daemon, client: remove version-gate for daemon-side AutoRemove#51073

Merged
thaJeztah merged 1 commit intomoby:masterfrom
thaJeztah:server_side_autorm
Oct 3, 2025
Merged

daemon, client: remove version-gate for daemon-side AutoRemove#51073
thaJeztah merged 1 commit intomoby:masterfrom
thaJeztah:server_side_autorm

Conversation

@thaJeztah
Copy link
Member

relates to:

Support for daemon-side auto-remove was added in API v1.25; on older versions of the daemon, the client was responsible for removing the container after it exited (see moby@6dd8e10)

On API versions < 1.30, it used the events API for this purpose, and would wait for a "die", "detach" or "detroy" events to know the container exited, and could be removed or (when attached, but without a TTY) to get the container's exit-status. (see cli@38591f2).

API version 1.24 (docker 1.12) is 9 Years old (July 29, 2016), and API 1.30 (docker 17.06) is 8 Years old (Jun 20, 2017), and long EOL. While technically, a CLI could negotiate API 1.30 or older, this would only be in cases where either API version negotiation failed, or the version was explicitly overridden through DOCKER_API_VERSION for testing.

This patch removes the version-gate for daemon-side AutoRemove; version- specific handling is removed from the client (and a related patch in the CLI).

- What I did

- How I did it

- How to verify it

- Human readable description for the release notes

- A picture of a cute animal (not mandatory but encouraged)

Support for daemon-side auto-remove was added in API v1.25; on older
versions of the daemon, the client was responsible for removing the
container after it exited (see [moby/moby@6dd8e10])

On API versions < 1.30, it used the events API for this purpose, and
would wait for a "die", "detach" or "detroy" events to know the container
exited, and could be removed or (when attached, but without a TTY) to
get the container's exit-status. (see [cli@38591f2]).

API version 1.24 (docker 1.12) is 9 Years old (July 29, 2016), and API
1.30 (docker 17.06) is 8 Years old (Jun 20, 2017), and long EOL. While
technically, a CLI could negotiate API 1.30 or older, this would only
be in cases where either API version negotiation failed, or the version
was explicitly overridden through `DOCKER_API_VERSION` for testing.

This patch removes the version-gate for daemon-side AutoRemove; version-
specific handling is removed from the client (and a related patch in
the CLI).

[moby/moby@6dd8e10]: moby@6dd8e10
[cli@38591f2]: docker/cli@38591f2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@thaJeztah thaJeztah added status/2-code-review kind/refactor PR's that refactor, or clean-up code module/client labels Sep 30, 2025
@thaJeztah thaJeztah added this to the 29.0.0 milestone Sep 30, 2025
@thaJeztah
Copy link
Member Author

Looks like a flaky test;

=== Failed
=== FAIL: daemon/logger/fluentd TestReadWriteTimeoutsAreEffective (10.01s)
    fluentd_test.go:315: Test timed out, which is unexpected
--- PASS: TestReadWriteTimeoutsAreEffective/write_timeout (0.01s)
--- PASS: TestReadWriteTimeoutsAreEffective/read_timeout (10.00s)

@thaJeztah thaJeztah merged commit 4763719 into moby:master Oct 3, 2025
258 of 261 checks passed
@thaJeztah thaJeztah deleted the server_side_autorm branch October 3, 2025 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/refactor PR's that refactor, or clean-up code module/client status/2-code-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants