-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
KEP-3333: Graduate RetroactiveDefaultStorageClass to beta in v1.26 #3544
Conversation
RomanBednar
commented
Sep 23, 2022
- One-line PR description: Graduate RetroactiveDefaultStorageClass feature to beta
- Issue link: Retroactive default StorageClass assignement #3333
- Other comments:
afe23c0
to
0bcb840
Compare
keps/sig-storage/3333-reconcile-default-storage-class/README.md
Outdated
Show resolved
Hide resolved
0bcb840
to
277023f
Compare
Longer term, we may want to require automated upgrade/rollback tests, but we | ||
are missing a bunch of machinery and tooling and can't do that now. | ||
--> | ||
Upgrade and rollback will be tested when the feature gate will change to beta. |
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.
Please send a dedicated KEP PR once you do this, before graduating the feature to beta in k/k (and assign both to SIG leads and myself).
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.
Ok, will do.
A metric which would include PersistentVolumeClaim name or StorageClass name | ||
as a label to help users debug possible issues. A metric with such labels should | ||
not be added because PVCs and SCs are in control of users and if they would | ||
create too many of those resources it could overload the metric system. |
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.
Let's maybe rephrase that "such metric would have potentially unbounded cardinality, which is a hard blocker for adding it".
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.
Done.
ones. | ||
|
||
Test: | ||
https://github.com/kubernetes/kubernetes/blob/91a9ce28ac2486c50222aeeec1f76e664155d769/test/e2e/storage/pvc_storageclass.go#L62 |
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.
Please link testgrid, there were few green runs in https://testgrid.k8s.io/sig-network-gce#gci-gce-alpha-features.
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.
Added.
277023f
to
c373d10
Compare
Removed
@wojtek-t maybe the field removal is not yet reflected in CI? |
stage: alpha | ||
prr-approvers: | ||
- "@deads2k" | ||
- "@wojtek-t" |
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.
Please remove this section.
And readd back stage: beta - lack of it is failing validation.
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.
Done.
c373d10
to
848276a
Compare
@@ -352,68 +365,53 @@ enabled for the first time. | |||
|
|||
###### Are there any tests for feature enablement/disablement? | |||
|
|||
Unit tests will cover feature enablement/disablement. | |||
Unit tests cover feature enablement/disablement. |
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.
Those aren't really testing feature enablement/disablement.
Those are testing feature itself (when the feature gate is on).
Feature enablement/disablement is the operation of enabling/disabling the feature (so changing the value of feature gate).
As mentioned in the comment in the KEP template, here is an example of such test:
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
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 see, something like this would be sufficient? kubernetes/kubernetes#112786
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 am not sure such a test is applicable here - there is no new field that needs to be cleared / handled specially when the feature is disabled/enabled.
The feature gate just enables / disables a code path in PV controller and IMO that's covered by existing unit test,
Would it be enough just to mention that in this section?
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.
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.
Ok, I've added an explanation and closed the PR linked above.
- [ ] Other (treat as last resort) | ||
- Details: | ||
- Other field: `pvc.spec.storageClassName` changing from nil to current default StorageClass name after the default is set | ||
- [X] Other (treat as last resort) |
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.
That's not really true - the metric is an aggregate, I can check if the feature is used, but not if my particular instance of PVC is using it.
Please unmark this one.
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.
Done.
848276a
to
72d60cc
Compare
@@ -352,68 +365,48 @@ enabled for the first time. | |||
|
|||
###### Are there any tests for feature enablement/disablement? | |||
|
|||
Unit tests will cover feature enablement/disablement. | |||
Unit test covers feature enablement/disablement: | |||
<TODO: add a link once merged> |
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.
When do we add this?
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.
As discussed above - we won't be adding any new tests for this section.
72d60cc
to
40d2ebe
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jsafrane, RomanBednar, wojtek-t The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…ubernetes#3544) * update RetroactiveDefaultStorageClass for beta graduation * address review comments 1 * address review comments 2 * address review comments 3 * address review comments 4