-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
generic ephemeral volume beta #99643
generic ephemeral volume beta #99643
Conversation
/sig storage This PR is ready for testing and review, but should not be merged until several other PRs are also merged - see tracking project in https://github.com/orgs/kubernetes-csi/projects/34 |
/retest |
05a8a30
to
f797f6c
Compare
I also had to rebase to refresh the |
/retest |
/hold cancel All related PRs have merged, this is the last one for this feature. |
/approve for API and client-go changes |
It looks like the 1.21 milestone still needs to be set for this PR, too. |
f797f6c
to
f1f1786
Compare
Rebased again with refreshed |
/retest |
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
/retest |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: liggitt, pohly, saad-ali 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 |
/milestone v1.21 |
As discussed during the alpha review, the ReadOnly field is not really needed because volume mounts can also be read-only. It's a historical oddity that can be avoided for generic ephemeral volumes as part of the promotion to beta.
This is the result of "make update" minus the testdata update which will be committed separately.
This is the result of UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test k8s.io/api after removing the ReadOnly field from the API. The test data for older releases must be updated because the current code no longer supports that field. The removal itself is okay because the struct was declared as alpha. Because EphemeralVolumeSource is embedded quite a lot, different types are affected. Here is one example: --- FAIL: TestCompatibility/extensions.v1beta1.DaemonSet/v1.20.0 (0.04s) compatibility.go:476: json differs compatibility.go:477: string{ ... // 12941 identical bytes 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // | }| 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, // |. }| - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // -|,. | - 0x22, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, // -|"readOnly": true| 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, // |. }. | 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // | }. | ... // 31426 identical bytes } compatibility.go:482: yaml differs compatibility.go:483: string{ ... // 22893 identical bytes 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x70, 0x68, 0x65, 0x6d, // |4". ephem| 0x65, 0x72, 0x61, 0x6c, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // |eral:. | - 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, // -|readOnly: true. | - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // -| | 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, // |volumeClaimTempl| 0x61, 0x74, 0x65, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // |ate:. | ... // 5965 identical bytes } compatibility.go:488: proto differs compatibility.go:490: ( """ ... // 459 identical lines } } - 2: 1 } } ... // 1083 identical lines """ ) compatibility.go:506: wrote expected compatibility data... verify, commit, and rerun tests
This is the result of UPDATE_BOOTSTRAP_POLICY_FIXTURE_DATA=true go test k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy Apparently enabling the GenericEphemeralVolume feature by default affect this test. The policy that it now tests against is indeed the one needed for the controller.
f1f1786
to
c4311ae
Compare
Rebased and re-generated files again, this time due to a conflict with |
/lgtm |
What type of PR is this?
/kind feature
/kind api-change
What this PR does / why we need it:
We want to promote generic ephemeral volumes to beta in 1.21.
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: