|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH, v2, 4.0] tools: provide startup script for libxl
On Mon, 2011-03-07 at 16:21 +0000, Ian Jackson wrote:
> In Xen 4.0 there is no /etc/init.d/xencommons. 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 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[1], as a new "xencommons" script. The user will still have
> to add appropriate rc links, and only a script for Linux is provided.
>
> We do not want to backport the refactoring of /etc/init.d/xend, so
> xend users should not enable this script.
>
> [1] Copied from osstest.git#78c59993ab536b8c39c5a00a xenlightdaemons.
>
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Looks good, thanks.
Acked-by: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
>
> 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
> +XENCOMMONS_INITD = init.d/xencommons
> 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) $(XENCOMMONS_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/xencommons
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/hotplug/Linux/init.d/xencommons Thu Feb 03 11:49:09 2011 +0000
> @@ -0,0 +1,81 @@
> +#!/bin/bash
> +#
> +# xencommons 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
|
|
|
|
|