diff --git a/.gitignore b/.gitignore
index 5175038..a31cf26 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
 SOURCES/ClusterLabs-resource-agents-e711383f.tar.gz
-SOURCES/SAPHanaSR-2067519.tar.gz
 SOURCES/SAPHanaSR-ScaleOut-a77e8c6.tar.gz
+SOURCES/SAPHanaSR-d1dde99.tar.gz
 SOURCES/aliyun-cli-2.1.10.tar.gz
 SOURCES/aliyun-python-sdk-core-2.8.5.tar.gz
 SOURCES/aliyun-python-sdk-ecs-4.9.3.tar.gz
diff --git a/.resource-agents.metadata b/.resource-agents.metadata
index 943736b..ba66161 100644
--- a/.resource-agents.metadata
+++ b/.resource-agents.metadata
@@ -1,6 +1,6 @@
 0358e1cb7fe86b2105bd2646cbe86f3c0273844a SOURCES/ClusterLabs-resource-agents-e711383f.tar.gz
-92409ca65e8f4e63d5c308368861fa67ced470f1 SOURCES/SAPHanaSR-2067519.tar.gz
 e5624e3028720d0d55ab3d598655a1938042e26c SOURCES/SAPHanaSR-ScaleOut-a77e8c6.tar.gz
+442679403d1287835841d70c5bef208a330c2c11 SOURCES/SAPHanaSR-d1dde99.tar.gz
 306e131d8908ca794276bfe3a0b55ccc3bbd482f SOURCES/aliyun-cli-2.1.10.tar.gz
 b68122ef53a0857d020529ff85d14f0e905c327f SOURCES/aliyun-python-sdk-core-2.8.5.tar.gz
 c2a98b9a1562d223a76514f05028488ca000c395 SOURCES/aliyun-python-sdk-ecs-4.9.3.tar.gz
