Merge pull request #13928 from flouthoc/healthcheck-defaults

healthcheck: set default healthcheck `Interval` if not specified in image
This commit is contained in:
OpenShift Merge Robot
2022-04-20 08:35:57 -04:00
committed by GitHub
2 changed files with 16 additions and 5 deletions

View File

@ -67,13 +67,22 @@ func CompleteSpec(ctx context.Context, r *libpod.Runtime, s *specgen.SpecGenerat
// NOTE: the health check is only set for Docker images
// but inspect will take care of it.
s.HealthConfig = inspectData.HealthCheck
if s.HealthConfig != nil && s.HealthConfig.Timeout == 0 {
if s.HealthConfig != nil {
if s.HealthConfig.Timeout == 0 {
hct, err := time.ParseDuration(define.DefaultHealthCheckTimeout)
if err != nil {
return nil, err
}
s.HealthConfig.Timeout = hct
}
if s.HealthConfig.Interval == 0 {
hct, err := time.ParseDuration(define.DefaultHealthCheckInterval)
if err != nil {
return nil, err
}
s.HealthConfig.Interval = hct
}
}
}
// Image stop signal

View File

@ -325,6 +325,8 @@ HEALTHCHECK CMD ls -l / 2>&1`, ALPINE)
inspect := podmanTest.InspectContainer("hctest")
// Check to make sure a default time value was added
Expect(inspect[0].Config.Healthcheck.Timeout).To(BeNumerically("==", 30000000000))
// Check to make sure a default time interval value was added
Expect(inspect[0].Config.Healthcheck.Interval).To(BeNumerically("==", 30000000000))
// Check to make sure characters were not coerced to utf8
Expect(inspect[0].Config.Healthcheck.Test).To(Equal([]string{"CMD-SHELL", "ls -l / 2>&1"}))
})