docker/patch/0117-healthcheck-synchronize-the-healthcheck-statu.patch

35 lines
1.1 KiB
Diff
Raw Normal View History

2019-09-30 10:37:25 -04:00
From c91cf6bd930293e4eadcd2a20c704b589ab0b371 Mon Sep 17 00:00:00 2001
From: zhangyu235 <zhangyu235@huawei.com>
Date: Thu, 18 Apr 2019 16:04:18 +0800
Subject: [PATCH] healthcheck: synchronize the healthcheck status of
containers when restart daemon
Change-Id: I6bcced3c69deb9e1a88fff229f344e4ab28f80b2
---
components/engine/daemon/daemon.go | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/components/engine/daemon/daemon.go b/components/engine/daemon/daemon.go
index 84a28df..041e714 100644
--- a/components/engine/daemon/daemon.go
+++ b/components/engine/daemon/daemon.go
@@ -427,6 +427,15 @@ func (daemon *Daemon) restore() error {
c.Unlock()
}
+ if getProbe(c) != nil {
+ c.Lock()
+ if err := c.CheckpointTo(daemon.containersReplica); err != nil {
+ logrus.WithError(err).WithField("container", c.ID).
+ Error("Failed to checkpoint container state")
+ }
+ c.Unlock()
+ }
+
// we call Mount and then Unmount to get BaseFs of the container
if err := daemon.Mount(c); err != nil {
// The mount is unlikely to fail. However, in case mount fails
--
2.7.4.3