containers/create: use shareable ipc by default for older clients#38700
containers/create: use shareable ipc by default for older clients#38700kolyshkin wants to merge 1 commit intomoby:masterfrom
Conversation
|
CLI test failing |
|
Let's take a step back here. I don't see why we should modify the client, are we doing something similar for other options? |
|
This test is failing as the API used is < 1.32 (basically confirming the patch works). Fix is coming :) |
41fc1be to
b472526
Compare
Codecov Report
@@ Coverage Diff @@
## master #38700 +/- ##
=========================================
Coverage ? 36.55%
=========================================
Files ? 610
Lines ? 45394
Branches ? 0
=========================================
Hits ? 16593
Misses ? 26507
Partials ? 2294 |
b472526 to
3237c17
Compare
|
OK here's the test fix; please see individual commits description. |
is a known flaky test
is a recent flaky test (#38720) Restarting both |
|
(reserved for Derek commands) |
|
Was the last commit only moving the test to the new test-suite, or were changes made as well related to this PR? Perhaps it's better to move the general test-changes to a separate PR |
TL;DR: this change is needed here and can't be separated out (unless we merge it first). Perhaps I was too brief in my commit description:
The test logic itself has not changed, except these two things:
The problem this move solves is, old integration-cli tests use old API version, and so the following code stopped working (see #38700 (comment)) after the changes in this PR:
When old API is used, check in (3) fails. @thaJeztah I can split the last commit to a separate PR if you want |
|
My thinking was; do the general modernization of |
Older (API < 1.32) clients are not aware of new IPC modes (`shareable`, `private`, and `none`, introduced in commit 7120976) and expect a new container to be created with IPC mode that is now known as `shareable`. Since the above commit, daemon default can be set to `private`, essentially locking out such older clients from being able to share IPC between containers (i.e. using `--ipc container:NNN`). So, with this patch, a client which does not set any value for IPC mode, defaults to: * for API < 1.32: 'shareable'; * for API >= 1.32: daemon's default-ipc-mode An integration test is added to check this works as intended. Signed-off-by: Kir Kolyshkin <[email protected]>
3237c17 to
9f939ed
Compare
|
Closing this in favor of last version of #35621 |
Older (API < 1.32) clients are not aware of new IPC modes
(
shareable,private, andnone, introduced in commit 7120976 (PR #34087)and expect a new container to be created with IPC mode that
is now known as
shareable.Since the above commit, daemon default can be set to
private,essentially locking out such older clients from being able to
share IPC between containers (i.e. using
--ipc container:NNN).So, with this patch, a client which does not set any value
for IPC mode, defaults to:
shareable;