Skip to content
This repository has been archived by the owner on Apr 7, 2020. It is now read-only.

initial health check library implementation #472

Merged
merged 5 commits into from
Jan 10, 2020

Conversation

danielfoehrKn
Copy link
Contributor

@danielfoehrKn danielfoehrKn commented Nov 29, 2019

Includes the health check library implementation & the integration into all providers.
Integration tests are tracked in #466
What this PR does / why we need it:

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

Special notes for your reviewer:

Release note:

extension providers write health check conditions into extension resources. Extensions can contribute to the Health of the Shoot. The gardener watches conditions with type SystemComponentsHealthy, EveryNodeReady, ControlPlaneHealthy on the extension resource.

@danielfoehrKn danielfoehrKn requested a review from a team as a code owner November 29, 2019 16:37
@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) 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 Nov 29, 2019
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from 1c9b2b7 to bb20ec7 Compare November 30, 2019 19:55
@gardener-robot-ci-1 gardener-robot-ci-1 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 Nov 30, 2019
@gardener-robot-ci-2 gardener-robot-ci-2 added reviewed/ok-to-test Has 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 Nov 30, 2019
@gardener-robot-ci-3 gardener-robot-ci-3 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 Dec 3, 2019
@rfranzke
Copy link
Contributor

rfranzke commented Dec 5, 2019

Unfortunately, my review can't be submitted (too large, GitHub timeout; opened an issue and they know about it but can't fix it now). Sent you the review via email.

@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from 591f547 to 3fb8e91 Compare December 16, 2019 16:14
@gardener-robot-ci-1 gardener-robot-ci-1 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 Dec 16, 2019
@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 Dec 16, 2019
@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 Dec 16, 2019
@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 Dec 16, 2019
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from 183f05a to bc85b90 Compare December 16, 2019 16:45
@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has 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 Dec 16, 2019
@rfranzke rfranzke 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 Dec 17, 2019
@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 Dec 17, 2019
Copy link
Contributor

@ialidzhikov ialidzhikov left a comment

Choose a reason for hiding this comment

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

Minor nit to make the ci/cd happy.

@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from bc85b90 to f8d39c8 Compare December 17, 2019 08:43
@gardener-robot-ci-1 gardener-robot-ci-1 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 Dec 17, 2019
@gardener-robot-ci-3 gardener-robot-ci-3 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 Dec 17, 2019
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from f8d39c8 to f96b9a4 Compare December 19, 2019 15:43
@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 Dec 19, 2019
@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 Dec 19, 2019
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from f96b9a4 to ed25cac Compare December 19, 2019 16:48
@gardener-robot-ci-1 gardener-robot-ci-1 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 Dec 30, 2019
@danielfoehrKn
Copy link
Contributor Author

I would like to get this in soon as I am constantly having to rebase.
Can someone take a look/review?

@rfranzke
Copy link
Contributor

I was waiting for your feedback on your tests. My last level of information was that you want to test all the controllers e2e with Gardener (actually, with a modified Gardener that does no longer check the health of certain components on its own (like mcm or ccm, etc.)).

controllers/extension-shoot-dns-service/pkg/cmd/options.go Outdated Show resolved Hide resolved
controllers/provider-alicloud/hack/generate-code Outdated Show resolved Hide resolved
controllers/provider-alicloud/pkg/alicloud/types.go Outdated Show resolved Hide resolved
controllers/provider-alicloud/pkg/alicloud/types.go Outdated Show resolved Hide resolved
controllers/provider-aws/pkg/controller/worker/actuator.go Outdated Show resolved Hide resolved
docs/healthcheck-library.md Outdated Show resolved Hide resolved
docs/healthcheck-library.md Outdated Show resolved Hide resolved
pkg/controller/healthcheck/general/statefulsets.go Outdated Show resolved Hide resolved
go.mod Show resolved Hide resolved
pkg/controller/healthcheck/general/daemonset.go Outdated Show resolved Hide resolved
pkg/controller/healthcheck/general/daemonset.go Outdated Show resolved Hide resolved
pkg/controller/healthcheck/general/daemonset.go Outdated Show resolved Hide resolved
pkg/controller/healthcheck/general/daemonset.go Outdated Show resolved Hide resolved
deployment := &v1.Deployment{}

var err error
if healthChecker.checkType == DeploymentCheckTypeSeed {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can't we just accept the client as func arg?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this would mean that the user has to pass in the client. As we only have two options, I do not really see a reason to do that, but would rather hide that 'complexity'

pkg/controller/healthcheck/general/deployment.go Outdated Show resolved Hide resolved
pkg/controller/healthcheck/worker/sufficient_nodes.go Outdated Show resolved Hide resolved
pkg/controller/healthcheck/worker/sufficient_nodes.go Outdated Show resolved Hide resolved
@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 Jan 8, 2020
@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 Jan 8, 2020
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from c0f5e9c to 4b1a78d Compare January 8, 2020 17:03
@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has 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 Jan 8, 2020
@danielfoehrKn
Copy link
Contributor Author

Checked working on all major providers.
Also checked working together with Gardener PR

@ialidzhikov
Copy link
Contributor

Could you please check the ci/cd?

@rfranzke
Copy link
Contributor

Thanks for your thorough testing. After CI passes I'm okay with merging the PR 👍

@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from 4b1a78d to bceb2f2 Compare January 10, 2020 09:37
@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 Jan 10, 2020
@gardener-robot-ci-3 gardener-robot-ci-3 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 Jan 10, 2020
@danielfoehrKn danielfoehrKn force-pushed the extension-health-checks branch from bceb2f2 to ea54c2d Compare January 10, 2020 11:14
@gardener-robot-ci-3 gardener-robot-ci-3 added reviewed/ok-to-test Has 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 Jan 10, 2020
@rfranzke
Copy link
Contributor

rfranzke commented Jan 10, 2020

/lgtm (can't approve because I have a pending review with 91 comments from my first review that GitHub can't handle (times out))

@rfranzke rfranzke merged commit 1979fd9 into gardener-attic:master Jan 10, 2020
@danielfoehrKn danielfoehrKn deleted the extension-health-checks branch January 10, 2020 14:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Health check controllers
6 participants