-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
containerd 2.0 brings a number of feature removals that may make it challenging for users to adopt. containerd is used both in single-user scenarios (Docker, nerdctl, etc) and multi-user/clustered scenarios (Kubernetes). When containerd is used in a larger context than a single user, there may be different people responsible for using containerd and administering the compute environment (including containerd), which can make it even more difficult to understand whether upgrading to 2.0 will cause impact.
Recent pull requests have started to introduce some mechanisms for alerting users that a deprecated feature is used and/or going to be removed:
However, the mechanisms for marking a feature deprecated/alerting is disjoint. For example, the schema 1 PR above sets an image label that can be queried from the image service, while the go-plugin PR emits a warning into the log (and does so unconditionally).
A unified mechanism to provide warnings to the end user (and/or administrator) that deprecated functionality is used would make it easier to migrate away from the deprecated functionality as there would be a single entrypoint for discovery. A mechanism like this could also be hooked up to a system such as the Node Problem Detector to make it visible without directly interacting with each node, and a hosted Kubernetes provider could provide recommendations.
I've put together a doc describing some approaches here and welcome review/discussion.