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

Upgrade k8s.io/* to v0.26.1, sigs.k8s.io/controller-runtime to v0.14.1 #7248

Merged
merged 49 commits into from Jan 31, 2023

Conversation

shafeeqes
Copy link
Contributor

@shafeeqes shafeeqes commented Dec 21, 2022

How to categorize this PR?

/area open-source
/kind enhancement

What this PR does / why we need it:
Upgrade dependencies

  • k8s.io/* to v0.26.1
  • sigs.k8s.io/controller-runtime to v0.14.1

Which issue(s) this PR fixes:
Fixes #7230

Special notes for your reviewer:
Depends on etcd-druid release with gardener/etcd-druid#493
Depends on #7333
Depends on kubernetes patch release with kubernetes/kubernetes#114617
Need to fix some integration tests.
Hence in draft.

Release note:

The following dependencies are updated:
- `k8s.io/*` : `v0.25.0` -> `v0.26.1`
- `sigs.k8s.io/controller-runtime`: `v0.13.0` -> `v0.14.1`

@gardener-prow
Copy link
Contributor

gardener-prow bot commented Dec 21, 2022

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@gardener-prow gardener-prow bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. area/open-source Open Source (community, enablement, contributions, conferences, CNCF, etc.) related kind/enhancement Enhancement, improvement, extension cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. labels Dec 21, 2022
@gardener-prow gardener-prow bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Dec 21, 2022
@rfranzke
Copy link
Member

/assign

Copy link
Member

@rfranzke rfranzke left a comment

Choose a reason for hiding this comment

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

Very nice PR, well structured, kudos 🎉

cmd/gardener-controller-manager/app/app.go Outdated Show resolved Hide resolved
cmd/gardener-extension-provider-local/app/app.go Outdated Show resolved Hide resolved
pkg/api/indexer/core.go Outdated Show resolved Hide resolved
pkg/controllermanager/controller/project/activity/add.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/reconciler.go Show resolved Hide resolved
test/utils/shoots/access/adminkubeconfig.go Outdated Show resolved Hide resolved
cmd/gardener-extension-provider-local/app/app.go Outdated Show resolved Hide resolved
hack/test-integration.sh Show resolved Hide resolved
pkg/admissioncontroller/webhook/auth/seed/graph/graph.go Outdated Show resolved Hide resolved
@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 22, 2022
@gardener-prow gardener-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 2, 2023
@rfranzke
Copy link
Member

rfranzke commented Jan 9, 2023

Can you also tackle the TODOs in https://github.com/gardener/gardener/tree/master/pkg/utils/sets now?

@shafeeqes shafeeqes force-pushed the enh/k8s126 branch 2 times, most recently from 0e51ecc to fdcd951 Compare January 9, 2023 08:47
@shafeeqes
Copy link
Contributor Author

/test all

@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 9, 2023
pkg/controller/service/add.go Outdated Show resolved Hide resolved
pkg/gardenlet/controller/backupbucket/add.go Outdated Show resolved Hide resolved
pkg/gardenlet/controller/seed/care/add.go Outdated Show resolved Hide resolved
pkg/gardenlet/controller/shoot/care/add.go Outdated Show resolved Hide resolved
pkg/gardenlet/controller/shootstate/secret/add.go Outdated Show resolved Hide resolved
pkg/resourcemanager/controller/rootcapublisher/add.go Outdated Show resolved Hide resolved
@gardener-prow gardener-prow bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jan 11, 2023
@gardener-prow gardener-prow bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jan 12, 2023
@gardener-prow gardener-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 16, 2023
shafeeqes and others added 14 commits January 30, 2023 19:45
Adding ready check to manager is not possible after it's started, since controller-runtime, `v0.11.0`. However the check was broken, and it is now fixed in kubernetes-sigs/controller-runtime#2090, so we have to drop this.
Contexts: from this PR, we're not setting RecoverPanic to true in tests
k8s.io/* - 0.26.0=>0.26.1
controller-tools - 0.11.0=>0.11.1
Co-authored-by: Rafael Franzke <rafael.franzke@sap.com>
@gardener-prow gardener-prow bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 30, 2023
@gardener-prow gardener-prow bot requested a review from rfranzke January 30, 2023 14:17
@shafeeqes
Copy link
Contributor Author

/test pull-gardener-e2e-kind-ha-multi-zone-upgrade

@gardener-prow
Copy link
Contributor

gardener-prow bot commented Jan 30, 2023

@shafeeqes: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-gardener-apidiff 110be0f link false /test pull-gardener-apidiff
pull-gardener-e2e-kind-ha-multi-zone-upgrade 110be0f link false /test pull-gardener-e2e-kind-ha-multi-zone-upgrade

Full PR test history. Your PR dashboard. Command help for this repository.
Please help us cut down on flakes by linking this test failure to an open flake report or filing a new flake report if you can't find an existing one. Also see our testing guideline for how to avoid and hunt flakes.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@shafeeqes
Copy link
Contributor Author

Rabased and adapted the changes. PTAL @rfranzke

Copy link
Member

@rfranzke rfranzke left a comment

Choose a reason for hiding this comment

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

/lgtm

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Jan 31, 2023
@gardener-prow
Copy link
Contributor

gardener-prow bot commented Jan 31, 2023

LGTM label has been added.

Git tree hash: b571b9fe671c4c580e459443f86f9ad3d573c268

@gardener-prow gardener-prow bot merged commit 8d53342 into gardener:master Jan 31, 2023
@shafeeqes shafeeqes deleted the enh/k8s126 branch January 31, 2023 12:20
andrerun pushed a commit to andrerun/gardener that referenced this pull request Jul 6, 2023
…`v0.14.1` (gardener#7248)

* Update `k8s.io/*` to `v0.26.0`

* Update `sigs.k8s.io/controller-runtime` to `v0.14.1`

* Set `RecoverPanic` globally for the manager of `controller-manager` controllers

* Set `RecoverPanic` globally for the manager of `gardenlet` controllers

* Set `RecoverPanic` globally for the manager of `operator` controllers

* Set `RecoverPanic` globally for the manager of `resource-manager` controllers

* Set `RecoverPanic` globally for the manager of `scheduler` controllers

* Set `RecoverPanic` globally in manager options for extension controllers

* Change RecoverPanic bool to bool pointer for other controllers

* Run `make generate`

* Set `AllowInvalidLabelValueInSelector` to true in LabelSelectorValidationOptions for backwards compatibility

See kubernetes/kubernetes#113699 for more details

* Drop `Not` predicate util function in favor of controller-runtime `predicate.Not`

* Drop `NewClientWithFieldSelectorSupport` function in favor of controller-runtime `WithIndex` function

kubernetes-sigs/controller-runtime/pull/2025

* Use `Build()` function for all controllers

* Use Subresource client for `shoots/binding` and drop generated clientset

* Use Subresource client for `shoots/adminkubeconfig` and drop generated clientset

* Use Status() client for Status

Ref: kubernetes-sigs/controller-runtime#2072

* Adapt unit tests with mock StatusWriter

* Add "ValidatingAdmissionPolicy" to default admission plugins

* Adapt changes related to removed fields in kube-proxy config

* Add unit test cases for "#IsAdmissionPluginSupported" function

* Update envtest version

* Return error from `informer.AddEventHandler`

* Copy onsi/gomega/format package also to gomegacheck testdata

* Address PR review feedback

* Vendor current `etcd-druid` master

* Use `builder.Watches()` wherever possible

* Call `etcdOptions.Complete()` for gardener apiserver config

etcd-encryption is supported out-of-the-box now.
ref: kubernetes/kubernetes#112789

* Use Subresource client for `serviceaccounts/token` wherever possible

* Update `ahmetb/gen-crd-api-reference-docs` to `0.3.0`

* Update `sigs.k8s.io/controller-tools` to `v0.11.0`

Update to `v0.11.1` once kubernetes/kubernetes/pull/114617 is released.
In k8s v0.26.0 the CRD generation is broken.

* Remove unneeded dependencies for `gardener-scheduler` from skaffold.yaml

* Hardcode `RecoverPanic` to true for extensions controller

* Use `k8s.io/apimachinery/pkg/util/sets` and drop copied packages

* Drop ready check for garden informer sync for gardenlet

Adding ready check to manager is not possible after it's started, since controller-runtime, `v0.11.0`. However the check was broken, and it is now fixed in kubernetes-sigs/controller-runtime#2090, so we have to drop this.

* Adapt `provider-local` webhook

* Address PR review feedback

* Fix panic in ManagedSeed controller

Contexts: from this PR, we're not setting RecoverPanic to true in tests

* Vendor `etcd-druid` `v0.15.3`

* Update `k8s.io/*` and `controller-runtime`

k8s.io/* - 0.26.0=>0.26.1
controller-tools - 0.11.0=>0.11.1

* Run `make generate`

* Rebase

* Address PR review feedback

* Fix failing test

* Adapt `highavailabilityconfig` webhook integration test

`autoscaling/v2beta2.HorizontalPodAutoscaler` is removed in v1.26.
Ref: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-26

* Use `apiutil.NewDynamicRESTMapper` for Manager cache in tests

Co-authored-by: Rafael Franzke <rafael.franzke@sap.com>

* Don't set `RecoverPanic` for os extensions in AddToManager

This is not required since we call `mgrOpts.Options()` here : https://github.com/gardener/gardener/blob/c9cb564d1adad0a1ecf9d44f23fb249bcf946a79/extensions/pkg/controller/operatingsystemconfig/oscommon/app/app.go#L88

* Truncate time in test to microsecond precision

Ref: kubernetes/kubernetes#111936

* Rebase

---------

Co-authored-by: Rafael Franzke <rafael.franzke@sap.com>
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. area/open-source Open Source (community, enablement, contributions, conferences, CNCF, etc.) related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade k8s.io/* to v0.26, sigs.k8s.io/controller-runtime to v0.14
4 participants