5e937378295cabf32c615e2e2a0b3b5a716806ef
[gd/samba-autobuild/.git] / ctdb / config / events.d / 49.winbind
1 #!/bin/sh
2 # ctdb event script for winbind
3
4 [ -n "$CTDB_BASE" ] || \
5     CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD")
6
7 . "${CTDB_BASE}/functions"
8
9 CTDB_SERVICE_WINBIND=${CTDB_SERVICE_WINBIND:-winbind}
10
11 # service_name is used by various functions
12 # shellcheck disable=SC2034
13 service_name="winbind"
14
15 loadconfig
16
17 service_start ()
18 {
19     service "$CTDB_SERVICE_WINBIND" stop >/dev/null 2>&1
20     killall -0 -q winbindd && {
21         sleep 1
22         # make absolutely sure winbindd is dead
23         killall -q -9 winbindd
24     }
25
26     service "$CTDB_SERVICE_WINBIND" start || \
27         die "Failed to start winbind"
28 }
29
30 service_stop ()
31 {
32     service "$CTDB_SERVICE_WINBIND" stop
33 }
34
35 ###########################
36
37 is_ctdb_managed_service || exit 0
38
39 ###########################
40
41 case "$1" in
42 startup)
43         service_start
44         ;;
45
46 shutdown)
47         service_stop
48         ;;
49
50 monitor)
51         if ! out=$(wbinfo -p 2>&1) ; then
52                 echo "ERROR: wbinfo -p returned error"
53                 echo "$out"
54                 exit 1
55         fi
56         ;;
57 esac
58
59 exit 0