diff --git a/SOURCES/bz1642067-SAPHanaTopology-make-multi-instance-aware.patch b/SOURCES/bz1642067-SAPHanaTopology-make-multi-instance-aware.patch
deleted file mode 100644
index c4fbd7c..0000000
--- a/SOURCES/bz1642067-SAPHanaTopology-make-multi-instance-aware.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d43d8af650ee9ed175ebd4fdfc15ac2767734a8d Mon Sep 17 00:00:00 2001
-From: Fabian Herschel <fabian.herschel@suse.com>
-Date: Wed, 25 Jul 2018 12:30:32 +0200
-Subject: [PATCH] ra/SAPHanaTopology: bsc#1016691 "SAPHanaSR: Status file of
- SAPHanaTopology is not multi instance aware (MCOS)"
-
----
- SAPHana/ra/SAPHanaTopology | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/SAPHanaSR-2067519/SAPHana/ra/SAPHanaTopology b/SAPHanaSR-2067519/SAPHana/ra/SAPHanaTopology
-index 1e2f301..20d2593 100755
---- a/SAPHanaSR-2067519/SAPHana/ra/SAPHanaTopology
-+++ b/SAPHanaSR-2067519/SAPHana/ra/SAPHanaTopology
-@@ -28,7 +28,7 @@
- #######################################################################
- #
- # Initialization:
--SAPHanaVersion="0.152.21"
-+SAPHanaVersion="0.152.22"
- timeB=$(date '+%s')
- 
- : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
-@@ -736,15 +736,17 @@ function sht_start() {
- # sht_stop: Stop the SAP HANA Topology Resource
- #
- function sht_stop() {
--  super_ocf_log info "FLOW $FUNCNAME ($*)"
--  local output=""
--  local rc=0
--
--  rm $HA_RSCTMP/SAPHana/SAPTopologyON.${SID}
--  rc=$OCF_SUCCESS
-+    super_ocf_log info "FLOW $FUNCNAME ($*)"
-+    local output=""
-+    local rc=0
-+    if [ -f $HA_RSCTMP/SAPHana/SAPTopologyON ]; then
-+        rm $HA_RSCTMP/SAPHana/SAPTopologyON
-+    fi
-+    rm $HA_RSCTMP/SAPHana/SAPTopologyON.${SID}
-+    rc=$OCF_SUCCESS
- 
--  super_ocf_log info "FLOW $FUNCNAME rc=$rc"
--  return $rc
-+    super_ocf_log info "FLOW $FUNCNAME rc=$rc"
-+    return $rc
- }
- 
- 
diff --git a/SOURCES/bz1803025-oralsnr-allow-using-same-tns_admin.patch b/SOURCES/bz1803025-oralsnr-allow-using-same-tns_admin.patch
new file mode 100644
index 0000000..5963259
--- /dev/null
+++ b/SOURCES/bz1803025-oralsnr-allow-using-same-tns_admin.patch
@@ -0,0 +1,23 @@
+From 2e288c233dc3b67d1845d5fdb8f857e0d7377820 Mon Sep 17 00:00:00 2001
+From: Oyvind Albrigtsen <oalbrigt@redhat.com>
+Date: Wed, 12 Feb 2020 10:32:17 +0100
+Subject: [PATCH] oralsnr: allow using the tns_admin directory for different
+ listeners
+
+---
+ heartbeat/oralsnr | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/heartbeat/oralsnr b/heartbeat/oralsnr
+index 08fb8ae11..1ecf8fca8 100755
+--- a/heartbeat/oralsnr
++++ b/heartbeat/oralsnr
+@@ -116,7 +116,7 @@ Defaults to LISTENER.
+ <content type="string" default="${OCF_RESKEY_listener_default}" />
+ </parameter>
+ 
+-<parameter name="tns_admin" required="0" unique="1">
++<parameter name="tns_admin" required="0" unique="0">
+ <longdesc lang="en">
+ 	Full path to the directory that contains the Oracle
+ 	listener tnsnames.ora configuration file.  The shell
diff --git a/SOURCES/bz1803799-rabbitmq-cluster-delete-nodename-when-stop-fails.patch b/SOURCES/bz1803799-rabbitmq-cluster-delete-nodename-when-stop-fails.patch
new file mode 100644
index 0000000..fc95598
--- /dev/null
+++ b/SOURCES/bz1803799-rabbitmq-cluster-delete-nodename-when-stop-fails.patch
@@ -0,0 +1,38 @@
+From 47d75f8de9dc912da035805f141c674885ce432f Mon Sep 17 00:00:00 2001
+From: John Eckersberg <jeckersb@redhat.com>
+Date: Thu, 16 Jan 2020 10:20:59 -0500
+Subject: [PATCH] rabbitmq-cluster: ensure we delete nodename if stop action
+ fails
+
+If the stop action fails, we want to remove the nodename from the crm
+attribute.  Currently it is possible for the stop action to fail but
+the rabbitmq server does actually stop.  This leaves the attribute
+still present.  This means if the entire rabbitmq cluster is stopped,
+it is not possible to start the cluster again because the first node
+to start will think there is at least one other node running.  Then
+the node tries to join an existing cluster instead of rebootstrapping
+the cluster from a single node.
+---
+ heartbeat/rabbitmq-cluster | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/heartbeat/rabbitmq-cluster b/heartbeat/rabbitmq-cluster
+index 7837e9e3c..a9ebd37ad 100755
+--- a/heartbeat/rabbitmq-cluster
++++ b/heartbeat/rabbitmq-cluster
+@@ -552,6 +552,7 @@ rmq_stop() {
+ 
+ 	if [ $rc -ne 0 ]; then
+ 		ocf_log err "rabbitmq-server stop command failed: $RMQ_CTL stop, $rc"
++		rmq_delete_nodename
+ 		return $rc
+ 	fi
+ 
+@@ -565,6 +566,7 @@ rmq_stop() {
+ 			break
+ 		elif [ "$rc" -ne $OCF_SUCCESS ]; then
+ 			ocf_log info "rabbitmq-server stop failed: $rc"
++			rmq_delete_nodename
+ 			exit $OCF_ERR_GENERIC
+ 		fi
+ 		sleep 1
diff --git a/SOURCES/bz1803801-exportfs-allow-same-fsid.patch b/SOURCES/bz1803801-exportfs-allow-same-fsid.patch
new file mode 100644
index 0000000..93d47af
--- /dev/null
+++ b/SOURCES/bz1803801-exportfs-allow-same-fsid.patch
@@ -0,0 +1,22 @@
+From 9cea030ba6d5c759971873b80d6d97b545ecac39 Mon Sep 17 00:00:00 2001
+From: Oyvind Albrigtsen <oalbrigt@redhat.com>
+Date: Thu, 7 Nov 2019 13:03:30 +0100
+Subject: [PATCH] exportfs: allow multiple exports of same directory
+
+---
+ heartbeat/exportfs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/heartbeat/exportfs b/heartbeat/exportfs
+index d79aced88..1cabdee70 100755
+--- a/heartbeat/exportfs
++++ b/heartbeat/exportfs
+@@ -82,7 +82,7 @@ The directory or directories to export.
+ <content type="string" />
+ </parameter>
+ 
+-<parameter name="fsid" unique="1" required="1">
++<parameter name="fsid" unique="0" required="1">
+ <longdesc lang="en">
+ The fsid option to pass to exportfs. This can be a unique positive
+ integer, a UUID (assuredly sans comma characters), or the special string
diff --git a/SPECS/resource-agents.spec b/SPECS/resource-agents.spec
index ebc32ef..5c80068 100644
--- a/SPECS/resource-agents.spec
+++ b/SPECS/resource-agents.spec
@@ -45,7 +45,7 @@
 %global sap_script_package_hash f3644f5
 
 %global saphana_prefix SAPHanaSR
-%global saphana_hash 2067519
+%global saphana_version d1dde99
 
 %global saphana_scaleout_prefix SAPHanaSR-ScaleOut
 %global saphana_scaleout_hash a77e8c6
@@ -95,7 +95,7 @@
 Name:		resource-agents
 Summary:	Open Source HA Reusable Cluster Resource Scripts
 Version:	4.1.1
-Release:	46%{?dist}
+Release:	46%{?dist}.1
 License:	GPLv2+ and LGPLv2+ and ASL 2.0
 URL:		https://github.com/ClusterLabs/resource-agents
 %if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
@@ -106,7 +106,7 @@ Group:		Productivity/Clustering/HA
 Source0:	%{upstream_prefix}-%{upstream_version}.tar.gz
 Source1:	%{sap_script_prefix}-%{sap_script_hash}.tar.gz
 Source2:	%{sap_script_package_prefix}-%{sap_script_package_hash}.tar.gz
-Source3:	%{saphana_prefix}-%{saphana_hash}.tar.gz
+Source3:	%{saphana_prefix}-%{saphana_version}.tar.gz
 Source4:	%{saphana_scaleout_prefix}-%{saphana_scaleout_hash}.tar.gz
 Source5:	%{googlecloudsdk}-%{googlecloudsdk_version}-linux-x86_64.tar.gz
 Source6:	%{pyroute2}-%{pyroute2_version}.tar.gz
@@ -178,23 +178,25 @@ Patch57:	bz1719443-CTDB-1-fixes.patch
 Patch58:	bz1719443-CTDB-2-add-v4.9-support.patch
 Patch59:	bz1732873-LVM-activate-fix-monitor-hang.patch
 Patch60:	bz1598969-2-iSCSILogicalUnit-create-acls-fix.patch
-Patch61:	bz1642067-SAPHanaTopology-make-multi-instance-aware.patch
-Patch62:	bz1582685-IPsrcaddr-1-add-destination-and-table-parameters.patch
-Patch63:	bz1726736-Route-1-dont-fence-when-parameters-not-set.patch
-Patch64:	bz1746266-docker-1-fail-gracefully-when-not-running.patch
-Patch65:	bz1746266-docker-2-improve-daemon-check.patch
-Patch66:	bz1746266-docker-3-fix-stop-return-code.patch
-Patch67:	bz1744467-rabbitmq-cluster-restore-users-single-node-mode.patch
-Patch68:	bz1528365-IPaddr2-1-sanitize-IPv6-IPs.patch
-Patch69:	bz1528365-IPaddr2-2-return-empty-when-sanitation-fails.patch
-Patch70:	bz1740069-NovaEvacuate-evacuate_delay.patch
-Patch71:	bz1757753-nfsserver-1-systemd-perf-improvements.patch
-Patch72:	bz1757753-nfsserver-2-systemd-use-no-legend.patch
-Patch73:	bz1695041-LVM-activate-return-NOT_RUNNING-rejoin-cluster.patch
-Patch74:	bz1726736-Route-2-validate-start-validate-all.patch
-Patch75:	bz1582685-IPsrcaddr-2-local-rule-destination-fixes.patch
-Patch76:	bz1582685-IPsrcaddr-3-fix-probe-issues.patch
-Patch77:	bz1582685-IPsrcaddr-4-fix-hardcoded-device.patch
+Patch61:	bz1582685-IPsrcaddr-1-add-destination-and-table-parameters.patch
+Patch62:	bz1726736-Route-1-dont-fence-when-parameters-not-set.patch
+Patch63:	bz1746266-docker-1-fail-gracefully-when-not-running.patch
+Patch64:	bz1746266-docker-2-improve-daemon-check.patch
+Patch65:	bz1746266-docker-3-fix-stop-return-code.patch
+Patch66:	bz1744467-rabbitmq-cluster-restore-users-single-node-mode.patch
+Patch67:	bz1528365-IPaddr2-1-sanitize-IPv6-IPs.patch
+Patch68:	bz1528365-IPaddr2-2-return-empty-when-sanitation-fails.patch
+Patch69:	bz1740069-NovaEvacuate-evacuate_delay.patch
+Patch70:	bz1757753-nfsserver-1-systemd-perf-improvements.patch
+Patch71:	bz1757753-nfsserver-2-systemd-use-no-legend.patch
+Patch72:	bz1695041-LVM-activate-return-NOT_RUNNING-rejoin-cluster.patch
+Patch73:	bz1726736-Route-2-validate-start-validate-all.patch
+Patch74:	bz1582685-IPsrcaddr-2-local-rule-destination-fixes.patch
+Patch75:	bz1582685-IPsrcaddr-3-fix-probe-issues.patch
+Patch76:	bz1582685-IPsrcaddr-4-fix-hardcoded-device.patch
+Patch77:	bz1803801-exportfs-allow-same-fsid.patch
+Patch78:	bz1803799-rabbitmq-cluster-delete-nodename-when-stop-fails.patch
+Patch79:	bz1803025-oralsnr-allow-using-same-tns_admin.patch
 
 # bundle patches
 Patch1000:	bz1568588-7-gcp-bundled.patch
@@ -389,7 +391,7 @@ SAP instances to be managed in a cluster environment.
 License:	GPLv2+
 Summary:	SAP HANA Scale-Out cluster resource agents
 Version:	0.163.2
-Release:	22%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
+Release:	22%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}.1
 %if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
 Group:		System Environment/Base
 %else
@@ -409,7 +411,7 @@ environment.
 License:	GPLv2+
 Summary:	SAP cluster connector script
 Version:	3.0.1
-Release:	22%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
+Release:	22%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}.1
 %if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
 Group:		System Environment/Base
 %else
@@ -511,15 +513,20 @@ exit 1
 %patch75 -p1
 %patch76 -p1
 %patch77 -p1
+%patch78 -p1
+%patch79 -p1 -F1
 
 # add SAPHana agents to Makefile.am
-mv %{saphana_prefix}-%{saphana_hash}/SAPHana/ra/SAPHana* heartbeat
+mv %{saphana_prefix}-%{saphana_version}/ra/SAPHana* heartbeat
 mv %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/ra/SAPHanaController heartbeat
 mv %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/ra/SAPHanaTopology heartbeat/SAPHanaTopologyScaleOut
 sed -i -e 's/\(<resource-agent name="SAPHanaTopology\)/\1ScaleOut/' heartbeat/SAPHanaTopologyScaleOut
 sed -i -e '/			SAPInstance		\\/a\			SAPHana			\\\n			SAPHanaTopology		\\\n			SAPHanaController	\\\n			SAPHanaTopologyScaleOut	\\' heartbeat/Makefile.am
 sed -i -e '/                          ocf_heartbeat_SAPInstance.7 \\/a\                          ocf_heartbeat_SAPHana.7 \\\n                          ocf_heartbeat_SAPHanaTopology.7 \\\n                          ocf_heartbeat_SAPHanaController.7 \\\n                          ocf_heartbeat_SAPHanaTopologyScaleOut.7 \\' doc/man/Makefile.am
 
+# change provider company
+sed -i -e 's/\("provider_company": \)"SUSE"/\1"Red Hat"/g' %{saphana_prefix}-%{saphana_version}/srHook/SAPHanaSR.py
+
 # bundles
 mkdir -p %{bundled_lib_dir}
 
@@ -759,6 +766,9 @@ cp -rv %{sap_script_package_prefix}-%{sap_script_package_hash}/redhat/{run_check
 gzip %{sap_script_package_prefix}-%{sap_script_package_hash}/redhat/man/*.8
 cp %{sap_script_package_prefix}-%{sap_script_package_hash}/redhat/man/*.8.gz %{buildroot}/%{_mandir}/man8
 
+mkdir %{buildroot}/%{_datadir}/SAPHanaSR
+cp -r %{saphana_prefix}-%{saphana_version}/srHook %{buildroot}/%{_datadir}/SAPHanaSR
+
 install -m 0755 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/bin/{SAPHanaSR-monitor,SAPHanaSR-showAttr} %{buildroot}/%{_sbindir}
 mkdir %{buildroot}/%{_usr}/lib/SAPHanaSR-ScaleOut
 install -m 0444 %{saphana_scaleout_prefix}-%{saphana_scaleout_hash}/SAPHana/test/SAPHanaSRTools.pm %{buildroot}/%{_usr}/lib/SAPHanaSR-ScaleOut/SAPHanaSRTools.pm
@@ -900,6 +910,7 @@ rm -rf %{buildroot}
 %exclude /usr/lib/ocf/lib/heartbeat/sap*
 %exclude %{_mandir}/man7/*SAP*
 %exclude %{_mandir}/man8/*SAP*
+%exclude %{_datadir}/SAPHanaSR
 %exclude %{_usr}/lib/SAPHanaSR-ScaleOut
 %exclude %{_datadir}/SAPHanaSR-ScaleOut
 %exclude %{_mandir}/man8/sap_cluster_connector*
@@ -1116,6 +1127,8 @@ ccs_update_schema > /dev/null 2>&1 ||:
 /usr/lib/ocf/resource.d/heartbeat/SAPHanaTopology
 %{_mandir}/man7/*SAPHana.*
 %{_mandir}/man7/*SAPHanaTopology.*
+%{_datadir}/SAPHanaSR
+%exclude %{_datadir}/SAPHanaSR/srHook/SAPHanaSR.py?
 %endif
 
 %ifarch x86_64 ppc64le
@@ -1142,6 +1155,17 @@ ccs_update_schema > /dev/null 2>&1 ||:
 %endif
 
 %changelog
+* Tue Feb 18 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.1.1-46.1
+- exportfs: allow multiple exports with same fsid
+- rabbitmq-cluster: delete nodename when stop fails
+- oralsnr: allow using same tns_admin directory for listeners
+- Rebase resource-agents-sap-hana to SAPHanaSR 0.154.0 upstream release.
+
+  Resolves: rhbz#1803801
+  Resolves: rhbz#1803799
+  Resolves: rhbz#1803025
+  Resolves: rhbz#1803916
+
 * Thu Jan 16 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.1.1-46
 - IPsrcaddr: add destination and table parameters