diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2021-09-10 11:19:59 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2021-09-10 11:20:01 -0400 |
commit | 4fbc5b8fe75b3d486a97c013af7a6b085292b46a (patch) | |
tree | a31f855d21de2c3837821a1fa4c7fb386672c177 | |
parent | e6046224ea88cad9286303456562b4a24ad9cf9b (diff) | |
download | podman-4fbc5b8fe75b3d486a97c013af7a6b085292b46a.tar.gz podman-4fbc5b8fe75b3d486a97c013af7a6b085292b46a.tar.bz2 podman-4fbc5b8fe75b3d486a97c013af7a6b085292b46a.zip |
Stop outputting 'healthy' on healthcheck
We should only print unhealthy if the check fails. Currently this is
filling logs when users are running lots of healthchecks.
Improves: https://github.com/containers/podman/issues/11157
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r-- | cmd/podman/healthcheck/run.go | 5 | ||||
-rw-r--r-- | pkg/bindings/test/containers_test.go | 6 | ||||
-rw-r--r-- | test/e2e/healthcheck_run_test.go | 9 | ||||
-rw-r--r-- | test/e2e/play_kube_test.go | 3 | ||||
-rw-r--r-- | test/system/220-healthcheck.bats | 2 |
5 files changed, 14 insertions, 11 deletions
diff --git a/cmd/podman/healthcheck/run.go b/cmd/podman/healthcheck/run.go index fe8dc2573..b03a07bc4 100644 --- a/cmd/podman/healthcheck/run.go +++ b/cmd/podman/healthcheck/run.go @@ -6,6 +6,7 @@ import ( "github.com/containers/podman/v3/cmd/podman/common" "github.com/containers/podman/v3/cmd/podman/registry" + "github.com/containers/podman/v3/libpod/define" "github.com/containers/podman/v3/pkg/domain/entities" "github.com/spf13/cobra" ) @@ -34,9 +35,9 @@ func run(cmd *cobra.Command, args []string) error { if err != nil { return err } - if response.Status == "unhealthy" { + if response.Status == define.HealthCheckUnhealthy { registry.SetExitCode(1) + fmt.Println(response.Status) } - fmt.Println(response.Status) return err } diff --git a/pkg/bindings/test/containers_test.go b/pkg/bindings/test/containers_test.go index 4d1361746..b9ed67255 100644 --- a/pkg/bindings/test/containers_test.go +++ b/pkg/bindings/test/containers_test.go @@ -326,11 +326,11 @@ var _ = Describe("Podman containers ", func() { // TODO for the life of me, i cannot get this to work. maybe another set // of eyes will // successful healthcheck - //status := "healthy" + //status := define.HealthCheckHealthy //for i:=0; i < 10; i++ { // result, err := containers.RunHealthCheck(connText, "hc") // Expect(err).To(BeNil()) - // if result.Status != "healthy" { + // if result.Status != define.HealthCheckHealthy { // fmt.Println("Healthcheck container still starting, retrying in 1 second") // time.Sleep(1 * time.Second) // continue @@ -338,7 +338,7 @@ var _ = Describe("Podman containers ", func() { // status = result.Status // break //} - //Expect(status).To(Equal("healthy")) + //Expect(status).To(Equal(define.HealthCheckHealthy)) // TODO enable this when wait is working // healthcheck on a stopped container should be a 409 diff --git a/test/e2e/healthcheck_run_test.go b/test/e2e/healthcheck_run_test.go index 899c84a14..87f042ed9 100644 --- a/test/e2e/healthcheck_run_test.go +++ b/test/e2e/healthcheck_run_test.go @@ -5,6 +5,7 @@ import ( "os" "time" + define "github.com/containers/podman/v3/libpod/define" . "github.com/containers/podman/v3/test/utils" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -157,7 +158,7 @@ var _ = Describe("Podman healthcheck run", func() { Expect(hc).Should(Exit(1)) inspect = podmanTest.InspectContainer("hc") - Expect(inspect[0].State.Healthcheck.Status).To(Equal("unhealthy")) + Expect(inspect[0].State.Healthcheck.Status).To(Equal(define.HealthCheckUnhealthy)) }) @@ -171,7 +172,7 @@ var _ = Describe("Podman healthcheck run", func() { Expect(hc).Should(Exit(0)) inspect := podmanTest.InspectContainer("hc") - Expect(inspect[0].State.Healthcheck.Status).To(Equal("healthy")) + Expect(inspect[0].State.Healthcheck.Status).To(Equal(define.HealthCheckHealthy)) }) It("podman healthcheck unhealthy but valid arguments check", func() { @@ -201,7 +202,7 @@ var _ = Describe("Podman healthcheck run", func() { Expect(hc).Should(Exit(1)) inspect = podmanTest.InspectContainer("hc") - Expect(inspect[0].State.Healthcheck.Status).To(Equal("unhealthy")) + Expect(inspect[0].State.Healthcheck.Status).To(Equal(define.HealthCheckUnhealthy)) foo := podmanTest.Podman([]string{"exec", "hc", "touch", "/foo"}) foo.WaitWithDefaultTimeout() @@ -212,6 +213,6 @@ var _ = Describe("Podman healthcheck run", func() { Expect(hc).Should(Exit(0)) inspect = podmanTest.InspectContainer("hc") - Expect(inspect[0].State.Healthcheck.Status).To(Equal("healthy")) + Expect(inspect[0].State.Healthcheck.Status).To(Equal(define.HealthCheckHealthy)) }) }) diff --git a/test/e2e/play_kube_test.go b/test/e2e/play_kube_test.go index fa30f068c..07f2e65f4 100644 --- a/test/e2e/play_kube_test.go +++ b/test/e2e/play_kube_test.go @@ -12,6 +12,7 @@ import ( "time" "github.com/containers/common/pkg/config" + "github.com/containers/podman/v3/libpod/define" "github.com/containers/podman/v3/pkg/util" . "github.com/containers/podman/v3/test/utils" "github.com/containers/storage/pkg/stringid" @@ -1209,7 +1210,7 @@ var _ = Describe("Podman play kube", func() { hc := podmanTest.Podman([]string{"healthcheck", "run", "liveness-unhealthy-probe-pod-0-alpine"}) hc.WaitWithDefaultTimeout() hcoutput := hc.OutputToString() - Expect(hcoutput).To(ContainSubstring("unhealthy")) + Expect(hcoutput).To(ContainSubstring(define.HealthCheckUnhealthy)) }) It("podman play kube fail with nonexistent authfile", func() { diff --git a/test/system/220-healthcheck.bats b/test/system/220-healthcheck.bats index f929c6770..e416629e6 100644 --- a/test/system/220-healthcheck.bats +++ b/test/system/220-healthcheck.bats @@ -74,7 +74,7 @@ EOF # # So, just force a healthcheck run, then confirm that it's running. run_podman healthcheck run healthcheck_c - is "$output" "healthy" "output from 'podman healthcheck run'" + is "$output" "" "output from 'podman healthcheck run'" _check_health "All healthy" " Status | healthy |