[rcf] do not allow experimental features if client/daemon versions don't match #28655
Labels
kind/enhancement
Enhancements are not bugs or new features but can improve usability or performance.
kind/experimental
Milestone
Starting with docker 1.13 we allow newer clients to work with older
daemon versions, and "detect" if experimental features are enabled
on the daemon.
Given that experimental features can (and in many cases, will) change
before they leave experimental, this can result in unexpected behavior.
For example, if the "checkpoint / restore" feature leaves experimental
in 1.14, and a 1.14 client communicates with a 1.13 daemon, it will no
longer check if experimental features are enabled on the daemon (because
according to the client, the feature is no longer experimental).
The daemon on its side, will allow requests to the "checkpoint" API
endpoints if the
--experimental
flag is set.I think we should prevent this, for example:
and daemon versions match
if the client has the same version (actual version, not downgrade
/ upgraded API version)
related endpoints should be set to the version in which it left experimental.
I'm not sure if
2.
is possible; does the client request contain informationthat it downgraded / upgraded the API version?
Perhaps parts of this are already in place, but opening this issue
so that we don't forget checking before GA 😄
/cc @vieux
The text was updated successfully, but these errors were encountered: