Skip to content
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

ReadWriteOncePod PersistentVolume Access Mode #2485

Closed
12 tasks done
chrishenzie opened this issue Feb 10, 2021 · 49 comments · Fixed by #3537
Closed
12 tasks done

ReadWriteOncePod PersistentVolume Access Mode #2485

chrishenzie opened this issue Feb 10, 2021 · 49 comments · Fixed by #3537
Assignees
Labels
sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status
Milestone

Comments

@chrishenzie
Copy link
Member

chrishenzie commented Feb 10, 2021

Enhancement Description

/sig storage
/sig scheduling

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

@k8s-ci-robot k8s-ci-robot added the sig/storage Categorizes an issue or PR as relevant to SIG Storage. label Feb 10, 2021
@chrishenzie chrishenzie changed the title Single pod, single node PersistentVolume AccessMode Strict RWO PersistentVolume AccessMode Feb 10, 2021
@JamesLaverack
Copy link
Member

/milestone v1.22

@k8s-ci-robot k8s-ci-robot added this to the v1.22 milestone Apr 28, 2021
@JamesLaverack JamesLaverack added tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status labels Apr 28, 2021
@chrishenzie chrishenzie changed the title Strict RWO PersistentVolume AccessMode ReadWriteOncePod PersistentVolume Access Mode May 11, 2021
@PI-Victor
Copy link
Member

Hello @chrishenzie 👋, 1.22 Docs release lead here.
This enhancement is marked as ‘Needs Docs’ for 1.22 release.

Please follow the steps detailed in the documentation to open a PR against dev-1.22 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Fri July 9, 11:59 PM PDT.
 Also, take a look at Documenting for a release to familiarize yourself with the docs requirement for the release.

Thank you!

p.s.: please don't forget to add PersistentVolumeAccessMode to the feature gates table to reflect this change.

@chrishenzie
Copy link
Member Author

Hello @PI-Victor, I drafted a PR for kubernetes/website here. Thanks!

@supriya-premkumar
Copy link
Contributor

Hi @chrishenzie. This is Supriya, 1.22 Enhancements Shadow here.

Code Freeze is on July 8th 2021 @ EOD PST. All tracked enhancements must be code complete, merged and have docs PRs open.
Please link your k/k PRs to the k/enhancements, so that they can be tracked going into freeze. If PRs are not merged by code freeze, they will be removed from the 1.22 milestone.

Please let us know on the PR link/status. Thank you!

@chrishenzie
Copy link
Member Author

Hi @supriya-premkumar , thanks for the reminder. Just updated the description to include links the PRs for K8s changes + the website.

Currently undergoing API review for the new access mode. I opened a separate PR for scheduler changes to support this feature.

@supriya-premkumar
Copy link
Contributor

Hi @chrishenzie, thank you for letting us know. Could you please link the related PRs? It will be helpful to track them.

@chrishenzie
Copy link
Member Author

Hi @supriya-premkumar , they are:

I added these to the checklist in the description above

@chrishenzie
Copy link
Member Author

Hi @supriya-premkumar , quick update: I've updated the description above to remove the third PR. We plan on targeting this feature for beta to allow more time for development + design.

@supriya-premkumar
Copy link
Contributor

Thank you for the update @chrishenzie!

@chrishenzie
Copy link
Member Author

chrishenzie commented Jun 24, 2021

Hi @supriya-premkumar , sorry for the churn here. I re-added the third PR; sig scheduling recommends this makes it in for alpha. It should be good to go (once the base PR is merged).

@supriya-premkumar
Copy link
Contributor

No worries at all. Thanks for letting me know.

@supriya-premkumar
Copy link
Contributor

Hi @chrishenzie, just a reminder that we are one week away from the code freeze(July 8th, 2021) and with all the three k/k PRs merged(102894, 102028, 103082) this issue is now on track for the 1.22 release 🎉

Also, the Doc Placeholder PR deadline is on July 9th, 2021.

@chrishenzie
Copy link
Member Author

Hi @supriya-premkumar , thanks for the update. The placeholder PR is open, does it need to be fully populated by that deadline?

@supriya-premkumar
Copy link
Contributor

supriya-premkumar commented Jul 2, 2021

For the Doc Placeholder PR, it does not need to be fully populated.

@salaxander salaxander added tracked/no Denotes an enhancement issue is NOT actively being tracked by the Release Team and removed tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team labels Aug 19, 2021
serathius added a commit to serathius/enhancements that referenced this issue Sep 8, 2021
serathius added a commit to serathius/enhancements that referenced this issue Sep 8, 2021
k8s-ci-robot pushed a commit that referenced this issue Sep 9, 2021
* Move KEP-2845 to implementable

* Add PRR for #2845

* Remove mention of --logtostdout flag in #2845

* KEP #2485: Require splitting stdout/stderr to Json format

* Add pohly as reviewer for KEP 2845

* #2845 Update PRR

* #2845 Add dims as SIG arch approver
@Atharva-Shinde Atharva-Shinde removed tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team lead-opted-in Denotes that an issue has been opted in to a release labels May 14, 2023
@seamongit
Copy link

seamongit commented Jul 1, 2023

@chrishenzie hi ,Can we add an annotation 'volume.kubernetes.io/selected-pod' to the PVC using the ReadWriteOncePod mode, to indicate which pod is currently using the PVC?

This would be a huge help for the PVC protection controller in KCM, as it typically has to filter through all the pods in the same namespace to check if there are any other pods still using the PVC being deleted, which is a disaster for large clusters.

kubernetes/kubernetes#109282

Thus, for PVCs using the ReadWriteOncePod mode, we can check directly in KCM whether there are any relevant pods already deleted or still using the PVC by inspecting the annotation, which would be much more lightweight.

Perhaps this feature could be implemented in kube-scheduler?

thanks~

@chrishenzie
Copy link
Member Author

chrishenzie commented Jul 11, 2023

@seamongit Hi, thanks for reaching out.

  • Would this annotation be exclusive to just PVCs with ReadWriteOncePod, or is it useful for PVCs of all access modes?
  • Is it possible to filter by both namespace and selected-node to reduce the number of pods to check?
  • Do you have any docs / KEPs on the selected-pod approach? I didn't see this mentioned in the linked issue.

I'll discuss this in next week's Kubernetes-CSI team meeting.

@chrishenzie
Copy link
Member Author

