[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH, 4.0] tools: provide startup script for libxl
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 ? 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |