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

Add componentconfig API types to staging KEP #2354

Merged
merged 2 commits into from
Jul 25, 2018

Conversation

luxas
Copy link
Member

@luxas luxas commented Jul 7, 2018

Sorry in beforehand for all the team mentions, but this touches many SIGs:

@kubernetes/sig-cluster-lifecycle-pr-reviews @kubernetes/sig-api-machinery-pr-reviews @kubernetes/sig-architecture-api-reviews @kubernetes/sig-node-pr-reviews @kubernetes/sig-cloud-provider-pr-reviews @kubernetes/sig-scheduling-pr-reviews @kubernetes/sig-network-pr-reviews

This idea was prototyped in this Google Doc and has been reviewed over the course of the last week. Myself and @sttts think that now we have enough agreement and encouragement to move on with the proposal process and turn this into a KEP for more "formal" discussions.

Unfortunately, I have to do my military service starting from next week, which means I'll be unavailable for a fast response to review comments. I might have internet connection every now and then, but I don't know when I'll be able to answer this. Luckily @sttts will chime in here and help out by pushing agreed changes to this branch to make it mergeable. (This was semi-automatically converted from gdocs, there are probably a couple of formatting errors here still)

/assign @thockin @jbeda @liggitt @bgrant0607 @mtaufen @wojtek-t
/cc @stewart-yu @dixudx @timothysc

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 7, 2018
@k8s-ci-robot k8s-ci-robot added the sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. label Jul 7, 2018
@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API labels Jul 7, 2018
@k8s-ci-robot k8s-ci-robot added sig/node Categorizes an issue or PR as relevant to SIG Node. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/network Categorizes an issue or PR as relevant to SIG Network. labels Jul 7, 2018
@luxas luxas force-pushed the componentconfig_staging branch 3 times, most recently from adc6a46 to 9cd8810 Compare July 7, 2018 23:54
a component should support a similar feature. This is all about the making the one-off “read bytes from a source and unmarshal into internal config state” possible for
both the internal components and external consumers of these APIs
* This is work to be done after this proposal is implemented (for every component but the kubelet which has this implemented already), and might or might not require
futher, more component-specific proposals/KEPs
Copy link
Member

Choose a reason for hiding this comment

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

verify complains about a typo, but i'd say s/futher,//

Copy link
Contributor

Choose a reason for hiding this comment

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

done

* **External Package**: `k8s.io/kube-controller-manager/config/v1alpha1/types.go`
* **Internal Package**: `k8s.io/kubernetes/pkg/controller/apis/config/types.go`
* **Internal Scheme**: `k8s.io/kubernetes/pkg/controller/apis/config/scheme/scheme.go`
* **Conversions & defaulting Package:** `k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1/register.go`
Copy link
Contributor

Choose a reason for hiding this comment

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

s/register.go/default.go ?

Copy link
Contributor

Choose a reason for hiding this comment

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

done

#### k8s.io/controller-manager changes

* **Not a "real" API group, instead shared packages only with both external and internal types.**
* **External Package with defaulting & conversions**: `k8s.io/controller-manager/pkg/apis/config/v1alpha1/types.go`
Copy link
Contributor

Choose a reason for hiding this comment

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

If we want to change the default value easy, can we put the default.go in core k8s directory? such pkg/. May be a immature suggestions

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a library like k8s.io/apiserver or apimachinery. Hence, we just put everything into one package pkg/apis/config.

@rosti
Copy link

rosti commented Jul 9, 2018

@luxas @sttts Given the fact, that kubeadm is part of Kubernetes, do you think that we should do the same for its config? Some folks (Cluster API for example) may be interested in that in order to avoid pulling the whole Kubernetes repo as an external dependency just because of kubeadm config.

P.S: I am available if you need a hand in implementing this KEP.

@sttts
Copy link
Contributor

sttts commented Jul 9, 2018

Given the fact, that kubeadm is part of Kubernetes, do you think that we should do the same for its config?

Sounds reasonable. How do you consume kubeadm? Via binaries or containers? Is there anything else why you need to vendor k/k?

@rosti
Copy link

rosti commented Jul 9, 2018

At least in my case it is to generate the kubeadm config file and then invoke the executable with it. I assume, that most of the other people use kubeadm in the same way.
Basically kubeadm is mostly used by other external tools to deploy K8s on the current node, thus allowing for easier kubeadm config generation by external tools will be great.

@luxas
Copy link
Member Author

luxas commented Jul 9, 2018

We plan to eventually move kubeadm to its own repo, yes. But that requires these other core ComponentConfigs to move out first. Moving kubeadm out is scope for an other proposal, I don't feel a need to include that in this proposal. Right now we do the same thing as proposed for the cloud-controller-manager, store our API under cmd/.

@rosti can we assign you the kube-proxy work items? k8s.io/apimachinery and k8s.io/apiserver needs to be done first, but if you feel like that is okay @sttts can add you as an assignee to the doc :)

@rosti
Copy link

rosti commented Jul 9, 2018

Yes, I can work on these. :)

k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Aug 10, 2018
Automatic merge from submit-queue (batch tested with PRs 66602, 67178, 67207, 67125, 66332). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove defaulting from shared ComponentConfig types

**What this PR does / why we need it**:

As @deads2k commented in kubernetes/community#2354, we should not register defaults for the shared componentconfig types as it gets very hard for consumer to opt-out of the default defaulting funcs. Instead, the package provides a  `DefaultFoo` function the consuming API group can call if it wants to as an opt-in in `SetDefaults_Bar` (where `Bar` wraps `Foo` as a field)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
/assign @sttts @liggitt @deads2k
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Aug 15, 2018
Automatic merge from submit-queue (batch tested with PRs 67071, 66906, 66722, 67276, 67039). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove references to the structs that have moved to their own packages

**What this PR does / why we need it**:
Follows-up #66058 and  #66059 to remove the structs that now aren't needed in `pkg/apis/componentconfig`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
xref kubernetes/community#2354

**Special notes for your reviewer**:

This PR depends on:
 - [x] #67090
 - [x] #67149
 - [x] #67159
 - [x] #67207

**Only review commit 'Remove references to the structs that have moved to their own packages' please**

**Release note**:

```release-note
NONE
```
/kind cleanup
/assign @sttts @thockin @jbeda @liggitt
k8s-publishing-bot added a commit to kubernetes/apimachinery that referenced this pull request Aug 16, 2018
Automatic merge from submit-queue (batch tested with PRs 66602, 67178, 67207, 67125, 66332). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove defaulting from shared ComponentConfig types

**What this PR does / why we need it**:

As @deads2k commented in kubernetes/community#2354, we should not register defaults for the shared componentconfig types as it gets very hard for consumer to opt-out of the default defaulting funcs. Instead, the package provides a  `DefaultFoo` function the consuming API group can call if it wants to as an opt-in in `SetDefaults_Bar` (where `Bar` wraps `Foo` as a field)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
/assign @sttts @liggitt @deads2k

Kubernetes-commit: 94a754c794d41287ba3d009fb96dfa24f088e175
k8s-publishing-bot added a commit to kubernetes/apiserver that referenced this pull request Aug 16, 2018
Automatic merge from submit-queue (batch tested with PRs 66602, 67178, 67207, 67125, 66332). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove defaulting from shared ComponentConfig types

**What this PR does / why we need it**:

As @deads2k commented in kubernetes/community#2354, we should not register defaults for the shared componentconfig types as it gets very hard for consumer to opt-out of the default defaulting funcs. Instead, the package provides a  `DefaultFoo` function the consuming API group can call if it wants to as an opt-in in `SetDefaults_Bar` (where `Bar` wraps `Foo` as a field)

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
/assign @sttts @liggitt @deads2k

Kubernetes-commit: 94a754c794d41287ba3d009fb96dfa24f088e175
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Aug 28, 2018
Automatic merge from submit-queue (batch tested with PRs 64597, 67854, 67734, 67917, 67688). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move kubeproxy ComponentConfig external types to `k8s.io/kube-proxy`

**What this PR does / why we need it**:
This PR implements most of kubernetes/community#2354 for the kube-proxy.
The PR:
- Moves k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig as-is to k8s.io/kubernetes/pkg/proxy/apis/config as agreed
- Moves the external types to the new staging repo k8s.io/kube-proxy, in the k8s.io/kube-proxy/config/v1beta1 package.
- Makes k8s.io/kubernetes/pkg/proxy/apis/config/v1beta1 source the types from k8s.io/kube-proxy/config/v1beta1. The defaulting and conversion code is kept in this package as before.
- All references to these packages have been updated.

Ref #67233

**Special notes for your reviewer**:

**Release note**:
```release-note
kube-proxy v1beta1 external ComponentConfig types are now available in the `k8s.io/kube-proxy` repo
```
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Aug 30, 2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move kubelet internal ComponentConfig types to `pkg/kubelet/apis/config`

**What this PR does / why we need it**:
This PR is split out from the main PR of #67263, in order to make merging each scoped piece of the puzzle easier and smoother.

This PR simply moves the `k8s.io/kubernetes/pkg/apis/kubeletconfig` as-is to `k8s.io/kubernetes/pkg/apis/config` as agreed in the KEP.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
@kubernetes/sig-node-pr-reviews 
/assign @mtaufen @thockin @liggitt
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Sep 2, 2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Refactor the kube-controller-manager ComponentConfig structs

**What this PR does / why we need it**:

This PR cleans up the kube-controller-manager structs in the componentconfig package and fixes various structural issues in the current code, in order to make it possible to later move the code out to external API groups (as a starting point `GenericControllerManagerConfiguration` to `k8s.io/controller-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)*:
ref: kubernetes/community#2354

This PR depends on:
 - [x] #67149
 - [x] #67090
 - [x] #67159
 - [x] #67207
 - [x] #66722

**Special notes for your reviewer**:

Please only review the following commits:
 - **Refactor the k-c-m ComponentConfig structs to they can be moved out**
 - **Fixup cmd/kube-controller-manager code after struct changes.**

**Release note**:

```release-note
NONE
```
/assign @sttts @stewart-yu @liggitt @thockin
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Sep 2, 2018
Automatic merge from submit-queue (batch tested with PRs 65566, 67959, 68029, 68017, 67263). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move kubelet ComponentConfig external types to `k8s.io/kubelet`

**What this PR does / why we need it**:
This PR implements most of kubernetes/community#2354 for the kubelet.
The PR:
 - Moves `k8s.io/kubernetes/pkg/apis/kubeletconfig` as-is to `k8s.io/kubernetes/pkg/apis/config` as agreed
 - Moves the external types to the new staging repo `k8s.io/kubelet`, in the `k8s.io/kubelet/config/v1beta1` package.
 - Makes `k8s.io/kubernetes/pkg/apis/config/v1beta1` source the types from `k8s.io/kubelet/config/v1beta1`. The defaulting and conversion code is kept in this package as before.
 - All references to these packages have been updated.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

This PR depends on getting #67780 merged first.

**Release note**:

```release-note
kubelet v1beta1 external ComponentConfig types are now available in the `k8s.io/kubelet` repo
```
/assign @sttts @mtaufen @liggitt
calebamiles pushed a commit to calebamiles/community that referenced this pull request Sep 5, 2018
Add componentconfig API types to staging KEP
k8s-github-robot pushed a commit to kubernetes/kubernetes that referenced this pull request Sep 6, 2018
Automatic merge from submit-queue (batch tested with PRs 68171, 67945, 68233). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move the CloudControllerManagerConfiguration to an API group in `cmd/`

**What this PR does / why we need it**:
This PR is the last piece of #67233.
It moves the `CloudControllerManagerConfiguration` to its own `cloudcontrollermanager.config.k8s.io` config API group, but unlike the other components this API group is "private" (only available in `k8s.io/kubernetes`, which limits consumer base), as it's located entirely in `cmd/` vs a staging repo.
This decision was made for now as we're not sure what the story for the ccm loading ComponentConfig files is, and probably a "real" file-loading ccm will never exist in core, only helper libraries. Eventually the ccm will only be a library in any case, and implementors will/can use the base types the ccm library API group provides. It's probably good to note that there is no practical implication of this change as the ccm **cannot** read ComponentConfig files. Hencec the code move isn't user-facing.

With this change, we're able to remove `pkg/apis/componentconfig`, as this was the last consumer. That is hence done in this PR as well (so the move is easily visible in git, vs first one "big add" then a "big remove"). The only piece of code that was used was the flag helper structs, so I moved them to `pkg/util/flag` that I think makes sense for now.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

This PR builds on top of (first two commits, marked as `Co-authored by: @stewart-yu`) #67689

**Release note**:

```release-note
NONE
```
/assign @liggitt @sttts @thockin @stewart-yu
k8s-publishing-bot added a commit to kubernetes/kube-proxy that referenced this pull request Sep 8, 2018
Automatic merge from submit-queue (batch tested with PRs 64597, 67854, 67734, 67917, 67688). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Move kubeproxy ComponentConfig external types to `k8s.io/kube-proxy`

**What this PR does / why we need it**:
This PR implements most of kubernetes/community#2354 for the kube-proxy.
The PR:
- Moves k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig as-is to k8s.io/kubernetes/pkg/proxy/apis/config as agreed
- Moves the external types to the new staging repo k8s.io/kube-proxy, in the k8s.io/kube-proxy/config/v1beta1 package.
- Makes k8s.io/kubernetes/pkg/proxy/apis/config/v1beta1 source the types from k8s.io/kube-proxy/config/v1beta1. The defaulting and conversion code is kept in this package as before.
- All references to these packages have been updated.

Ref #67233

**Special notes for your reviewer**:

**Release note**:
```release-note
kube-proxy v1beta1 external ComponentConfig types are now available in the `k8s.io/kube-proxy` repo
```

Kubernetes-commit: 029bb4e213502268af6222cc2f6903ab90de751b
k8s-publishing-bot added a commit to kubernetes/kubelet that referenced this pull request Sep 8, 2018
Automatic merge from submit-queue (batch tested with PRs 65566, 67959, 68029, 68017, 67263). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move kubelet ComponentConfig external types to `k8s.io/kubelet`

**What this PR does / why we need it**:
This PR implements most of kubernetes/community#2354 for the kubelet.
The PR:
 - Moves `k8s.io/kubernetes/pkg/apis/kubeletconfig` as-is to `k8s.io/kubernetes/pkg/apis/config` as agreed
 - Moves the external types to the new staging repo `k8s.io/kubelet`, in the `k8s.io/kubelet/config/v1beta1` package.
 - Makes `k8s.io/kubernetes/pkg/apis/config/v1beta1` source the types from `k8s.io/kubelet/config/v1beta1`. The defaulting and conversion code is kept in this package as before.
 - All references to these packages have been updated.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

This PR depends on getting kubernetes/kubernetes#67780 merged first.

**Release note**:

```release-note
kubelet v1beta1 external ComponentConfig types are now available in the `k8s.io/kubelet` repo
```
/assign @sttts @mtaufen @liggitt

Kubernetes-commit: 3a8a7114fa22bd687302d31548bb393e2de9f0cd
k8s-publishing-bot added a commit to kubernetes/kube-controller-manager that referenced this pull request Sep 9, 2018
…kubecomponentconfig

Automatic merge from submit-queue (batch tested with PRs 65074, 67469). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move kube-controller-manager ComponentConfig external types to `k8s.io/kube-controller-manager`

**What this PR does / why we need it**:
As the title describe:
split `kube-controller-manager` component api into their own packages:

- external component api located in `k8s.io/kube-controller-manager/config/v1alpha/types.go`;
- internal component api located in `pkg/controller/apis/config/types.go`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #
ref: [kubernetes/community#2354](kubernetes/community#2354)

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

Kubernetes-commit: 1fc36a5743bc02d62ddaac6cd41b71f0ef191ce2
@neolit123
Copy link
Member

as mentioned by @luxas here:
kubernetes-sigs/kind#107

some of these comments should be in this thread.

strict unmarshaling is something that will warn/error for problems in your YAML - duplicate fields and unknown fields. k8s is currently lacking this functionally which is not ideal...

we recently enabled this library fork to support it:
sigs.k8s.io/yaml.

the serializers in API machinery on the other hand do not use that library directly for JSON unmarshal, but only use the YAML->JSON functionality that it has. for JSON unmarshal the library json-iter is used.
kubernetes/kubernetes#70839

^ errors are out of scope for now, but for warnings this is the place you can dig into (i.e. implementing a knob).

in the meantime the proposed solution is for consumers to implement a pre-step to validate input bytes using sigs.k8s.io/yaml. validation happens in #1 in the example bellow.

sigs.k8s.io/yaml.UnmarshalStrict(bytes, externalConfigStructInstance) // #1
...
k8s.io/apimachinery/pkg/runtime.DecodeInto(myScheme.Codecs.UniversalDecoder(), bytes, internalConfigStructInstance);

@liggitt
Copy link
Member

liggitt commented Nov 17, 2018

we should work on an option to enable a strict codec, rather than reimplement kind/apiVersion detection and direct calls to yaml.UnmarshalStrict with external types in lots of places

Places that wanted to be strict could then enable that option

@neolit123
Copy link
Member

definitely, a strict codec would be ideal.

for reference, since i don't know how to write one (yet) we ended up with this in kubeadm for 1.13:
https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/util/config/strict/strict.go#L34

it finds a known GVK in known Schemas and creates an New() external config target to validate with sigs.k8s.io/yaml.UnmarshalStrict().

@luxas
Copy link
Member Author

luxas commented Nov 19, 2018

The follow-up KEP of this one is being created/discussed here: https://docs.google.com/document/d/1nZnzJD9dC0xrtEla2Xa-J6zobbC9oltdHIJ3KKSSIhk/edit. Please redirect comments/questions/concerns to that doc. And yes, totally we should be (to begin with) giving warnings when deserializing ComponentConfig files with unknown fields, using a stricter codec.

tamalsaha pushed a commit to gomodules/encoding that referenced this pull request Aug 10, 2021
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

move componentconfig ClientConnectionConfiguration to k8s.io/apimachinery/pkg/apis/config

**What this PR does / why we need it**:
ref [#2354](kubernetes/community#2354)
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
ClientConnectionConfiguration now is used by KubeSchedulerConfiguration in pkg/apis/componentconfig, when KubeSchedulerConfiguration  is moved to staging, ClientConnectionConfiguration should be cleaned up in pkg/apis/componentconfig.
**Release note**:

```release-note
NONE
```

Kubernetes-commit: 774fe16e131b8d782560880668d2d989afe48715
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 lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
No open projects
KEP Tracking
  
Backlog
Development

Successfully merging this pull request may close these issues.

None yet