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

StatefulSet PersistentVolumeClaimDeletePolicy #99378

Merged
merged 3 commits into from Jun 30, 2021

Conversation

mattcary
Copy link
Contributor

@mattcary mattcary commented Feb 23, 2021

API change for kubernetes/enhancements#1847.

/kind feature
/kind api-change

What this PR does / why we need it:

This adds a PersistentVolumeClaimDeletePolicy field to the StatefulSet spec according to kubernetes/enhancements#1847 which adds options for autodelete of PVCs created for StatefulSet pods.

Add PersistentVolumeClaimDeletePoilcy to StatefulSet API.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/assign @kow3ns
/assign @janetkuo
/cc @kk-src

@k8s-ci-robot
Copy link
Contributor

@mattcary: GitHub didn't allow me to request PR reviews from the following users: kk-src.

Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

API change for kubernetes/enhancements#1847.

/kind feature
/kind api-change

What this PR does / why we need it:

This adds a PersistentVolumeClaimDeletePolicy field to the StatefulSet spec according to kubernetes/enhancements#1847 which adds options for autodelete of PVCs created for StatefulSet pods.

Add PersistentVolumeClaimDeletePoilcy to StatefulSet API.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Feb 23, 2021
@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. sig/apps Categorizes an issue or PR as relevant to SIG Apps. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Feb 23, 2021
@mattcary
Copy link
Contributor Author

Note that I'm still working on getting the fuzzer test to pass (k8s.io/kubernetes/pkg/api/testing). In spite of my change to fuzzer.go it still seems to be trying to fuzz the field. Any hints would be appreciated!

/assign @kow3ns
/assign @janetkuo
/cc @kk-src
/sig apps

@k8s-ci-robot
Copy link
Contributor

@mattcary: GitHub didn't allow me to request PR reviews from the following users: kk-src.

Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Note that I'm still working on getting the fuzzer test to pass (k8s.io/kubernetes/pkg/api/testing). In spite of my change to fuzzer.go it still seems to be trying to fuzz the field. Any hints would be appreciated!

/assign @kow3ns
/assign @janetkuo
/cc @kk-src
/sig apps

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Feb 23, 2021
@fejta-bot
Copy link

This PR may require API review.

If so, when the changes are ready, complete the pre-review checklist and request an API review.

Status of requested reviews is tracked in the API Review project.

@mattcary
Copy link
Contributor Author

/retest

@mattcary
Copy link
Contributor Author

Hi! This should be ready for review now.

I figured out how to get the api tests to pass, although I'm a little suspicious of what I did in apps/fuzzer.go so please let me know if I did it wrong.

It appears the presubmit tests are currently failing due to something unrelated to my change.

@mattcary
Copy link
Contributor Author

/retest

pkg/apis/apps/types.go Outdated Show resolved Hide resolved
@mattcary
Copy link
Contributor Author

/retest

@mattcary
Copy link
Contributor Author

/retest

Still looks like a flake (only an NFS storage test failed)

@mattcary
Copy link
Contributor Author

@smarterclayton how does it look?

@smarterclayton
Copy link
Contributor

any other comments from the other reviewers? if no, on monday eod i’ll tag this as lgtm

@mattcary
Copy link
Contributor Author

mattcary commented Jun 25, 2021 via email

@mattcary
Copy link
Contributor Author

any other comments from the other reviewers? if no, on monday eod i’ll tag this as lgtm

ping? Thanks!

@alculquicondor
Copy link
Member

Still lgtm for me

@smarterclayton
Copy link
Contributor

/lgtm

Totally not monday....

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 30, 2021
@k8s-ci-robot k8s-ci-robot merged commit 98d20f5 into kubernetes:master Jun 30, 2021
tengqm added a commit to tengqm/website that referenced this pull request Jul 8, 2021
Here is a second batch for feature gate updates in 1.22.

- EndpointSliceProxying  kubernetes/kubernetes#103451
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451
- LogarithmicScaleDown    kubernetes/kubernetes#101767
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- NodeSwapEnabled   kubernetes/kubernetes#102823
- DelegateFSGroupToCSIDriver   kubernetes/kubernetes#103244
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378

Some of these needs more detailed documentation.
tengqm added a commit to tengqm/website that referenced this pull request Jul 9, 2021
Here is a second batch for feature gate updates in 1.22.

- EndpointSliceProxying  kubernetes/kubernetes#103451
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- NodeSwapEnabled   kubernetes/kubernetes#102823
- DelegateFSGroupToCSIDriver   kubernetes/kubernetes#103244
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378

Some of these needs more detailed documentation.
tengqm added a commit to tengqm/website that referenced this pull request Jul 11, 2021
Here is a second batch for feature gate updates in 1.22.

