File 0001-nfsserver-Add-EXEC_MODE-for-systemd-without-nfs-lock.patch of Package resource-agents.2497

From 20950bf7e173ab57623b3e5d2ddac8ee23abdc34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= <krig@koru.se>
Date: Fri, 20 Nov 2015 11:07:00 +0100
Subject: [PATCH] nfsserver: Add EXEC_MODE for systemd without nfs-lock.service
 (bsc#955114)

On SUSE systems, we do not have a nfs-lock.service service script,
but we use nfs-server.service to manage NFS using systemd.

This patch adds a new EXEC_MODE which uses nfs-server.service to manage
the NFS server, but calls rpc.statd to handle NFSv3 locking.
---
 heartbeat/nfsserver | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/heartbeat/nfsserver b/heartbeat/nfsserver
index 6144d0a..6cdde46 100755
--- a/heartbeat/nfsserver
+++ b/heartbeat/nfsserver
@@ -272,7 +272,8 @@ fi
 ##
 # EXEC_MODE values
 # 1  user init script or default init script
-# 2  systemd
+# 2  systemd (with nfs-lock.service)
+# 3  systemd (without nfs-lock.service)
 #
 # On error, this function will terminate the process
 # with error code $OCF_ERR_INSTALLED
@@ -307,7 +308,7 @@ set_exec_mode()
 	fi
 
 	##
-	# Last of all, attempt systemd.
+	# Attempt systemd (with nfs-lock.service).
 	##
 	if which systemctl > /dev/null 2>&1; then
 		if systemctl list-unit-files | grep nfs-server > /dev/null && systemctl list-unit-files | grep nfs-lock > /dev/null; then
@@ -317,6 +318,16 @@ set_exec_mode()
 		fi
 	fi
 
+	##
+	# Attempt systemd (without nfs-lock.service).
+	##
+	if which systemctl > /dev/null 2>&1; then
+		if systemctl list-unit-files | grep nfs-server > /dev/null; then
+			EXEC_MODE=3
+			return 0
+		fi
+	fi
+
 	ocf_exit_reason "No init script or systemd unit file detected for nfs server"
 	exit $OCF_ERR_INSTALLED
 }
@@ -332,6 +343,7 @@ nfs_exec()
 	case $EXEC_MODE in 
 		1) ${OCF_RESKEY_nfs_init_script} $cmd;;
 		2) systemctl $cmd nfs-server.service ;;
+		3) systemctl $cmd nfs-server.service ;;
 	esac
 }
 
-- 
2.6.2

openSUSE Build Service is sponsored by