]> git.proxmox.com Git - redhat-cluster-pve.git/blob - debian/patches/fix-rgmanager-init.diff
imported from svn 'redhat-cluster/trunk'
[redhat-cluster-pve.git] / debian / patches / fix-rgmanager-init.diff
1 Index: 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