[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH, 4.0] tools: provide startup script for libxl
On Thu, 2011-03-03 at 17:05 +0000, Ian Jackson wrote: > Ian Jackson writes ("[Xen-devel] [PATCH, 4.0] tools: provide startup script > for libxl"): > > In Xen 4.0 there is no /etc/init.d/xencommons (and we do not want to > > backport the refactoring of /etc/init.d/xend). This means that in > > most situations you don't get xenstored, and xl doesn't work, unless > > you do something shonky like starting and then immediately stopping > > xend. > > > > To test xl, my automatic testing system therefore provides its own > > init script "xenlightdaemons" to start xenstored and xenconsoled. > > This script was created by borrowing from /etc/init.d/xend and other > > init scripts in various versions of xen.hg. > > > > Here it is (from testing.git 78c59993ab536b8c39c5a00a). The user > > will still have to add appropriate rc links, and only a script for > > Linux is provided. > > > > Testing: I have done a build test on patch and the script does end up > > in dist/install/etc/init.d/xenlightdaemons; the script itself is > > tested as part of my automatic test system. > > > > Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > > I have had a private email from Stefano, so > > Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > Keir, would you apply this to 4.0 please ? I was confused by this for a bit. I think it is well worth a comment that this is the equivalent of the xencommons init script in 4.1+ Why does it get a different name in 4.0 anyway? Ian. > > Thanks, > Ian. > > diff -r 0b16e1d60871 tools/hotplug/Linux/Makefile > --- a/tools/hotplug/Linux/Makefile Wed Jan 26 09:05:53 2011 +0000 > +++ b/tools/hotplug/Linux/Makefile Thu Feb 03 11:49:09 2011 +0000 > @@ -4,6 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk > # Init scripts. > XEND_INITD = init.d/xend > XEND_SYSCONFIG = init.d/sysconfig.xend > +XENLIGHTDAEMONS_INITD = init.d/xenlightdaemons > XENDOMAINS_INITD = init.d/xendomains > XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains > > @@ -65,6 +66,7 @@ install-initd: > [ -d $(DESTDIR)$(CONFIG_DIR)/sysconfig ] || $(INSTALL_DIR) > $(DESTDIR)$(CONFIG_DIR)/sysconfig > $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(CONFIG_DIR)/init.d > $(INSTALL_PROG) $(XEND_SYSCONFIG) $(DESTDIR)$(CONFIG_DIR)/sysconfig/xend > + $(INSTALL_PROG) $(XENLIGHTDAEMONS_INITD) $(DESTDIR)$(CONFIG_DIR)/init.d > $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(CONFIG_DIR)/init.d > $(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) > $(DESTDIR)$(CONFIG_DIR)/sysconfig/xendomains > > diff -r 0b16e1d60871 tools/hotplug/Linux/init.d/xenlightdaemons > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tools/hotplug/Linux/init.d/xenlightdaemons Thu Feb 03 11:49:09 > 2011 +0000 > @@ -0,0 +1,81 @@ > +#!/bin/bash > +# > +# xenlightdaemons Script to start and stop xenstored and xenconsoled > +# FOR USE WITH LIBXL, not xend > +# > +# Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > +# > +# chkconfig: 2345 > +# description: Starts and stops the Xen control daemon. > +### BEGIN INIT INFO > +# Provides: xenstored xenconsoled > +# Required-Start: $syslog $remote_fs > +# Should-Start: > +# Required-Stop: $syslog $remote_fs > +# Should-Stop: > +# Default-Start: 3 4 5 > +# Default-Stop: 1 > +# Default-Enabled: yes > +# Short-Description: Start/stop xenstored and xenconsoled > +# Description: Starts and stops the daemons neeeded for xl/libxenlight > +### END INIT INFO > + > +XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid > + > +shopt -s extglob > +test -f /etc/sysconfig/xend && . /etc/sysconfig/xend > + > +if test "x$1" = xstart && \ > + test -d /proc/xen && \ > + ! test -d /proc/xen/capabilities && \ > + grep ' xenfs$' /proc/filesystems >/dev/null && \ > + ! grep '^xenfs ' /proc/mounts >/dev/null; > +then > + mount -t xenfs xenfs /proc/xen > +fi > + > +if ! grep -q "control_d" /proc/xen/capabilities ; then > + exit 0 > +fi > + > +do_start () { > + test -z "$XENSTORED_ROOTDIR" || export XENSTORED_ROOTDIR > + [[ "$XENSTORED_TRACE" == @(yes|on|1) ]] && export XENSTORED_TRACE > + xenstore-read -s / >/dev/null 2>&1 || xenstored > + > + test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" > --log=$XENCONSOLED_TRACE" > + xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS > $XENCONSOLED_OPTIONS > +} > +do_stop () { > + if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then > + kill $pid > + while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done > + rm -f $XENCONSOLED_PIDFILE > + fi > +} > + > +case "$1" in > + start) > + do_start > + ;; > + status) > + xenstore-read -s / > + ;; > + stop) > + do_stop > + ;; > + reload) > + echo >&2 'Reload not available; use force-reload'; exit 1 > + ;; > + force-reload|restart) > + do_stop > + do_start > + ;; > + *) > + # do not advertise unreasonable commands that there is no reason > + # to use with this device > + echo $"Usage: $0 {start|stop|status|restart|force-reload}" > + exit 1 > +esac > + > +exit $? > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |