]> git.proxmox.com Git - redhat-cluster-pve.git/blame - debian/patches/fix-rgmanager-init.diff
imported from svn 'redhat-cluster/trunk'
[redhat-cluster-pve.git] / debian / patches / fix-rgmanager-init.diff
CommitLineData
3e8a6763
DM
1Index: new/rgmanager/init.d/rgmanager.in
2===================================================================
3--- new.orig/rgmanager/init.d/rgmanager.in 2011-07-19 12:52:29.000000000 +0200
4+++ new/rgmanager/init.d/rgmanager.in 2011-08-19 10:26:15.000000000 +0200
5@@ -8,8 +8,8 @@
6 # Provides: rgmanager
7 # Required-Start: cman
8 # Required-Stop: cman
9-# Default-Start:
10-# Default-Stop:
11+# Default-Start: S
12+# Default-Stop: 0 6
13 # Short-Description: Starts and stops Red Hat Service (resource group) Manager
14 # Description: Starts and stops Red Hat Service (resource group) Manager
15 ### END INIT INFO
16@@ -20,6 +20,10 @@
17 # set secure PATH
18 PATH="/sbin:/bin:/usr/sbin:/usr/bin:@SBINDIR@"
19
20+CCFG="/etc/cluster/cluster.conf"
21+
22+test -f "$CCFG" || exit 0
23+
24 success()
25 {
26 echo -ne "[ OK ]\r"
27@@ -33,7 +37,7 @@
28 status()
29 {
30 pid=$(pidof $1 2>/dev/null)
31- rtrn=$?
32+ local rtrn=$?
33 if [ $rtrn -ne 0 ]; then
34 echo "$1 is stopped"
35 else
36@@ -52,8 +56,7 @@
37
38 # deb based distros
39 if [ -d /etc/default ]; then
40- [ -f /etc/default/cluster ] && . /etc/default/cluster
41- [ -f /etc/default/rgmanager ] && . /etc/default/rgmanager
42+ [ -f /etc/default/redhat-cluster-pve ] && . /etc/default/redhat-cluster-pve
43 [ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/rgmanager"
44 fi
45
46@@ -72,6 +75,11 @@
47 done
48 }
49
50+rgmanager_enabled()
51+{
52+ ccs_tool query /cluster/rm >/dev/null 2>&1
53+}
54+
55 rtrn=0
56
57 if [ "$EUID" != "0" ]; then
58@@ -81,6 +89,11 @@
59
60 case "$1" in
61 start)
62+
63+ if ! rgmanager_enabled; then
64+ exit 0;
65+ fi
66+
67 echo -n "Starting $ID: "
68
69 # most recent distributions use tmpfs for /var/run
70@@ -92,7 +105,9 @@
71 if status $RGMGRD > /dev/null 2>&1; then
72 success
73 else
74- if $RGMGRD $RGMGR_OPTS; then
75+ # do not trust return code
76+ $RGMGRD $RGMGR_OPTS;
77+ if status $RGMGRD > /dev/null 2>&1; then
78 touch $LOCK_FILE
79 success
80 else
81@@ -126,11 +141,12 @@
82 echo -n "Stopping $ID: "
83
84 if status $RGMGRD > /dev/null 2>&1; then
85- if stop_cluster; then
86- success
87- else
88- failure
89+ stop_cluster
90+ if status $RGMGRD > /dev/null 2>&1; then
91+ failure
92 rtrn=1
93+ else
94+ success
95 fi
96 else
97 success