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