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

Clean a healthcheck todo and register healthcheck for the shoot managedresource #16

Merged
merged 2 commits into from
Jun 2, 2023

Conversation

vpnachev
Copy link
Member

@vpnachev vpnachev commented Jun 2, 2023

What this PR does / why we need it:
Clean a healthcheck todo and register healthcheck for the shoot managedresource
Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Release note:

This extension is now also doing health check on the managed resource installing the resources in the shoot cluster.  

@gardener-robot gardener-robot added the needs/review Needs review label Jun 2, 2023
@vpnachev vpnachev force-pushed the clean-healthcheck-todo branch from 58a1bdd to a48adc1 Compare June 2, 2023 11:14
@gardener-robot gardener-robot added the size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py) label Jun 2, 2023
@gardener-robot-ci-2 gardener-robot-ci-2 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 2, 2023
@gardener-robot-ci-1 gardener-robot-ci-1 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 2, 2023
@vpnachev vpnachev force-pushed the clean-healthcheck-todo branch from a48adc1 to 872d1e4 Compare June 2, 2023 12:05
@vpnachev vpnachev changed the title Clean a healthcheck todo and register healthcheck for the shoot managedresource Clean a healthcheck todo Jun 2, 2023
@gardener-robot-ci-3 gardener-robot-ci-3 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 2, 2023
@gardener-robot-ci-2 gardener-robot-ci-2 removed the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 2, 2023
@vpnachev vpnachev changed the title Clean a healthcheck todo Clean a healthcheck todo and register healthcheck for the shoot managedresource Jun 2, 2023
@gardener-robot-ci-2 gardener-robot-ci-2 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 2, 2023
@vpnachev
Copy link
Member Author

vpnachev commented Jun 2, 2023

/ready

@gardener-robot gardener-robot marked this pull request as ready for review June 2, 2023 12:29
@gardener-robot gardener-robot requested a review from a team as a code owner June 2, 2023 12:29
Copy link
Member

@dimityrmirchev dimityrmirchev 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-robot gardener-robot added reviewed/lgtm Has approval for merging and removed needs/review Needs review labels Jun 2, 2023
@vpnachev vpnachev merged commit bbe8f63 into gardener:main Jun 2, 2023
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Jun 2, 2023
@vpnachev vpnachev deleted the clean-healthcheck-todo branch June 2, 2023 12:37
@@ -44,9 +44,12 @@ func RegisterHealthChecks(mgr manager.Manager, opts healthcheck.DefaultAddArgs)
ConditionType: string(gardencorev1beta1.ShootControlPlaneHealthy),
HealthCheck: general.CheckManagedResource(constants.ManagedResourceNamesSeed),
},
{
ConditionType: string(gardencorev1beta1.ShootSystemComponentsHealthy),
HealthCheck: general.CheckManagedResource(constants.ManagedResourceNamesShoot),
Copy link
Contributor

Choose a reason for hiding this comment

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

Why was this added back? The shoot care controller already health-checks all the ManagedResources in the shoot control-plane which does not specify spec.class, so these MRs are already covered.
For more details, see gardener/gardener#7462.

The cleanup code was to remove this condition from the extensions, since the extensions do not need to maintain this condition anymore.
We just had to remove the cleanup code in this release, not add the health check back.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good question. I am not aware of all changes in g/g and cannot keep myself informed for any single change there.

From my point of view, when I am registering a healthcheck for the one managed resource, I asked myself why I am not doing the same for the other managed resource too. Looking into the documentation of https://pkg.go.dev/github.com/gardener/[email protected]/extensions/pkg/controller/healthcheck#DefaultRegistration and https://pkg.go.dev/github.com/gardener/[email protected]/extensions/pkg/controller/healthcheck#ConditionTypeToHealthCheck

I do not see any recommendation that I must not register healthchecks for class=shoot. Also, when I tested the change - I have not seen any error or warning in the controller logs that I am registering a healthcheck that I should not. That is something that you should think about how to improve because now you noticed the change, but I am sure in 2 years nobody would have noticed it.

Copy link
Contributor

Choose a reason for hiding this comment

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

From the release notes of gardener v1.65,

Now by default, Gardener performs health check for all the `ManagedResource`s with `.spec.class=nil` created in the shoot namespaces. Extensions using Gardener `v1.65.0` onwards can drop the health check for the MangedResource.

It's also mentioned in https://github.com/gardener/gardener/blob/32baa826773add7c273ac185b5e15e3ef5d536c4/docs/extensions/healthcheck-library.md?plain=1#L99.

Adding the healthcheck to the extension won't break anything, but just that it is not necessary.

Copy link
Member Author

Choose a reason for hiding this comment

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

After you noticed this yesterday I also found https://github.com/gardener/gardener/blob/32baa826773add7c273ac185b5e15e3ef5d536c4/docs/extensions/healthcheck-library.md?plain=1#L99 and to be honest even if I was aware about it, I would have registered again the health check as it does not provide any guidance, just claims that Gardener does the health check but there is no statement that the extension controller should/must not do the same health check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) reviewed/lgtm Has approval for merging reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants