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

Adding NodeName to EndpointSlice API, deprecation updates #96440

Merged
merged 8 commits into from
Nov 13, 2020

Conversation

robscott
Copy link
Member

@robscott robscott commented Nov 11, 2020

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

What this PR does / why we need it:
In addition to adding NodeName, this notes that the topology field will be deprecated soon. It also removes the IP address type that was deprecated in Kubernetes 1.17 and intended to be removed in 1.20.

Although we were originally scheduled to graduate this API to GA in 1.20 it was determined that we needed to do a bit more cleanup first. This PR should accomplish that.

Does this PR introduce a user-facing change?:

- EndpointSlice has a new NodeName field guarded by the EndpointSliceNodeName feature gate.
- EndpointSlice topology field will be deprecated in an upcoming release.
- EndpointSlice "IP" address type is formally removed after being deprecated in Kubernetes 1.17.
- The discovery.k8s.io/v1alpha1 API is deprecated and will be removed in Kubernetes 1.21.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Enhancement Issue: kubernetes/enhancements#752
More Context: #96318 (comment)

/cc @aojea @andrewsykim @bowei @freehan
/assign @thockin
/sig network
/priority important-soon

@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/L Denotes a PR that changes 100-499 lines, ignoring generated files. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API labels Nov 11, 2020
@k8s-ci-robot k8s-ci-robot added sig/network Categorizes an issue or PR as relevant to SIG Network. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 11, 2020
@robscott
Copy link
Member Author

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. 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. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 11, 2020
@fejta-bot
Copy link

This PR may require API review.

If so, when the changes are ready, complete the pre-review checklist and request an API review.

Status of requested reviews is tracked in the API Review project.

pkg/apis/discovery/validation/validation_test.go Outdated Show resolved Hide resolved
pkg/apis/discovery/validation/validation_test.go Outdated Show resolved Hide resolved
pkg/controller/endpointslice/utils.go Show resolved Hide resolved
pkg/apis/discovery/validation/validation.go Outdated Show resolved Hide resolved
@robscott robscott force-pushed the endpointslice-pre-ga branch 2 times, most recently from 3024d7d to 36f4d5c Compare November 11, 2020 18:35
@robscott
Copy link
Member Author

Tests are all failing due to a strange merge issue. Seems to be affecting a number of PRs and is likely related to kubernetes/test-infra#19910.

@robscott
Copy link
Member Author

/retest

@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Nov 11, 2020
@robscott
Copy link
Member Author

/retest

@robscott
Copy link
Member Author

robscott commented Nov 12, 2020

@andrewsykim @thockin Thanks for the great feedback! I've pushed a commit that includes the following changes:

  • Remove feature gate consideration from EndpointSlice validation
  • Deprecate topology field, note that it will be removed in future release
  • Update kube-proxy to check for NodeName if feature gate is enabled
  • Add comments indicating the feature gates that can be used to enable alpha API fields
  • Add comments explaining use of deprecated address type in tests

- Remove feature gate consideration from EndpointSlice validation
- Deprecate topology field, note that it will be removed in future
release
- Update kube-proxy to check for NodeName if feature gate is enabled
- Add comments indicating the feature gates that can be used to enable
alpha API fields
- Add comments explaining use of deprecated address type in tests
Copy link
Member

@thockin thockin left a comment

Choose a reason for hiding this comment

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

Thanks!

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 12, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: robscott, 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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 12, 2020
@robscott
Copy link
Member Author

/retest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. 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/network Categorizes an issue or PR as relevant to SIG Network. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants