cosmetic fixes for vserver-wrapper
[util-vserver.git] / scripts / vserver-wrapper
1 #! /bin/bash
2
3 # Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 #  
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; version 2 of the License.
8 #  
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #  
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
19 test -e "$UTIL_VSERVER_VARS" || {
20     echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
21     exit 1
22 }
23 . "$UTIL_VSERVER_VARS"
24
25 test -n "$MARK" || MARK=default
26 : ${LOCKFILE:=vservers-$MARK}
27 : ${NUMPARALLEL:=6}
28
29
30 if test -e /etc/init.d/functions; then
31     . /etc/init.d/functions
32     _beginResult() { echo -n "$@ ..."; }
33     _postResult() { echo; }
34     lockfile=/var/lock/subsys/$LOCKFILE
35 elif test -e /etc/gentoo-release; then
36     . /sbin/functions.sh
37     _beginResult() { ebegin "$@"; }
38     _postResult() { :; }
39     success() { eend 0; }
40     passed()  { eend 0; }
41     failure() { eend 1; }
42     lockfile=/var/lock/vservers/$LOCKFILE
43 else
44     _beginResult() { echo -n "$@ ..."; }
45     _postResult() { :; }
46     success() { echo .; }
47     passed()  { echo .; }
48     failure() { echo ERROR; }
49     lockfile=/var/run/$LOCKFILE
50 fi
51
52 function _endResult()
53 {
54     local rc=$1
55     case "$rc" in
56         (0)     success;;
57         (2)     passed; rc=0;;
58         (*)     failure;;
59     esac
60     _postResult
61     return $rc
62 }
63
64 function start()
65 {
66     _beginResult $"Starting vservers of type '$MARK'"
67     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --start
68     _endResult $?
69     local rc=$?
70     test "$rc" -ne 0 || touch "$lockfile"
71     return $rc
72 }
73
74 function stop()
75 {
76     _beginResult $"Stopping vservers of type '$MARK'"
77     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --stop
78     _endResult $?
79     local rc=$?
80     $_RM -f "$lockfile"
81     return $rc
82 }
83
84 function restart()
85 {
86     stop
87     start
88 }
89
90 case "$1" in
91     start|stop|restart) $1;;
92     condrestart)
93         test -f $lockfile && restart || :
94         ;;
95     status)
96         test -f $lockfile && {
97             echo $"vservers of type '$MARK' were started"
98             exit 0
99         }
100         echo $"vservers of type '$MARK' are not started"
101         exit 1
102         ;;
103     *)
104         echo "Usage: $0 {start|stop|restart|condrestart|status}"
105         exit 2
106         ;;
107 esac