From 0184714a82696feec33b383bfd98875712173e6e Mon Sep 17 00:00:00 2001
From: Brent Baude <bbaude@redhat.com>
Date: Sat, 22 Feb 2020 10:19:11 -0600
Subject: Add --no-healthcheck command to create/run

Now support --no-healthcheck option to disable defined healthchecks in a container image.  --health-cmd=none remains supported as well.

Fixes: #5299

Signed-off-by: Brent Baude <bbaude@redhat.com>
---
 cmd/podman/common.go              | 4 ++++
 cmd/podman/shared/create.go       | 5 +++--
 cmd/podman/shared/intermediate.go | 1 +
 3 files changed, 8 insertions(+), 2 deletions(-)

(limited to 'cmd')

diff --git a/cmd/podman/common.go b/cmd/podman/common.go
index 6fa2b3c71..4eeb09d42 100644
--- a/cmd/podman/common.go
+++ b/cmd/podman/common.go
@@ -395,6 +395,10 @@ func getCreateFlags(c *cliconfig.PodmanCommand) {
 		"name", "",
 		"Assign a name to the container",
 	)
+	createFlags.Bool(
+		"no-healthcheck", false,
+		"Disable healthchecks on container",
+	)
 	createFlags.Bool(
 		"oom-kill-disable", false,
 		"Disable OOM Killer",
diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go
index 5b244699c..0814eeba3 100644
--- a/cmd/podman/shared/create.go
+++ b/cmd/podman/shared/create.go
@@ -120,12 +120,13 @@ func CreateContainer(ctx context.Context, c *GenericCLIResults, runtime *libpod.
 			imageName = newImage.ID()
 		}
 
-		// if the user disabled the healthcheck with "none", we skip adding it
+		// if the user disabled the healthcheck with "none" or the no-healthcheck
+		// options is provided, we skip adding it
 		healthCheckCommandInput := c.String("healthcheck-command")
 
 		// the user didn't disable the healthcheck but did pass in a healthcheck command
 		// now we need to make a healthcheck from the commandline input
-		if healthCheckCommandInput != "none" {
+		if healthCheckCommandInput != "none" && !c.Bool("no-healthcheck") {
 			if len(healthCheckCommandInput) > 0 {
 				healthCheck, err = makeHealthCheckFromCli(c)
 				if err != nil {
diff --git a/cmd/podman/shared/intermediate.go b/cmd/podman/shared/intermediate.go
index ee212234f..e76750042 100644
--- a/cmd/podman/shared/intermediate.go
+++ b/cmd/podman/shared/intermediate.go
@@ -425,6 +425,7 @@ func NewIntermediateLayer(c *cliconfig.PodmanCommand, remote bool) GenericCLIRes
 	m["memory-swappiness"] = newCRInt64(c, "memory-swappiness")
 	m["name"] = newCRString(c, "name")
 	m["network"] = newCRString(c, "network")
+	m["no-healthcheck"] = newCRBool(c, "no-healthcheck")
 	m["no-hosts"] = newCRBool(c, "no-hosts")
 	m["oom-kill-disable"] = newCRBool(c, "oom-kill-disable")
 	m["oom-score-adj"] = newCRInt(c, "oom-score-adj")
-- 
cgit v1.2.3-54-g00ecf