Blame SOURCES/bz1744224-IPsrcaddr-3-fix-probe-issues.patch

b4b3ce
From 7afc581f6cd8fc37c3e14ece12fb16d31f1886f9 Mon Sep 17 00:00:00 2001
b4b3ce
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
b4b3ce
Date: Fri, 10 Jan 2020 14:35:56 +0100
b4b3ce
Subject: [PATCH] IPsrcaddr: fixes to avoid failing during probe
b4b3ce
b4b3ce
---
b4b3ce
 heartbeat/IPsrcaddr | 11 ++++++++++-
b4b3ce
 1 file changed, 10 insertions(+), 1 deletion(-)
b4b3ce
b4b3ce
diff --git a/heartbeat/IPsrcaddr b/heartbeat/IPsrcaddr
b4b3ce
index f9085f082..0ef8b391f 100755
b4b3ce
--- a/heartbeat/IPsrcaddr
b4b3ce
+++ b/heartbeat/IPsrcaddr
b4b3ce
@@ -75,6 +75,10 @@ USAGE="usage: $0 {start|stop|status|monitor|validate-all|meta-data}";
b4b3ce
   CMDSHOW="$IP2UTIL route show   $TABLE to exact $OCF_RESKEY_destination"
b4b3ce
 CMDCHANGE="$IP2UTIL route change to "
b4b3ce
 
b4b3ce
+if [ "$OCF_RESKEY_destination" != "0.0.0.0/0" ]; then
b4b3ce
+	CMDSHOW="$CMDSHOW src $OCF_RESKEY_ipaddress"
b4b3ce
+fi
b4b3ce
+
b4b3ce
 if [ "$OCF_RESKEY_table" = "local" ]; then
b4b3ce
 	TABLE="$TABLE local"
b4b3ce
 fi
b4b3ce
@@ -183,7 +187,7 @@ export OCF_RESKEY_ip=$OCF_RESKEY_ipaddress
b4b3ce
 
b4b3ce
 srca_read() {
b4b3ce
 	# Capture matching route - doublequotes prevent word splitting...
b4b3ce
-	ROUTE="`$CMDSHOW`" || errorexit "command '$CMDSHOW' failed"
b4b3ce
+	ROUTE="`$CMDSHOW 2> /dev/null`" || errorexit "command '$CMDSHOW' failed"
b4b3ce
 
b4b3ce
 	# ... so we can make sure there is only 1 matching route
b4b3ce
 	[ 1 -eq `echo "$ROUTE" | wc -l` ] || \
b4b3ce
@@ -199,6 +203,11 @@ srca_read() {
b4b3ce
 	# and what remains after stripping out the source ip address clause
b4b3ce
 	ROUTE_WO_SRC=`echo $ROUTE | sed "s/$MATCHROUTE/\1\5/"`
b4b3ce
 
b4b3ce
+	# using "src <ip>" only returns output if there's a match
b4b3ce
+	if [ "$OCF_RESKEY_destination" != "0.0.0.0/0" ]; then
b4b3ce
+		[ -z "$ROUTE" ] && return 1 || return 0
b4b3ce
+	fi
b4b3ce
+
b4b3ce
 	[ -z "$SRCIP" ] && return 1
b4b3ce
 	[ $SRCIP = $1 ] && return 0
b4b3ce
 	return 2