summaryrefslogtreecommitdiff
path: root/libpod/container_internal.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-03-24 04:16:43 -0700
committerGitHub <noreply@github.com>2019-03-24 04:16:43 -0700
commitd0c6a35c05a72e4b156819406b83aa9f34f840e0 (patch)
tree63cf1b7421d7aaf0eec3a8cd60b04ea6dd642e7e /libpod/container_internal.go
parent0458daf13d50e45bf9ca0ac03449c6ea60b2ef64 (diff)
parentbb69004b8c799763b5e47f2e6b0f5bd77f6ca726 (diff)
downloadpodman-d0c6a35c05a72e4b156819406b83aa9f34f840e0.tar.gz
podman-d0c6a35c05a72e4b156819406b83aa9f34f840e0.tar.bz2
podman-d0c6a35c05a72e4b156819406b83aa9f34f840e0.zip
Merge pull request #2697 from baude/healtcheckphase3
podman health check phase3
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r--libpod/container_internal.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go
index 13e660dc3..7a90bc7d4 100644
--- a/libpod/container_internal.go
+++ b/libpod/container_internal.go
@@ -833,6 +833,12 @@ func (c *Container) init(ctx context.Context) error {
if err := c.save(); err != nil {
return err
}
+ if c.config.HealthCheckConfig != nil {
+ if err := c.createTimer(); err != nil {
+ logrus.Error(err)
+ }
+ }
+
defer c.newContainerEvent(events.Init)
return c.completeNetworkSetup()
}
@@ -956,6 +962,15 @@ func (c *Container) start() error {
c.state.State = ContainerStateRunning
+ if c.config.HealthCheckConfig != nil {
+ if err := c.updateHealthStatus(HealthCheckStarting); err != nil {
+ logrus.Error(err)
+ }
+ if err := c.startTimer(); err != nil {
+ logrus.Error(err)
+ }
+ }
+
defer c.newContainerEvent(events.Start)
return c.save()
@@ -1123,6 +1138,13 @@ func (c *Container) cleanup(ctx context.Context) error {
logrus.Debugf("Cleaning up container %s", c.ID())
+ // Remove healthcheck unit/timer file if it execs
+ if c.config.HealthCheckConfig != nil {
+ if err := c.removeTimer(); err != nil {
+ logrus.Error(err)
+ }
+ }
+
// Clean up network namespace, if present
if err := c.cleanupNetwork(); err != nil {
lastError = err