summaryrefslogtreecommitdiffstats
path: root/extras/init.d/glusterd-Redhat.in
blob: 94801fe31a5be00a3301ee0a5dd34e8462952d4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/bin/bash
#
# glusterd   Startup script for the glusterfs server
#
# chkconfig:   - 20 80
# description: Clustered file-system server

### BEGIN INIT INFO
# Provides: glusterd
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: 
# Should-Stop: 
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: glusterfs server
# Description:       Clustered file-system server
### END INIT INFO
#

# Source function library.
. /etc/rc.d/init.d/functions

BASE=glusterd

# Fedora File System Layout dictates /run
[ -e /run ] && RUNDIR="/run"
PIDFILE="${RUNDIR:-/var/run}/${BASE}.pid"

PID=`test -f $PIDFILE && cat $PIDFILE`

# Overwriteable from sysconfig
LOG_LEVEL=''
LOG_FILE=''
GLUSTERD_OPTIONS=''
GLUSTERD_NOFILE='65536'

[ -f /etc/sysconfig/${BASE} ] && . /etc/sysconfig/${BASE}

[ ! -z $LOG_LEVEL ] && GLUSTERD_OPTIONS="${GLUSTERD_OPTIONS} --log-level ${LOG_LEVEL}"
[ ! -z $LOG_FILE ] && GLUSTERD_OPTIONS="${GLUSTERD_OPTIONS} --log-file ${LOG_FILE}"

GLUSTERFSD=glusterfsd
GLUSTERFS=glusterfs
GLUSTERD_BIN=@prefix@/sbin/$BASE
GLUSTERD_OPTS="--pid-file=$PIDFILE ${GLUSTERD_OPTIONS}"
GLUSTERD="$GLUSTERD_BIN $GLUSTERD_OPTS"
RETVAL=0

LOCKFILE=/var/lock/subsys/${BASE}

# Start the service $BASE
start()
{
       if pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null; then
           echo "glusterd service is already running with pid $PID"
           return 0
       else
           ulimit -n $GLUSTERD_NOFILE
           echo -n $"Starting $BASE:"
           daemon $GLUSTERD
           RETVAL=$?
           echo
           [ $RETVAL -eq 0 ] && touch $LOCKFILE
           return $RETVAL
       fi
}

# Stop the service $BASE
stop()
{
    echo -n $"Stopping $BASE:"
    if pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null; then
        killproc -p $PIDFILE $BASE
    else
        killproc $BASE
    fi
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
    return $RETVAL
}

restart()
{
    stop
    start
}

reload()
{
    restart
}

force_reload()
{
    restart
}

rh_status()
{
    status $BASE
}

rh_status_q()
{
    rh_status &>/dev/null
}


### service arguments ###
case $1 in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 1
esac

exit $?