@seamongit Hello! Quick update after syncing with the team -- it looks like we can consider this project independently of ReadWriteOncePod (we're not considering it GA-blocking for this feature). It doesn't look like it's a problem unique to just this access mode.

@msau42
Copy link
Member

msau42 commented Sep 12, 2023

/milestone v1.29

@k8s-ci-robot k8s-ci-robot modified the milestones: v1.27, v1.29 Sep 12, 2023
@xing-yang xing-yang added stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status lead-opted-in Denotes that an issue has been opted in to a release and removed stage/beta Denotes an issue tracking an enhancement targeted for Beta status labels Sep 12, 2023
@rayandas
Copy link
Member

rayandas commented Sep 26, 2023

Hello @chrishenzie 👋, v1.29 Enhancements team here.

Just checking in as we approach enhancements freeze on 01:00 UTC, Friday, 6th October, 2023.

This enhancement is targeting for stage stable for v1.29 (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 implementable for latest-milestone: 1.29. KEPs targeting stable will need to be marked as implemented after code PRs are merged and the feature gates are removed.
  • KEP readme has a updated detailed test plan section filled out
  • KEP readme has up to date graduation criteria
  • KEP has a production readiness review that has been completed and merged into k/enhancements.

For this KEP, we would just need to update the following:

The status of this enhancement is marked as at risk for enhancement freeze. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

@rayandas
Copy link
Member

rayandas commented Oct 4, 2023

As the PR #4206 is merged, this enhancement is now Tracked for Enhancement Freeze. Thanks! 🚀

@Princesso
Copy link

Hey there @chrishenzie ! 👋, v1.29 Docs team shadow here.
Does this enhancement work planned for v1.29 require any new docs or modifications to existing docs?
If so, please follow the steps here to open a PR against dev-1.29 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday, 19 October 2023.
Also, take a look at Documenting for a release to get yourself familiarized with the docs requirement for the release.
Thank you!

@chrishenzie
Copy link
Member Author

Hi @Princesso ! I opened two PRs for the feature docs and blog post that are ready for review.

@Princesso
Copy link

Hi @chrishenzie, Thanks for the update. Could you add a link to the PRs here? Just for reference purposes and so I can keep track of them?

@chrishenzie
Copy link
Member Author

Hi, it's these two:

Also updated description to include these.

@rayandas
Copy link
Member

Hey again @chrishenzie 👋, 1.29 Enhancements team here,

Just checking in as we approach code freeze at 01:00 UTC Wednesday 1st November 2023: .

Here's where this enhancement currently stands:

  • 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 approved and lgtm labels applied) by the code freeze deadline. This includes tests.

With all this, the status of this KEP is now tracked for code freeze.

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!

@Priyankasaggu11929
Copy link
Member

Hello chrishenzie 👋, 1.29 Enhancements team here.

With all the implementation(code related) PRs merged as per the issue description, this enhancement is now marked as tracked for code freeze for the 1.29 Code Freeze! 🚀

The test freeze is 01:00 UTC Wednesday 15th November 2023 / 18:00 PDT Tuesday 14th November 2023. Please make sure all test PRs are merged in by then.

Please let me know if there are any test PRs we should track. Thanks!

jpbetz added a commit to jpbetz/enhancements that referenced this issue Nov 22, 2023
Shadow contributions:
- 1.27 shadow reviews: 6
- 1.28 shadow reviews: 9
- 1.29 - did not shadow due to time constraints with new SIG API Machinery TL role

Planned contributions:
- 1.30+ contribute to PRR, able to review roughly 12 KEPs per release.  I am happy to PRR more than 12 so long as they are SIG API Machinery KEPs, since I'll be reviewing those anyway..

Shadow reviewer promotion criteria:

Transitions from new to alpha

- kubernetes#3983
- kubernetes#3751

Transitions from alpha to beta

- kubernetes#3107
- kubernetes#2485

Transitions from beta to GA

- kubernetes#2268

Three enhancements that require coordination between multiple components.

- kubernetes#3751
- kubernetes#2485
- kubernetes#3107

Three enhancements that require version skew consideration (both HA and component skew): does behavior fail safely and eventually reconcile.

- kubernetes#2268 (component skew)
- kubernetes#2485 (component skew)
- kubernetes#3751 (HA skew - feature gated fields, component skew)
kubernetes#2268 (HA skew of controller considered)

Three enhancements that are outside your primary domain.

- kubernetes#3983 (SIG Node)
- kubernetes#3751 (SIG Storage)
- kubernetes#2268 (SIG Node)
- kubernetes#3107 (SIG Storage)

Examples where the feature requires considering the case of administering thousands of clusters. This comes up frequently for host-based features in storage, node, or networking.

- Yes. E.g. kubernetes#2268 (ability to analyze cluster in aggregate considered, rescheduling considered)

Examples where the feature requires considering the case of very large clusters. This is commonly covered by metrics.

- Yes. E.g. kubernetes#3751 (new API call, volume of calls considered)
@salehsedghpour
Copy link
Contributor

/remove-label lead-opted-in

@k8s-ci-robot k8s-ci-robot removed the lead-opted-in Denotes that an issue has been opted in to a release label Jan 6, 2024
@salehsedghpour
Copy link
Contributor

This issue can be closed as it is completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/stable Denotes an issue tracking an enhancement targeted for Stable/GA status
Projects
Status: Graduating
Status: Tracked
Status: Tracked for Code Freeze
Archived in project
Development

Successfully merging a pull request may close this issue.