WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH, 4.0] tools: provide startup script for libxl

To: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH, 4.0] tools: provide startup script for libxl
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Thu, 3 Mar 2011 17:13:52 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxx>
Delivery-date: Thu, 03 Mar 2011 09:21:18 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <19823.51812.516191.40952@xxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <19786.38523.575486.560732@xxxxxxxxxxxxxxxxxxxxxxxx> <19823.51812.516191.40952@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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