Blame SOURCES/bz1908146-bz1908147-bz1949114-openstack-agents-fixes.patch

4ff291
From 64f434014bc198055478a139532c7cc133967c5d Mon Sep 17 00:00:00 2001
4ff291
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
4ff291
Date: Fri, 8 Jul 2022 15:41:34 +0200
4ff291
Subject: [PATCH] openstack-agents: fixes
4ff291
4ff291
- openstack-cinder-volume: dont do volume_local_check during start/stop-action
4ff291
- openstack-floating-ip/openstack-virtual-ip: dont fail in validate()
4ff291
  during probe-calls
4ff291
- openstack-floating-ip: fix awk only catching last id for node_port_ids
4ff291
---
4ff291
 heartbeat/openstack-cinder-volume | 2 +-
4ff291
 heartbeat/openstack-floating-ip   | 4 ++--
4ff291
 heartbeat/openstack-virtual-ip    | 4 ++--
4ff291
 3 files changed, 5 insertions(+), 5 deletions(-)
4ff291
4ff291
diff --git a/heartbeat/openstack-cinder-volume b/heartbeat/openstack-cinder-volume
4ff291
index cc12e58ae..19bf04faf 100755
4ff291
--- a/heartbeat/openstack-cinder-volume
4ff291
+++ b/heartbeat/openstack-cinder-volume
4ff291
@@ -138,7 +138,7 @@ osvol_monitor() {
4ff291
 
4ff291
 	node_id=$(_get_node_id)
4ff291
 
4ff291
-	if ocf_is_true $OCF_RESKEY_volume_local_check ; then
4ff291
+	if [ "$__OCF_ACTION" = "monitor" ] && ocf_is_true $OCF_RESKEY_volume_local_check ; then
4ff291
 		#
4ff291
 		# Is the volue attached?
4ff291
 		# We check the local devices
4ff291
diff --git a/heartbeat/openstack-floating-ip b/heartbeat/openstack-floating-ip
4ff291
index 8c135cc24..6e2895654 100755
4ff291
--- a/heartbeat/openstack-floating-ip
4ff291
+++ b/heartbeat/openstack-floating-ip
4ff291
@@ -111,7 +111,7 @@ osflip_validate() {
4ff291
 	fi
4ff291
 
4ff291
 	${HA_SBIN_DIR}/attrd_updater --query -n openstack_ports -N $(crm_node -n) > /dev/null 2>&1
4ff291
-	if [ $? -ne 0 ] ; then
4ff291
+	if [ $? -ne 0 ] && ! ocf_is_probe; then
4ff291
 		ocf_log warn "attr_updater failed to get openstack_ports attribute of node $OCF_RESOURCE_INSTANCE"
4ff291
 		return $OCF_ERR_GENERIC
4ff291
 	fi
4ff291
@@ -129,7 +129,7 @@ osflip_monitor() {
4ff291
 	node_port_ids=$(${HA_SBIN_DIR}/attrd_updater --query -n openstack_ports -N $(crm_node -n) \
4ff291
 		| awk -F= '{gsub("\"","");print $NF}' \
4ff291
 		| tr ',' ' ' \
4ff291
-		| awk -F: '{print $NF}')
4ff291
+		| awk '{gsub("[^ ]*:", "");print}')
4ff291
 
4ff291
 	# Is the IP active and attached?
4ff291
 	result=$($OCF_RESKEY_openstackcli floating ip show \
4ff291
diff --git a/heartbeat/openstack-virtual-ip b/heartbeat/openstack-virtual-ip
4ff291
index a1084c420..c654d980a 100755
4ff291
--- a/heartbeat/openstack-virtual-ip
4ff291
+++ b/heartbeat/openstack-virtual-ip
4ff291
@@ -119,7 +119,7 @@ osvip_validate() {
4ff291
 	get_config
4ff291
 
4ff291
 	${HA_SBIN_DIR}/attrd_updater --query -n openstack_ports -N $(crm_node -n) > /dev/null 2>&1
4ff291
-	if [ $? -ne 0 ] ; then
4ff291
+	if [ $? -ne 0 ] && ! ocf_is_probe; then
4ff291
 		ocf_log warn "attr_updater failed to get openstack_ports attribute of node $OCF_RESOURCE_INSTANCE"
4ff291
 		return $OCF_ERR_GENERIC
4ff291
 	fi
4ff291
@@ -136,7 +136,7 @@ osvip_monitor() {
4ff291
 		--format value \
4ff291
 		--column allowed_address_pairs \
4ff291
 		${node_port_id})
4ff291
-	if echo $result | grep -q $OCF_RESKEY_ip ; then
4ff291
+	if echo $result | grep -q "$OCF_RESKEY_ip"; then
4ff291
 		${HA_SBIN_DIR}/attrd_updater ${OCF_RESKEY_delay} -S status -n openstack_virtual_ip -v $OCF_RESKEY_ip
4ff291
 
4ff291
 		return $OCF_SUCCESS