Bump default API version to 1.45 (Moby 26.0/26.1)#3261
Conversation
|
We still need to look at raising the minimum version, but I guess that can wait;
|
|
oh! some failure; let me see if it's related |
|
Looks like it may be, and ISTR @robmry looked at some of that, but now wondering if it needs to be API-version aware (or the test rewritten to take both scenarios into account); |
|
☝️ I think this PR was related to that, but looks like that one wasn't merged; maybe it got included in another PR? |
|
I remember seeing |
|
Wondering if |
Oh; maybe it is removed, and that's the failure? But the test doesn't have a conditional on API version, so removing it would mean it'd fail on older API versions? 🤔 |
nah, the test seems to be |
|
i don't see it when running a |
|
Tried updating the test, but now getting So, looks like that wasn't right 🙈 |
|
Getting closer; only one failure remaining; |
|
what is our expectation here? meaning, are the tests "wrong" or is the engine's behavior slightly out-of-spec from what we were expecting? |
|
Trying to figure that out honestly; thought let me update the test to see what it actually sees, then check with @robmry and @akerouanton if this is the expected result here. 😂 |
|
LOL, and now it's back to; Is there some race condition? Or did I just broke it again? (the "expected" vs "actual" part is also confusing me for sure here 😂 ) |
a94f0ac to
2722873
Compare
|
Unfortunately, I don't actually know anything about version negotiation in the Python code. However, I would imagine it's mostly only ever been exercised in the other direction, e.g. to avoid sending a newly added field/query param to an older daemon. The test logic might also be more for broad test suite compatibility rather than comprehensive matrix coverage. (That is, I'm suggesting it's not unreasonable to be somewhat suspicious of both the library code & tests in this regard.) |
|
Oh! Looks like it's green now! Guess it's time for me to squash commits, and to discuss if these changes are all correct with the networking folks 🥹 |
2722873 to
9f8175e
Compare
| # Aliases no longer include the container's short-id in API v1.45. | ||
| assert (attrs['NetworkSettings']['Networks'][net_name]['Aliases'] | ||
| is None) | ||
| assert (attrs['NetworkSettings']['Networks'][net_name]['DriverOpts'] | ||
| is None) |
There was a problem hiding this comment.
FWIW, I think I tried adding an assertion for DNSNames here, but that didn't work; wondering if something needs to be added to make that field being propagated here, and if that should be checked for.
For reference, here's what inspecting a container created with similar options looks like (Aliases is null, and both the short-ID and custom hello alias are shown in DNSNames);
docker inspect --format='{{json .NetworkSettings.Networks }}' hello | jq .
{
"foo": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:42:ac:15:00:02",
"NetworkID": "d527fac86492c97c660830566d00d410281b8b67cc2f9d85fc60229d5d5d76ee",
"EndpointID": "4309540d4d79c6fbd21e883c867657bd5550b54fe55d1a623d9858bbf1846ee5",
"Gateway": "172.21.0.1",
"IPAddress": "172.21.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DriverOpts": null,
"DNSNames": [
"hello",
"e9e430344c84"
]
}
}- Update API version to the latest maintained release. 0 Adjust tests for API 1.45 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
9f8175e to
e47e966
Compare
…e-python [skip ci] Updates the requirements on [docker](https://github.com/docker/docker-py) to permit the latest version. Release notes *Sourced from [docker's releases](https://github.com/docker/docker-py/releases).* > 7.2.0 > ----- > > Upgrade Notes > ------------- > > * `docker.from_env()` now honors the active Docker CLI context when `DOCKER_HOST` is not set. > + This means the client may connect to the daemon selected by `DOCKER_CONTEXT` or the current context in `~/.docker/config.json`, matching Docker CLI behavior more closely. > + If your application relied on the previous default connection behavior, set `DOCKER_HOST` explicitly, set `DOCKER_CONTEXT=default`, or pass `use_context=False` to `DockerClient.from_env()`. > * Added `docker.from_context()` / `DockerClient.from_context()` for explicitly creating a client from a Docker CLI context. > > Features > -------- > > * Added support for Docker contexts when creating the default client > * Added subpath support for volumes > > Bugfixes > -------- > > * Fixed `exec_run` documentation for the `stream` parameter > * Fixed image loading to avoid depending on the deprecated `JSONMessage.error` field > * Preserved the rotated unlock key in swarm integration tests > * Fixed SSL certificate generation in tests > * Fixed IPv6 integration tests by explicitly enabling IPv6 where required > > Miscellaneous > ------------- > > * Updated tests for newer Docker Engine behavior > * CI and build updates > > What's Changed > -------------- > > * tests/exec: expect 127 exit code for missing executable by [`@laurazard`](https://github.com/laurazard) in [docker/docker-py#3290](https://redirect.github.com/docker/docker-py/pull/3290) > * fixing doc for stream param in exec\_run by [`@yasonk`](https://github.com/yasonk) in [docker/docker-py#3292](https://redirect.github.com/docker/docker-py/pull/3292) > * Bump default API version to 1.45 (Moby 26.0/26.1) by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3261](https://redirect.github.com/docker/docker-py/pull/3261) > * Set a dummy-version if none set, and remove unused APT\_MIRROR build-arg by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3267](https://redirect.github.com/docker/docker-py/pull/3267) > * test\_service\_logs: stop testing experimental versions by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#2442](https://redirect.github.com/docker/docker-py/pull/2442) > * Makefile: fix circular reference for integration-dind by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3297](https://redirect.github.com/docker/docker-py/pull/3297) > * image load: don't depend on deprecated JSONMessage.error field by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3307](https://redirect.github.com/docker/docker-py/pull/3307) > * integration: test\_create\_volume\_invalid\_driver allow either 400 or 404 by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3296](https://redirect.github.com/docker/docker-py/pull/3296) > * integration: adjust tests for omitted "OnBuild" by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3336](https://redirect.github.com/docker/docker-py/pull/3336) > * Implement Subpath Support for Volumes in Docker-Py ([#3243](https://redirect.github.com/docker/docker-py/issues/3243)) by [`@Khushiyant`](https://github.com/Khushiyant) in [docker/docker-py#3270](https://redirect.github.com/docker/docker-py/pull/3270) > * tests: fix ssl generation by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3365](https://redirect.github.com/docker/docker-py/pull/3365) > * test/integration: don't check for deprecated Networks field by [`@thaJeztah`](https://github.com/thaJeztah) in [docker/docker-py#3362](https://redirect.github.com/docker/docker-py/pull/3362) > * test: Skip from\_env\_unix tests if DOCKER\_HOST is network socket by [`@ricardobranco777`](https://github.com/ricardobranco777) in [docker/docker-py#3366](https://redirect.github.com/docker/docker-py/pull/3366) > * test\_connect\_with\_ipv6\_address: enable IPv6 by [`@robmry`](https://github.com/robmry) in [docker/docker-py#3372](https://redirect.github.com/docker/docker-py/pull/3372) > * test\_create\_with\_ipv6\_address: enable IPv6 by [`@robmry`](https://github.com/robmry) in [docker/docker-py#3373](https://redirect.github.com/docker/docker-py/pull/3373) > * tests: Migrate off gpg2 and regenerate key ed25519 by [`@vvoland`](https://github.com/vvoland) in [docker/docker-py#3399](https://redirect.github.com/docker/docker-py/pull/3399) > * gha: Pin to digests by [`@vvoland`](https://github.com/vvoland) in [docker/docker-py#3408](https://redirect.github.com/docker/docker-py/pull/3408) > * Fix integration tests on non-amd64 hosts and add ARM64 CI by [`@vvoland`](https://github.com/vvoland) in [docker/docker-py#3407](https://redirect.github.com/docker/docker-py/pull/3407) > * integration/swarm: Preserve rotated unlock key by [`@vvoland`](https://github.com/vvoland) in [docker/docker-py#3410](https://redirect.github.com/docker/docker-py/pull/3410) > * [DKP-2535] Honour context if present for default client, add contexts support by [`@ebriney`](https://github.com/ebriney) in [docker/docker-py#3401](https://redirect.github.com/docker/docker-py/pull/3401) > * docs: 7.2.0 changelog by [`@vvoland`](https://github.com/vvoland) in [docker/docker-py#3415](https://redirect.github.com/docker/docker-py/pull/3415) > > New Contributors > ---------------- > > * [`@laurazard`](https://github.com/laurazard) made their first contribution in [docker/docker-py#3290](https://redirect.github.com/docker/docker-py/pull/3290) > * [`@yasonk`](https://github.com/yasonk) made their first contribution in [docker/docker-py#3292](https://redirect.github.com/docker/docker-py/pull/3292) > * [`@ricardobranco777`](https://github.com/ricardobranco777) made their first contribution in [docker/docker-py#3366](https://redirect.github.com/docker/docker-py/pull/3366) ... (truncated) Commits * [`5ad5327`](docker/docker-py@5ad5327) Merge pull request [#3415](https://redirect.github.com/docker/docker-py/issues/3415) from vvoland/update-changelog * [`d242230`](docker/docker-py@d242230) docs: 7.2.0 changelog * [`ba01cc7`](docker/docker-py@ba01cc7) Merge pull request [#3401](https://redirect.github.com/docker/docker-py/issues/3401) from ebriney/client-from-context * [`ae5dfe9`](docker/docker-py@ae5dfe9) Merge pull request [#3410](https://redirect.github.com/docker/docker-py/issues/3410) from vvoland/fix-flaky * [`aa99999`](docker/docker-py@aa99999) integration/swarm: Preserve rotated unlock key * [`059d371`](docker/docker-py@059d371) Merge pull request [#3407](https://redirect.github.com/docker/docker-py/issues/3407) from vvoland/fix-arm64 * [`9b4b9b8`](docker/docker-py@9b4b9b8) gha: Add arm64 integration CI * [`9e9f8ff`](docker/docker-py@9e9f8ff) Skip tests incompatible with host architecture * [`e0542d9`](docker/docker-py@e0542d9) Merge pull request [#3408](https://redirect.github.com/docker/docker-py/issues/3408) from vvoland/gha-pin * [`578a11d`](docker/docker-py@578a11d) gha: Pin to digests * Additional commits viewable in [compare view](docker/docker-py@7.1.0...7.2.0) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Update API version to the latest maintained release.