]> git.pld-linux.org Git - packages/lxd.git/blob - lxd.init
init: use only awk and do not hide errors
[packages/lxd.git] / lxd.init
1 #!/bin/sh
2 #
3 # Container hypervisor and a new user experience for LXC
4 #
5 # chkconfig:    345 20 80
6 #
7 # processname:  lxd
8 # pidfile: /var/run/lxd.pid
9 #
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 # Get network config
15 . /etc/sysconfig/network
16
17 # Check that networking is up.
18 if is_yes "${NETWORKING}"; then
19         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
20                 msg_network_down "lxd"
21                 exit 1
22         fi
23 else
24         exit 0
25 fi
26
27 # Get service config - may override defaults
28 [ -f /etc/sysconfig/lxd ] && . /etc/sysconfig/lxd
29 OPTIONS="$OPTIONS --group lxd --logfile /var/log/lxd/lxd.log"
30
31 pidfile="/var/run/lxd.pid"
32
33 start() {
34         if status --pidfile $pidfile lxd lxd >/dev/null; then
35                 msg_already_running "lxd"
36                 return
37         fi
38
39         msg_starting "lxd"
40         daemon --fork --waitforname lxd /usr/sbin/lxd daemon $OPTIONS 
41         
42         # lxd does not write pidfile, so create one
43         show "Checking lxd daemon status"
44         busy
45         pid=""
46         ntry=0
47         while [ -z "$pid" -a $ntry -lt 5 ]; do
48                 [ -z "$pid" ] && sleep 1
49                 pid=$(lxc info | awk '/serverpid:/{print $2}')
50                 echo $pid > $pidfile
51                 ntry=$(($ntry+1))
52         done
53
54         if [ -n "$pid" ]; then
55                 touch /var/lock/subsys/lxd
56                 ok
57                 RETVAL=0
58         else
59                 fail
60                 RETVAL=1
61         fi
62 }
63
64 stop() {
65         if [ ! -f /var/lock/subsys/lxd ]; then
66                 msg_not_running "lxd"
67                 return
68         fi
69
70         # Stop daemons.
71         msg_stopping "lxd"
72         /usr/sbin/lxd shutdown 
73         busy
74         sleep 1
75         if status --pidfile $pidfile lxd lxd >/dev/null; then
76                 killproc --pidfile $pidfile lxd
77         else
78                 ok
79         fi
80         rm -f /var/lock/subsys/lxd
81 }
82
83 condrestart() {
84         if [ ! -f /var/lock/subsys/lxd ]; then
85                 msg_not_running "lxd"
86                 RETVAL=$1
87                 return
88         fi
89
90         stop
91         start
92 }
93
94 RETVAL=0
95 # See how we were called.
96 case "$1" in
97   start)
98         start
99         ;;
100   stop)
101         stop
102         ;;
103   restart)
104         stop
105         start
106         ;;
107   try-restart)
108         condrestart 0
109         ;;
110   force-reload)
111         condrestart 7
112         ;;
113   status)
114         status --pidfile $pidfile lxd lxd
115         RETVAL=$?
116         ;;
117   *)
118         msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
119         exit 3
120 esac
121
122 exit $RETVAL
This page took 0.111358 seconds and 4 git commands to generate.