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

CSI Topology ga #83474

Merged
merged 6 commits into from Nov 4, 2019
Merged

CSI Topology ga #83474

merged 6 commits into from Nov 4, 2019

Conversation

@msau42
Copy link
Member

msau42 commented Oct 3, 2019

What type of PR is this?
/kind api-change
/kind feature

What this PR does / why we need it:
Move CSI Topology feature to GA. This PR adds the CSINode object to storage.k8s.io/v1 API group.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

CSI Topology feature is GA. The CSINodeInfo feature gate is deprecated and will be removed in a future release. The storage.k8s.io/v1beta1 CSINode object is deprecated and will be removed in a future release.

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

- [KEP]: https://github.com/kubernetes/enhancements/blob/ac738ac78ec2e425c54354119526bac916baeb7e/keps/sig-storage/20190124-csi-topology.md
- [Usage]: https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode
- [Other doc]: https://kubernetes-csi.github.io/docs/topology.html
@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 4, 2019

/retest

@msau42 msau42 changed the title WIP CSI Topology ga CSI Topology ga Oct 4, 2019
@@ -348,6 +348,8 @@ const (
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// DEPRECATED - This group version of CSINode is deprecated by storage/v1/CSINode.

This comment has been minimized.

Copy link
@msau42

msau42 Oct 4, 2019

Author Member

Side note: I noticed the other objects in here, StorageClass, VolumeAttachment are not deprecated. Should we go ahead and deprecate them (in a separate PR)?

This comment has been minimized.

Copy link
@thockin

thockin Oct 21, 2019

Member

Originally, the plan was to deprecate whole group-versions, but that seems to have shifted in machinery.

@liggitt or @lavalamp - thoughts? Should we deprecate individual types from a group? I don't think we can, really.

This comment has been minimized.

Copy link
@msau42

msau42 Oct 23, 2019

Author Member

I'll go ahead and deprecate the other objects in a separate pr

This comment has been minimized.

Copy link
@thockin

thockin Oct 23, 2019

Member

I'm not sure I buy this. At all. Deprecation policy says:

Rule #1: API elements may only be removed by incrementing the version of the API group.

test/integration/etcd/data.go Show resolved Hide resolved
@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 4, 2019

/assign @jsafrane
/label api-review

@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 4, 2019

@kubernetes/sig-storage-pr-reviews
/priority important-soon

@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 23, 2019

Since the original storage/v1, we added new types to v1beta1 that don't exist yet. I assume only once all the v1beta1 types are promoted to v1, then we can actually remove v1beta1. But I guess the question is can we deprecate a single type, or do we have to wait and deprecate the entire group?

@thockin

This comment has been minimized.

Copy link
Member

thockin commented Oct 23, 2019

@liggitt

This comment has been minimized.

Copy link
Member

liggitt commented Oct 23, 2019

What is the point of deprecating it from v1beta1 if it is not actually being removed in any subsequent version?

Some scenarios we've encountered:

Improvements that require changing API behavior must only be applied to subsequent versions:

  • Improved defaults (like deployment's spec.revisionHistoryLimit)
  • Structural improvements (like ingress v1)

Bug fixes that change API behavior can generally only be fixed in subsequent versions:

  • Improved validation (like better validation around custom resource definition schemas in v1, or see the long list of validations we wish we could tighten)
  • Fixes to API field name typos

Those benefits aside, marking the beta resource deprecated once the GA version is available is a good signal the beta served its purpose and consumers desiring stability should use the GA API.

@thockin

This comment has been minimized.

Copy link
Member

thockin commented Oct 23, 2019

@liggitt liggitt moved this from Assigned to In progress in API Reviews Oct 24, 2019
@jsafrane

This comment has been minimized.

Copy link
Member

jsafrane commented Oct 25, 2019

LGTM

@msau42 msau42 force-pushed the msau42:topology-ga branch 3 times, most recently from d019639 to c265108 Oct 26, 2019
@markyjackson-taulia

This comment has been minimized.

Copy link

markyjackson-taulia commented Oct 26, 2019

Bug triage for 1.17 here with a gentle reminder that code freeze for this release is on November 14. Is this issue still intended for 1.17?

msau42 added 6 commits Oct 3, 2019
@msau42 msau42 force-pushed the msau42:topology-ga branch from c265108 to fb6dfeb Oct 28, 2019
@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 28, 2019

All outstanding items and comments have been addressed.

@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 29, 2019

/retest

1 similar comment
@msau42

This comment has been minimized.

Copy link
Member Author

msau42 commented Oct 29, 2019

/retest

@thockin

This comment has been minimized.

Copy link
Member

thockin commented Nov 4, 2019

Thanks!

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm label Nov 4, 2019
@k8s-ci-robot

This comment has been minimized.

Copy link
Contributor

k8s-ci-robot commented Nov 4, 2019

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: msau42, thockin

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

@k8s-ci-robot k8s-ci-robot merged commit 1d1385a into kubernetes:master Nov 4, 2019
19 checks passed
19 checks passed
cla/linuxfoundation msau42 authorized
Details
pull-kubernetes-bazel-build Job succeeded.
Details
pull-kubernetes-bazel-test Job succeeded.
Details
pull-kubernetes-conformance-kind-ipv6 Job succeeded.
Details
pull-kubernetes-dependencies Job succeeded.
Details
pull-kubernetes-e2e-gce Job succeeded.
Details
pull-kubernetes-e2e-gce-100-performance Job succeeded.
Details
pull-kubernetes-e2e-gce-alpha-features Job succeeded.
Details
pull-kubernetes-e2e-gce-csi-serial Job succeeded.
Details
pull-kubernetes-e2e-gce-device-plugin-gpu Job succeeded.
Details
pull-kubernetes-e2e-gce-storage-slow Job succeeded.
Details
pull-kubernetes-e2e-kind Job succeeded.
Details
pull-kubernetes-integration Job succeeded.
Details
pull-kubernetes-kubemark-e2e-gce-big Job succeeded.
Details
pull-kubernetes-node-e2e Job succeeded.
Details
pull-kubernetes-node-e2e-containerd Job succeeded.
Details
pull-kubernetes-typecheck Job succeeded.
Details
pull-kubernetes-verify Job succeeded.
Details
tide In merge pool.
Details
@liggitt liggitt moved this from In progress to API review completed, 1.17 in API Reviews Nov 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.