-
Notifications
You must be signed in to change notification settings - Fork 42k
Register CSI CRDs as addon #70193
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
Register CSI CRDs as addon #70193
Conversation
|
CC @davidz627 |
|
Do we have guarantees on when these CRDs will be installed? Does it always happen before nodes are made schedulable? (does not affect current PR but just for my understanding) |
Discussed offline. Addons are installed as part of master setup. |
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.
its unclear to me why we are removing this, previously the csinodeinfo.yaml was being generated from this definition when you ran the crd_test.go. That was useful for 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.
The code generated version was previously being used as the source of truth, and the YAML was generated from it. Two problems with that was 1) source of truth should be a YAML file not generated code per API machinery folks. 2) the generated yaml contained invalid fields (e.g. status), that resulted not being able to use the YAML in kubectl create -f without disabling validation.
So instead I'm moving the source of truth to YAML in crd/manifests. If any one wants a programmatic version of it, they can load it from the YAML file (see the integration test that does 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.
The source of truth should be "go IDL", i.e. types.go style struct definitions. yaml is also OK, although no tools will work on it. The code getting removed here was not an acceptable format for being a source of truth, so it's good that it's getting deleted.
cluster/addons/storage-crds/OWNERS
Outdated
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.
reviewers too? (I could probably help with that)
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.
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.
copy does not drift in relation to what other copy?
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.
Reworded to clarify.
|
/test pull-kubernetes-e2e-gce |
99b988b to
5c97b26
Compare
|
/test pull-kubernetes-verify |
|
/test pull-kubernetes-e2e-kops-aws |
cluster/gce/config-default.sh
Outdated
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.
Doesn't line 259 guarantee that KUBE_FEATURES_GATES is ALLAlpha=true?
I guest this block shouldn't be nested.
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.
Yes, but if a user explicitly disables this feature, I don't want to force it on even if it is enabled by default for alpha.
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.
Shall csiDrivers participate the spec/status convention? See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go#L54.
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 don't think I understand your question. We have a spec for the object, and will consider adding a status in the future if needed.
|
/priority important-soon |
|
/test pull-kubernetes-e2e-kops-aws |
|
/test pull-kubernetes-e2e-kops-aws |
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.
Should these tests live next to the addon manifests?
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 want the manifests dir to contain only the manifests and nothing else so that people can grab the entire directory as a source of truth and not get test files and other stuff with it. Would prefer to leave this as is.
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.
delete this line since we are already cleaning up imports.
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.
test/integration/auth/node_test.go
Outdated
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.
Question: is the conversion from yaml to json here actually necessary? I though the universal decoder handled all serialization media types automatically.
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.
Cleaned up.
|
/approve |
|
/test pull-kubernetes-e2e-kops-aws |
|
I did not review the shell changes exhaustively, other than that lgtm. /approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lavalamp, mikedanese, saad-ali The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
/test pull-kubernetes-e2e-gce |
|
/lgtm |
|
/retest Review the full test history for this PR. Silence the bot with an |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Register CSI CRDs as addon when the feature gates are enabled via the addon manager.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Short-term workaround for kubernetes/enhancements#615
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
/sig storage