New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kata-deploy: Allow setting up snapshotters per runtime handler #8655
kata-deploy: Allow setting up snapshotters per runtime handler #8655
Conversation
Thanks very much @fidencio ! |
911c46f
to
0454b87
Compare
/test |
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
698132c
to
91a6437
Compare
/test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tested lots of individual bits of this PR and the processing logic seems correct, apart from the case that I'll mentioned
Add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Except of @stevenhorsman comment, LGTM. Thanks @fidencio .
91a6437
to
e95aec1
Compare
I'm removing the do-not-merge as the issue was solved. |
Since containerd 1.7.0 we can easily set a specific snapshotter to be used with a runtime handler, and we should take advantage of this, mostly as it'll help setting up any runtime using devmapper or nydus snapshotters. This implementation here has a few caveats: * The format expected for the SNAPSHOTTER_HANDLER_MAPPING is: `shim:snapshotter,shim:snapshotter,...` * It only works with containerd 1.7 or newer * We **never** change the default containerd snapshotter * We don't do any check on our side to verify whether the snapshotter required is properly deployed * Users will have to add an annotation to their pods, in order to use the snapshotter set up per runtime handler * Example: ``` metadata: ... annotations: io.containerd.cri.runtime-handler: kata-fc ``` Fixes: kata-containers#8615 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
e95aec1
to
6cc6ca5
Compare
/test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Let's start properly setting a specific snapshotter per runtime handler configured for containerd. This work depends on a work done on the Kata Containers side to better support setting snapshotters per runtime handler. The PR from the Kata Containers side is: kata-containers/kata-containers#8655. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Since containerd 1.7.0 we can easily set a specific snapshotter to be used with a runtime handler, and we should take advantage of this, mostly as it'll help setting up any runtime using devmapper or nydus snapshotters.
This implementation here has a few caveats:
shim:snapshotter,shim:snapshotter,...
metadata: ... annotations: io.containerd.cri.runtime-handler: kata-fc
Fixes: #8615
NOTE: Due to the lack of time from my side, as I'm vanishing for a few weeks, I've opted for not yet change the tests related to devmapper to use this new "feature". Together with this decision comes a head's up that this is not tested anywhere yet, but it'll help us to unblock @ChengyuZhu6's series.