- CPUManagerPolicyOptions    kubernetes/kubernetes#101432
- ControllerManagerLeaderMigration  kubernetes/kubernetes#103533
- DelegateFSGroupToCSIDriver   kubernetes/kubernetes#103244
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- EndpointSliceProxying  kubernetes/kubernetes#103451
- EndpointSliceTerminatingCondition  kubernetes/kubernetes#103596
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- JobTrackingWithFinalizers   kubernetes/kubernetes#98817
  (also tracked in kubernetes#28841, can rebase).
- MemoryQoS   kubernetes/kubernetes#102970
- NodeSwap  kubernetes/kubernetes#102823, kubernetes/kubernetes#103553
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451

Some of these needs more detailed documentation.
@krmayankk
Copy link

@lavalamp @liggitt @smarterclayton i thought we never merged API without the implementation , or has the policy changed around this ?

@liggitt
Copy link
Member

liggitt commented Jul 13, 2021

I would not have expected this to merge until #99728 was ready to merge

@lavalamp
Copy link
Member

Agree, we need to back this out if the implementation isn't going to make the release :/

I see a reference to alpha in the implementation PR comments but this seems to change a beta API

@mattcary
Copy link
Contributor Author

I see a reference to alpha in the implementation PR comments but this seems to change a beta API

The feature gate in question is alpha. The feature adds a field to the StatefulSet spec; there are 3 StatefulSet apis currently (v1, v1beta1 and v1beta2); I added the new field to all of them.

The implementation PR has an approval so is near ready to be merged, is there any chance of that being a possibility?

@lavalamp
Copy link
Member

You need to get an exception from the release team at this point.

@palnabarun
Copy link
Member

palnabarun commented Jul 14, 2021

I see two possibilities here:

  1. Revert this PR as implementation is not merged
  2. File an exception request

For Case 2,
a. If the request is accepted, #99728 can be merged.
b. If the request is denied, this PR needs to be reverted.


Now, wearing the hat of a previous release lead, I feel that it is highly likely that the exception request would be denied as it doesn't sound like a release-blocking feature and we are almost a week past code freeze.

@mattcary
Copy link
Contributor Author

Moving conversation over to issue #103727 to make tracking easier

tengqm added a commit to tengqm/website that referenced this pull request Jul 18, 2021
Here is a second batch for feature gate updates in 1.22.

- CPUManagerPolicyOptions    kubernetes/kubernetes#101432
- ControllerManagerLeaderMigration  kubernetes/kubernetes#103533
- DelegateFSGroupToCSIDriver   kubernetes/kubernetes#103244
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- EndpointSliceProxying  kubernetes/kubernetes#103451
- EndpointSliceTerminatingCondition  kubernetes/kubernetes#103596
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- JobTrackingWithFinalizers   kubernetes/kubernetes#98817
  (also tracked in kubernetes#28841, can rebase).
- MemoryQoS   kubernetes/kubernetes#102970
- NodeSwap  kubernetes/kubernetes#102823, kubernetes/kubernetes#103553
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451

Some of these needs more detailed documentation.
k8s-ci-robot added a commit that referenced this pull request Jul 20, 2021
tengqm added a commit to tengqm/website that referenced this pull request Jul 21, 2021
Here is a second batch for feature gate updates in 1.22.

- CPUManagerPolicyOptions    kubernetes/kubernetes#101432
- ControllerManagerLeaderMigration  kubernetes/kubernetes#103533
- DelegateFSGroupToCSIDriver   kubernetes/kubernetes#103244
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- EndpointSliceProxying  kubernetes/kubernetes#103451
- EndpointSliceTerminatingCondition  kubernetes/kubernetes#103596
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- JobTrackingWithFinalizers   kubernetes/kubernetes#98817
  (also tracked in kubernetes#28841, can rebase).
- MemoryQoS   kubernetes/kubernetes#102970
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451

Some of these needs more detailed documentation.
tengqm added a commit to tengqm/website that referenced this pull request Jul 22, 2021
Here is a second batch for feature gate updates in 1.22.

- CPUManagerPolicyOptions    kubernetes/kubernetes#101432
- ControllerManagerLeaderMigration  kubernetes/kubernetes#103533
- DynamicKubeletConfig    kubernetes/kubernetes#102966
- EndpointSliceProxying  kubernetes/kubernetes#103451
- EndpointSliceTerminatingCondition  kubernetes/kubernetes#103596
- HugePageStorageMediumSize    kubernetes/kubernetes#99144
- JobTrackingWithFinalizers   kubernetes/kubernetes#98817
  (also tracked in kubernetes#28841, can rebase).
- MemoryQoS   kubernetes/kubernetes#102970
- ServiceInternalTrafficPolicy  kubernetes/kubernetes#103462
- StatefulSetAutoDeletePVC kubernetes/kubernetes#99378
- WindowsEndpointSliceProxying   kubernetes/kubernetes#103451

Some of these needs more detailed documentation.
@liggitt liggitt moved this from Assigned to API review completed, 1.23 in API Reviews Aug 5, 2021
@liggitt
Copy link
Member

liggitt commented Aug 5, 2021

Marking as API review completed since the API bits were approved. Can reference this review when reintroducing in 1.23 along with the implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-review Categorizes an issue or PR as actively needing an API review. approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: API review completed, 1.23
Development

Successfully merging this pull request may close these issues.

None yet