Annotation of /trunk/xen-tools/xend.rc
Parent Directory | Revision Log
Revision 615 -
(hide annotations)
(download)
Sat May 24 10:32:18 2008 UTC (16 years, 5 months ago) by niro
File size: 1343 byte(s)
Sat May 24 10:32:18 2008 UTC (16 years, 5 months ago) by niro
File size: 1343 byte(s)
-initscript files for xen-tools packages
1 | niro | 615 | #!/bin/bash |
2 | # $Header: /root/magellan-cvs/src/xen-tools/xend.rc,v 1.1 2008-05-24 10:32:18 niro Exp $ | ||
3 | |||
4 | #%rlevels: 3:s 4:s 5:s 0:k 1:k 2:k 6:k | ||
5 | #%start: 60 | ||
6 | #%stop: 30 | ||
7 | |||
8 | #deps | ||
9 | #%needs: | ||
10 | #%before: | ||
11 | #%after: | ||
12 | |||
13 | source /etc/sysconfig/rc | ||
14 | source $rc_functions | ||
15 | |||
16 | is_privileged_domain() | ||
17 | { | ||
18 | grep -qsE '^control_d$' /proc/xen/capabilities | ||
19 | return $? | ||
20 | } | ||
21 | |||
22 | await_daemons_up() | ||
23 | { | ||
24 | for ((i=0; i<5; i++)) | ||
25 | do | ||
26 | sleep 1 | ||
27 | /usr/sbin/xend status && return 0 | ||
28 | done | ||
29 | return 1 | ||
30 | } | ||
31 | |||
32 | case "$1" in | ||
33 | start) | ||
34 | if is_privileged_domain | ||
35 | then | ||
36 | echo -e ${COLOREDSTAR}"Starting Xen control daemon ..." | ||
37 | /usr/sbin/xend start | ||
38 | /usr/sbin/xend status || await_daemons_up | ||
39 | evaluate_retval | ||
40 | else | ||
41 | ${WARNING} "Can't start xend - this is not a privileged domain ..." | ||
42 | print_status failure | ||
43 | fi | ||
44 | |||
45 | update_svcstatus $1 | ||
46 | splash svc_started "$(basename $0)" 0 | ||
47 | ;; | ||
48 | |||
49 | stop) | ||
50 | if [ "$(xm list | wc -l)" -gt 2 ] | ||
51 | then | ||
52 | echo -e ${COLOREDSTAR}"Stopping all domains ..." | ||
53 | /usr/sbin/xm shutdown --all --wait >/dev/null | ||
54 | evaluate_retval | ||
55 | fi | ||
56 | |||
57 | echo -e ${COLOREDSTAR}"Stopping Xen control daemon" | ||
58 | /usr/sbin/xend stop | ||
59 | evaluate_retval | ||
60 | |||
61 | update_svcstatus $1 | ||
62 | splash svc_stopped "$(basename $0)" 0 | ||
63 | ;; | ||
64 | |||
65 | restart) | ||
66 | $0 stop | ||
67 | sleep 1 | ||
68 | $0 start | ||
69 | ;; | ||
70 | |||
71 | status) | ||
72 | is_privileged_domain && /usr/sbin/xend status | ||
73 | ;; | ||
74 | |||
75 | *) | ||
76 | echo "Usage: $0 {start|stop|restart|status}" | ||
77 | exit 1 | ||
78 | ;; | ||
79 | esac |