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

generic ephemeral volume beta #99643

Merged
merged 5 commits into from
Mar 10, 2021

Conversation

pohly
Copy link
Contributor

@pohly pohly commented Mar 2, 2021

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?

Generic ephemeral volumes are beta.

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

- [KEP]: https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1698-generic-ephemeral-volumes
- [Usage]: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes

@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. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API cncf-cla: yes Indicates the PR's author has 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. labels Mar 2, 2021
@k8s-ci-robot k8s-ci-robot added area/kubectl area/kubelet area/test sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Mar 2, 2021
@pohly
Copy link
Contributor Author

pohly commented Mar 2, 2021

/sig storage
/label api-review
/hold

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

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. api-review Categorizes an issue or PR as actively needing an API review. labels Mar 2, 2021
@ehashman
Copy link
Member

ehashman commented Mar 2, 2021

/retest
/priority important-soon
/triage accepted

@k8s-ci-robot k8s-ci-robot added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Mar 2, 2021
@pohly pohly force-pushed the generic-ephemeral-volume-beta branch from 05a8a30 to f797f6c Compare March 6, 2021 12:20
@pohly
Copy link
Contributor Author

pohly commented Mar 6, 2021

I also had to rebase to refresh the testdata/HEAD/batch.v1.CronJob files.

@pohly
Copy link
Contributor Author

pohly commented Mar 6, 2021

/retest

@pohly
Copy link
Contributor Author

pohly commented Mar 8, 2021

/hold cancel

All related PRs have merged, this is the last one for this feature.

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 8, 2021
@liggitt
Copy link
Member

liggitt commented Mar 8, 2021

/approve

for API and client-go changes
storage reviewer has lgtm

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 8, 2021
@pohly
Copy link
Contributor Author

pohly commented Mar 8, 2021

It looks like the 1.21 milestone still needs to be set for this PR, too.

@pohly pohly force-pushed the generic-ephemeral-volume-beta branch from f797f6c to f1f1786 Compare March 8, 2021 19:27
@pohly
Copy link
Contributor Author

pohly commented Mar 8, 2021

Rebased again with refreshed staging/src/k8s.io/api/core/v1/generated.pb.go.

@pohly
Copy link
Contributor Author

pohly commented Mar 8, 2021

/retest

Copy link
Member

@saad-ali saad-ali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 8, 2021
@pohly
Copy link
Contributor Author

pohly commented Mar 8, 2021

/retest

@k8s-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@saad-ali
Copy link
Member

saad-ali commented Mar 8, 2021

/milestone v1.21

@k8s-ci-robot k8s-ci-robot added this to the v1.21 milestone Mar 8, 2021
pohly added 5 commits March 9, 2021 08:22
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.
@pohly pohly force-pushed the generic-ephemeral-volume-beta branch from f1f1786 to c4311ae Compare March 9, 2021 07:25
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 9, 2021
@pohly
Copy link
Contributor Author

pohly commented Mar 9, 2021

Rebased and re-generated files again, this time due to a conflict with staging/src/k8s.io/api/testdata/HEAD from #98727.

@saad-ali
Copy link
Member

saad-ali commented Mar 9, 2021

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 9, 2021
@k8s-ci-robot k8s-ci-robot merged commit 410d092 into kubernetes:master Mar 10, 2021
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. area/kubectl area/kubelet area/test 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. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. 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. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. 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.21
Archived in project
Development

Successfully merging this pull request may close these issues.

6 participants