diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-03-24 04:16:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-24 04:16:43 -0700 |
commit | d0c6a35c05a72e4b156819406b83aa9f34f840e0 (patch) | |
tree | 63cf1b7421d7aaf0eec3a8cd60b04ea6dd642e7e /libpod/container_internal.go | |
parent | 0458daf13d50e45bf9ca0ac03449c6ea60b2ef64 (diff) | |
parent | bb69004b8c799763b5e47f2e6b0f5bd77f6ca726 (diff) | |
download | podman-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.go | 22 |
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 |