summaryrefslogtreecommitdiff
path: root/community/libvirt/libvirtd.rc.d
blob: 2f949ab9dd84a65f172b8354c42d5d737ea18760 (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
#!/bin/bash

. /etc/rc.conf
. /etc/conf.d/libvirtd
. /etc/rc.d/functions

LIBVIRTD_CONFIG_ARGS=
if [ -n "$LIBVIRTD_CONFIG" ]
then
	LIBVIRTD_CONFIG_ARGS="--config $LIBVIRTD_CONFIG"
fi

PID=`pidof -o %PPID /usr/sbin/libvirtd`
case "$1" in
    start)
	stat_busy "Starting libvirtd"
	for i in /var/run/libvirt/qemu /var/run/libvirt/lxc /var/run/libvirt/uml /var/run/libvirt/network; do
		[ -d $i ] || mkdir -p $i
	done
	[ -z "$PID" ] && (
		mkdir -p /var/{cache,run}/libvirt
		rm -rf /var/cache/libvirt/*
		KRB5_KTNAME=$KRB5_KTNAME \
			/usr/sbin/libvirtd --daemon $LIBVIRTD_CONFIG_ARGS $LIBVIRTD_ARGS
	)
	if [ $? -gt 0 ]; then
		stat_fail
	else
		add_daemon libvirtd
		stat_done
	fi
	;;
    stop)
	stat_busy "Stopping libvirtd"
	[ ! -z "$PID" ]  && (
		kill $PID &> /dev/null
		rm -rf /var/cache/libvirt/*
		rm -f /var/run/libvirtd.pid
	)
	if [ $? -gt 0 ]; then
		stat_fail
	else
		rm_daemon libvirtd
		stat_done
	fi
	;;
    restart)
	$0 stop
	sleep 1
	$0 start
	;;
    reload)
	stat_busy "Reloading libvirtd configuration"
	[ ! -z "$PID" ]  && kill -HUP $PID &> /dev/null
	if [ $? -gt 0 ]; then
		stat_fail
	else
		stat_done
	fi
	;;
    *)
        echo $"Usage: $0 {start|stop|restart|reload}"
        ;;
esac
exit 0