-
Notifications
You must be signed in to change notification settings - Fork 464
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
[gardenlet] Switch Seed
controller to controller-runtime
#6836
Conversation
b55fba1
to
74ac074
Compare
74ac074
to
174c53d
Compare
/test all |
/test all |
f36bb50
to
0dce848
Compare
/test all |
/test pull-gardener-e2e-kind-migration |
0dce848
to
ef4dd06
Compare
/retest |
/test pull-gardener-e2e-kind |
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.
Thanks for structuring the commits really well and making it easier to review.
I left some suggestions and questions.
Haven't tested it locally yet.
ef4dd06
to
112332e
Compare
The gardenlet is only responsible for exactly one Seed, hence it doesn't make sense to configure more than one concurrent sync.
Otherwise, the gardenlet will generate two identities in case it is not running as a pod since it generates random strings as part of `determineIdentity`. Once legacy shoot controller is refactored we can safely move it to the `pkg/gardenlet/controllers` package again.
In some cases (for CPM, for example), the gardenlet has to read other `Seed` resources. Without this commit, they aren't available in the cache and the gardenlet does not fallback to making real API requests, hence it fails.
112332e
to
0a8d133
Compare
Thanks for addressing the review comments. No more comments from my side. |
Is there somebody else who plans to review this PR? |
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.
Thank you for the well structured PR!
Just have some minor nits and changes.
Apart from that lgtm.
/test pull-gardener-e2e-kind |
/test pull-gardener-e2e-kind-ha-multi-zone |
Thank you addressing the suggestions. |
/test pull-gardener-e2e-kind-ha-multi-zone |
1 similar comment
/test pull-gardener-e2e-kind-ha-multi-zone |
Test are failing because of #6857, let's wait until this is merged. |
/test pull-gardener-e2e-kind-ha-multi-zone |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rfranzke 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 |
@rfranzke: The following test failed, say
Full PR test history. Your PR dashboard. Command help for this repository. 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. |
/test pull-gardener-integration |
How to categorize this PR?
/area dev-productivity scalability
/kind enhancement
What this PR does / why we need it:
Refactor the
Seed
controller tocontroller-runtime
. It consists of three reconcilers, so there are some empty separator commits to allow easy navigation through the PR.I also used the opportunity to move the reconciliation code out of
pkg/operation/seed/seed.go
and into the reconciler package (where it actually belongs).Also, the seed care reconciler now watches
ManagedResource
s and maps them to theSeed
which makes the health checks lightning-fast.Which issue(s) this PR fixes:
Part of #4251
Special notes for your reviewer:
Generally, we want to follow this cookbook while refactoring existing controllers:
envtest
(if not already present)controller-runtime
Release note: