Blame SOURCES/bz1718219-podman-1-avoid-double-inspect-call.patch

734564
From d8400a30604229d349f36855c30a6a438204023b Mon Sep 17 00:00:00 2001
734564
From: Michele Baldessari <michele@acksyn.org>
734564
Date: Wed, 12 Jun 2019 11:29:17 +0200
734564
Subject: [PATCH] Avoid double call to podman inspect in podman_simple_status()
734564
734564
Right now podman_simple_status() does the following:
734564
- It calls container_exists() which then calls "podman inspect --format {{.State.Running}} $CONTAINER | egrep '(true|false)' >/dev/null 2>&1"
734564
- Then it calls "podman inspect --format {{.State.Running}} $CONTAINER 2>/dev/null"
734564
734564
This duplication is unnecessary and we can rely on the second podman inspect
734564
call.  We need to do this because podman inspect calls are very expensive as
734564
soon as moderate I/O kicks in.
734564
734564
Tested as follows:
734564
1) Injected the change on an existing bundle-based cluster
734564
2) Observed that monitoring operations kept working okay
734564
3) Verified by adding set -x that only a single podman inspect per monitor
734564
   operation was called (as opposed to two before)
734564
4) Restarted a bundle with an OCF resource inside correctly
734564
5) Did a podman stop of a bundle and correctly observed that:
734564
5.a) It was detected as non running:
734564
* haproxy-bundle-podman-1_monitor_60000 on controller-0 'not running' (7): call=192, status=complete, exitreason='',
734564
    last-rc-change='Wed Jun 12 09:22:18 2019', queued=0ms, exec=0ms
734564
5.b) It was correctly started afterwards
734564
734564
Signed-off-by: Michele Baldessari <michele@acksyn.org>
734564
---
734564
 heartbeat/podman | 5 -----
734564
 1 file changed, 5 deletions(-)
734564
734564
diff --git a/heartbeat/podman b/heartbeat/podman
734564
index 34e11da6b..b2b3081f9 100755
734564
--- a/heartbeat/podman
734564
+++ b/heartbeat/podman
734564
@@ -238,11 +238,6 @@ podman_simple_status()
734564
 {
734564
 	local val
734564
 
734564
-	container_exists
734564
-	if [ $? -ne 0 ]; then
734564
-		return $OCF_NOT_RUNNING
734564
-	fi
734564
-
734564
 	# retrieve the 'Running' attribute for the container
734564
 	val=$(podman inspect --format {{.State.Running}} $CONTAINER 2>/dev/null)
734564
 	if [ $? -ne 0 ]; then