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 kind/feature size/XXL kind/api-change cncf-cla: yes do-not-merge/needs-sig needs-triage needs-priority labels Mar 2, 2021
@k8s-ci-robot k8s-ci-robot added area/kubectl area/kubelet area/test sig/apps sig/cli sig/node sig/storage sig/testing and removed do-not-merge/needs-sig labels Mar 2, 2021
@pohly
Copy link
Contributor Author

@pohly 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 api-review labels Mar 2, 2021
@ehashman ehashman added this to Triage in SIG Node PR Triage Mar 2, 2021
@ehashman
Copy link
Member

@ehashman ehashman commented Mar 2, 2021

/retest
/priority important-soon
/triage accepted

@k8s-ci-robot k8s-ci-robot added priority/important-soon triage/accepted and removed needs-priority labels Mar 2, 2021
@pohly
Copy link
Contributor Author

@pohly pohly commented Mar 6, 2021

I added one more small change which removed Saad's LGTM from the PR: the latest commit causes the E2E tests to run in the normal prow jobs.

Jordan, if Saad doesn't get to it, can you also add the LGTM to get this merged?

@pohly pohly force-pushed the generic-ephemeral-volume-beta branch from 05a8a30 to f797f6c Compare Mar 6, 2021
@pohly
Copy link
Contributor Author

@pohly 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 pohly commented Mar 6, 2021

/retest

@pohly
Copy link
Contributor Author

@pohly 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 label Mar 8, 2021
@liggitt
Copy link
Member

@liggitt 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 label Mar 8, 2021
@pohly
Copy link
Contributor Author

@pohly 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 Mar 8, 2021
@pohly
Copy link
Contributor Author

@pohly 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 pohly commented Mar 8, 2021

/retest

Copy link
Member

@saad-ali saad-ali left a comment

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm label Mar 8, 2021
@pohly
Copy link
Contributor Author

@pohly pohly commented Mar 8, 2021

/retest

@k8s-ci-robot
Copy link
Contributor

@k8s-ci-robot k8s-ci-robot commented Mar 8, 2021

[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 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
@ehashman ehashman moved this from Needs Reviewer to Done in SIG Node PR Triage Mar 8, 2021
pohly added 5 commits Mar 9, 2021
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 Mar 9, 2021
@k8s-ci-robot k8s-ci-robot removed the lgtm label Mar 9, 2021
@pohly
Copy link
Contributor Author

@pohly 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 saad-ali commented Mar 9, 2021

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm label Mar 9, 2021
@k8s-ci-robot k8s-ci-robot merged commit 410d092 into kubernetes:master Mar 10, 2021
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-review approved area/kubectl area/kubelet area/test cncf-cla: yes kind/api-change kind/feature lgtm priority/important-soon release-note sig/api-machinery sig/apps sig/auth sig/cli sig/node sig/storage sig/testing size/XXL triage/accepted
Projects
API Reviews
API review completed, 1.21
Development

Successfully merging this pull request may close these issues.

None yet

6 participants