summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2021-12-15 13:32:57 -0600
committerBrent Baude <bbaude@redhat.com>2022-01-06 13:56:54 -0600
commit2a524fcaec4e6f66461d7cdda1bb73ed7c50f026 (patch)
treea9aa7d871da64cb5c70b5d139bdde3cc4481184f /pkg
parent2fd6c2ee89e92ced8568d7ed3ea3f04017b154ed (diff)
downloadpodman-2a524fcaec4e6f66461d7cdda1bb73ed7c50f026.tar.gz
podman-2a524fcaec4e6f66461d7cdda1bb73ed7c50f026.tar.bz2
podman-2a524fcaec4e6f66461d7cdda1bb73ed7c50f026.zip
fix healthcheck timeouts and ut8 coercion
this commit fixes two bugs and adds regression tests. when getting healthcheck values from an image, if the image does not have a timeout defined, this resulted in a 0 value for timeout. The default as described in the man pages is 30s. when inspecting a container with a healthcheck command, a customer observed that the &, <, and > characters were being converted into a unicode escape value. It turns out json marshalling will by default coerce string values to ut8. Fixes: bz2028408 Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg')
-rw-r--r--pkg/specgen/generate/container.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/specgen/generate/container.go b/pkg/specgen/generate/container.go
index 57676db10..5ec7c7b03 100644
--- a/pkg/specgen/generate/container.go
+++ b/pkg/specgen/generate/container.go
@@ -4,6 +4,7 @@ import (
"context"
"os"
"strings"
+ "time"
"github.com/containers/common/libimage"
"github.com/containers/podman/v3/libpod"
@@ -64,6 +65,13 @@ 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 {
+ hct, err := time.ParseDuration(define.DefaultHealthCheckTimeout)
+ if err != nil {
+ return nil, err
+ }
+ s.HealthConfig.Timeout = hct
+ }
}
// Image stop signal