enhancements
enhancements copied to clipboard
VolumeSource: OCI Artifact and/or Image
Enhancement Description
- One-line enhancement description (can be used as a release note): VolumeSource: OCI Artifact or OCI Image
- Kubernetes Enhancement Proposal: https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/4639-oci-volume-source
- Discussion Link:
- Primary contact (assignee): [email protected], [email protected]
- Responsible SIGs: sig-node, sig-storage
- Enhancement target (which target equals to which milestone):
- Alpha release target (x.y): 1.31
- Beta release target (x.y): 1.33
- Stable release target (x.y):
- [x] Alpha
- [x] KEP (
k/enhancements) update PR(s):- https://github.com/kubernetes/enhancements/pull/4642
- [x] Code (
k/k) update PR(s):- https://github.com/kubernetes/kubernetes/pull/125659
- https://github.com/kubernetes/enhancements/pull/4751
- https://github.com/kubernetes/kubernetes/pull/125660
- https://github.com/kubernetes/kubernetes/pull/125663
- Nice to have:
- https://github.com/kubernetes/kubernetes/pull/126281
- https://github.com/kubernetes/kubernetes/pull/126323
- https://github.com/kubernetes/kubernetes/pull/126220
- https://github.com/kubernetes/kubernetes/pull/125659
- [x] Out of tree update PR(s):
- https://github.com/kubernetes-sigs/cri-tools/pull/1464
- https://github.com/cri-o/cri-o/pull/8317
- https://github.com/cri-o/cri-o/pull/8408
- https://github.com/kubernetes/test-infra/pull/33071
- https://github.com/kubernetes/test-infra/pull/33088
- [x] Docs (
k/website) update PR(s):- https://github.com/kubernetes/website/pull/46946
- https://github.com/kubernetes/website/pull/46960
- [x] KEP (
- [x] Beta
- [x] KEP (
k/enhancements) update PR(s):- https://github.com/kubernetes/enhancements/pull/4897
- https://github.com/kubernetes/enhancements/pull/5417
- [x] Code (
k/k) update PR(s):- https://github.com/kubernetes/kubernetes/pull/130135
- https://github.com/kubernetes/test-infra/pull/34398
- Optional: https://github.com/kubernetes/kubernetes/pull/130681
- [x] Docs (
k/website) update(s):- https://github.com/kubernetes/website/pull/49936
- https://github.com/kubernetes/website/pull/49984
- [x] Out of tree update PR(s):
- https://github.com/cri-o/cri-o/pull/9050
- https://github.com/kubernetes-sigs/cri-tools/pull/1793
- https://github.com/kubernetes/test-infra/pull/34547
- https://github.com/kubernetes/test-infra/pull/34549
- [x] KEP (
Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
I've had informal discussions about this - there's enough interest IMO to open a KEP & I will present this issue at upcoming sig-node, sig-storage mtgs with a KEP draft
/sig node /sig storage
Can you use the Volume Populator? It allows you to create a PVC from an extenal data source. https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1495-volume-populators
Happy to support here from a SIG node perspective.
cc @kubernetes/sig-node-proposals
+1 happy to help from the SIG-Node/CRI and OCI image/distribution spec perspectives..
/label lead-opted-in /milestone v1.31
as discussed at SIG Node meeting this week, we will try and see if this can make it to 1.31
/stage alpha
For reference, in KServe a workaround for directly accessing files within an OCI image is currently implemented and available via a sidecar approach ("modelcar") by leveraging root FS system access via the /proc filesystem when shareProcessNamespace: true is set on the Pod. You can find details in the KServe documentation and in the Design Document. It actually implements the desired behavior with current means, but of course is more or less just a workaround for the OCI volume type (as discussed here and raised already a long time ago in https://github.com/kubernetes/kubernetes/issues/831).
So KServe would be more than happy to leverage such a volume type, and we are happy to support any efforts in this direction.
/stage alpha
Hello @sallyom 👋, v1.31 Enhancements team here.
Just checking in as we approach enhancements freeze on 02:00 UTC Friday 14th June 2024 / 19:00 PDT Thursday 13th June 2024.
This enhancement is targeting for stage alpha for v1.31 (correct me, if otherwise)
Here's where this enhancement currently stands:
- [ ] KEP readme using the latest template has been merged into the k/enhancements repo.
- [ ] KEP status is marked as
implementableforlatest-milestone: v1.31. KEPs targetingstablewill need to be marked asimplementedafter code PRs are merged and the feature gates are removed. - [ ] KEP readme has up-to-date graduation criteria
- [ ] KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here). If your production readiness review is not completed yet, please make sure to fill the production readiness questionnaire in your KEP by the PRR Freeze deadline (6th June) so that the PRR team has enough time to review your KEP before the enhancements freeze.
For this KEP, most of the above items are taken care of in https://github.com/kubernetes/enhancements/pull/4642. We'd need to do the following:
- [ ] Update the status from
provisionaltoimplementablein the kep.yaml file here - [ ] Create a prod-readiness yaml file as shown here.
- [ ] Update the graduation criteria in the KEP readme file.
- [ ] Make sure that the PRR questionnaire is filled.
The status of this enhancement is marked as At risk for enhancements freeze. Once the above tasks are done, I can mark it as tracked.
If you anticipate missing enhancements freeze, you can file an exception request in advance. Let me know if you have any questions! Thank you!
@sallyom Pinging once again as a slight reminder that we're approaching the enhancements freeze deadline on 14th June, this Friday!
Hi @sallyom @SergeyKanzhelev 👋, 1.31 Enhancements team here,
Just a quick friendly reminder as we approach the enhancements freeze in few hours, at 02:00 UTC Friday 14th June 2024 / 19:00 PDT Thursday 13th June 2024.
The current status of this enhancement is marked as at risk for enhancement freeze. There are a few requirements mentioned in the comment https://github.com/kubernetes/enhancements/issues/4639#issuecomment-2148341502 that are addressed as part of PR https://github.com/kubernetes/enhancements/pull/4642 which still needs to be merged.
If you anticipate missing enhancements freeze, you can file an exception request in advance. Thank you!
Hello @sallyom @SergeyKanzhelev 👋, 1.31 Enhancements team here.
Unfortunately, this enhancement did not meet requirements for enhancements freeze.
If you still wish to progress this enhancement in v1.31, please file an exception request as soon as possible, within three days. If you have any questions, you can reach out in the #release-enhancements channel on Slack and we'll be happy to help. Thanks!
/milestone clear
/assign
Marked as tracked for enhancements freeze! Thanks everyone!
Hello @bitoku, @sallyom :wave:, 1.31 Docs Lead here. Does this enhancement work planned for 1.31 require any new docs or modifications to existing docs? If so, please follow the steps here to open a PR against dev-1.31 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday June 27, 2024 18:00 PDT. Also, take a look at Documenting for a release to get yourself familiarised with the docs requirement for the release. Thank you!
@Princesso yes, I created a documentation placeholder PR in https://github.com/kubernetes/website/pull/46946
/assign
Hi @saschagrunert , @sallyom
👋 from the v1.31 Communications Team! We'd love for you to opt in to write a feature blog about your enhancement! Some reasons why you might want to write a blog for this feature include (but are not limited to) if this introduces breaking changes, is important to our users, or has been in progress for a long time and is graduating.
To opt in, let us know and open a Feature Blog placeholder PR against the website repository by 3rd July, 2024. For more information about writing a blog see the blog contribution guidelines.
Note: In your placeholder PR, use XX characters for the blog date in the front matter and file name. We will work with you on updating the PR with the publication date once we have a final number of feature blogs for this release.
@hailkomputer thank you for the hint, I added a placeholder PR in https://github.com/kubernetes/website/pull/46960
@saschagrunert Do you know where the containerd side is implemented?
containerd has a special behavior when pulling images following their registry configuration. I would like to know if this behavior is the same when retrieving from OCI Artifact, so I would like to see the implementation.
https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration
@saschagrunert Do you know where the
containerdside is implemented?containerdhas a special behavior when pulling images following their registry configuration. I would like to know if this behavior is the same when retrieving from OCI Artifact, so I would like to see the implementation. https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration
I would assume that we have no implementation right now for containerd. @mikebrow may provide more details on that.
Hey again @saschagrunert @sallyom 👋 v1.31 Enhancements team here,
Just checking in as we approach code freeze at 02:00 UTC Wednesday 24th July 2024 / 19:00 PDT Tuesday 23rd July 2024.
Here's where this enhancement currently stands:
- [x] All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
- [ ] All PR/s are ready to be merged (they have
approvedandlgtmlabels applied) by the code freeze deadline. This includes tests.
For this enhancement, it looks like the following PRs are open and need to be merged before code freeze (and we need to update the Issue description to include all the related PRs of this KEP):
- https://github.com/kubernetes/kubernetes/pull/125659
- https://github.com/kubernetes/enhancements/pull/4751
- https://github.com/kubernetes/kubernetes/pull/125660
- https://github.com/kubernetes/kubernetes/pull/125663
Out of tree:
- https://github.com/cri-o/cri-o/pull/8317
- https://github.com/kubernetes-sigs/cri-tools/pull/1464
If you anticipate missing code freeze, you can file an exception request in advance.
I'm marking this KEP as At risk for code freeze for now since all the associated PRs haven't been approved/lgtm'd. But everything looks good here, thanks a lot for keeping the issue description up to date with all the PRs! I can update the KEP to tracked as soon as the code PRs are approved. Also, please let me know if there are other PRs in k/k we should be tracking for this KEP. As always, we are here to help if any questions come up. Thanks!
/milestone v1.31
Hi again @sallyom @saschagrunert! We are one week away from code freeze and I wanted to ping you here as a friendly reminder for making sure the code PRs are merged in time before the deadline. Also, please let me know if there are any more PRs that needs to be tracked other than the ones linked in https://github.com/kubernetes/enhancements/issues/4639#issuecomment-2212380430. Thanks!
@sallyom @saschagrunert All the PRs mentioned in https://github.com/kubernetes/enhancements/issues/4639#issuecomment-2212380430 are merged. Are we waiting for https://github.com/cri-o/cri-o/pull/8408 and https://github.com/kubernetes/kubernetes/pull/126220 to be merged as part of this KEP too? Please let me know!
@sreeram-venkitesh we're now actively working on the docs, the implementation is done and everything which is still open is nice to have. Out of tree PR's are not a requirement for this KEP.
Thanks @saschagrunert! Marking this KEP as tracked for code freeze 🎉
The PR https://github.com/kubernetes/kubernetes/pull/126220 which adds tests is still open. Please make sure to get it merged by the test freeze deadline (01:00 UTC Wednesday 31st July 2024 / 19:00 PDT Tuesday 30th July 2024).
@saschagrunert @sallyom
@saschagrunert FYI: This is the issue for containerd to support this KEP. https://github.com/containerd/containerd/issues/10496