[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] init script v2
Hgignore is filtering new files in tools/hotplug/Linux/init.d/ and so we may be missing a few files from the repo... I'm not sure why the ^.*\.d$ wildcard in .hgignore is triggering on an intermediate directory name. Will have to investigate. -- Keir On 07/06/2010 16:49, "Dulloor" <dulloor@xxxxxxxxx> wrote: > I pulled the latest tip (from staging) and I get this error in compiling tools > : > ../../../tools/cross-install -m0755 -p init.d/xencommons //etc/init.d > install: cannot stat `init.d/xencommons': No such file or directory > make[5]: *** [install-initd] Error 1 > > I can't find xencommons in the repo. Is this patch applied correctly ? > > -dulloor > > On Mon, Jun 7, 2010 at 5:03 AM, Stefano Stabellini > <stefano.stabellini@xxxxxxxxxxxxx> wrote: >> Hi all, >> second version of the init scripts for xl: now the init script is called >> xencommons and, as the name suggests, it is a common script between xl >> and xend because it is used to start xenconsoled, xenstored and >> xenbackendd and the initialization of these three daemons has been removed >> from xend. >> The global xen_toolstack=xl/xend variable has been removed. >> Regarding the network setup, I made the vif scripts follow the same >> pattern as the other scripts in xen-backend: a new script called >> vif-setup is executed unconditionally. vif-setup is going to do the >> right thing depending on the value of the environmental variable >> "script" (same technique used before), defaulting to vif-bridge. >> In the common scenario the toolstack doesn't need to set the variable >> "script" >> because vif-bridge is going to be called anyway. >> There is no global network script to setup the network bridges with xl, so if >> you are using xl without xend, you need to manually configure the bridges >> using >> your distro network setup, or, if you are lazy, you can just add something >> like: >> >> /etc/xen/scripts/network-bridge start >> >> to your rc.local. >> >> >> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> >> >> --- >> >> diff -r c514d69c71d8 tools/hotplug/Linux/Makefile >> --- a/tools/hotplug/Linux/Makefile Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/hotplug/Linux/Makefile Mon Jun 07 12:46:52 2010 +0100 >> @@ -3,15 +3,18 @@ >> >> # Init scripts. >> XEND_INITD = init.d/xend >> -XEND_SYSCONFIG = init.d/sysconfig.xend >> XENDOMAINS_INITD = init.d/xendomains >> XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains >> >> +XENCOMMONS_INITD = init.d/xencommons >> +XENCOMMONS_SYSCONFIG = init.d/sysconfig.xencommons >> + >> # Xen script dir and scripts to go there. >> XEN_SCRIPTS = network-bridge vif-bridge >> XEN_SCRIPTS += network-route vif-route >> XEN_SCRIPTS += network-nat vif-nat >> XEN_SCRIPTS += vif2 >> +XEN_SCRIPTS += vif-setup >> XEN_SCRIPTS += block >> XEN_SCRIPTS += block-enbd block-nbd >> XEN_SCRIPTS += blktap >> @@ -64,9 +67,10 @@ >> [ -d $(DESTDIR)$(CONFIG_DIR)/init.d ] || $(INSTALL_DIR) >> $(DESTDIR)$(CONFIG_DIR)/init.d >> [ -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) $(XENDOMAINS_INITD) $(DESTDIR)$(CONFIG_DIR)/init.d >> $(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) >> $(DESTDIR)$(CONFIG_DIR)/sysconfig/xendomains >> + $(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(CONFIG_DIR)/init.d >> + $(INSTALL_PROG) $(XENCOMMONS_SYSCONFIG) >> $(DESTDIR)$(CONFIG_DIR)/sysconfig/xencommons >> >> .PHONY: install-scripts >> install-scripts: >> diff -r c514d69c71d8 tools/hotplug/Linux/init.d/sysconfig.xencommons >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons Mon Jun 07 12:46:52 >> 2010 +0100 >> @@ -0,0 +1,11 @@ >> +# Log xenconsoled messages (cf xl dmesg) >> +#XENCONSOLED_TRACE=[none|guest|hv|all] >> + >> +# Log xenstored messages >> +#XENSTORED_TRACE=[yes|on|1] >> + >> +# Running xenstored on XENSTORED_ROOTDIR >> +#XENSTORED_ROOTDIR=/var/lib/xenstored >> + >> +# Running xenbackendd in debug mode >> +#XENBACKENDD_DEBUG=[yes|on|1] >> diff -r c514d69c71d8 tools/hotplug/Linux/init.d/sysconfig.xend >> --- a/tools/hotplug/Linux/init.d/sysconfig.xend Fri Jun 04 11:39:06 2010 >> +0100 >> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 >> @@ -1,11 +0,0 @@ >> -# Log xenconsoled messages (cf xm dmesg) >> -#XENCONSOLED_TRACE=[none|guest|hv|all] >> - >> -# Log xenstored messages >> -#XENSTORED_TRACE=[yes|on|1] >> - >> -# Running xenstored on XENSTORED_ROOTDIR >> -#XENSTORED_ROOTDIR=/var/lib/xenstored >> - >> -# Running xenbackendd in debug mode >> -#XENBACKENDD_DEBUG=[yes|on|1] >> diff -r c514d69c71d8 tools/hotplug/Linux/init.d/xencommons >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/tools/hotplug/Linux/init.d/xencommons Mon Jun 07 12:46:52 2010 >> +0100 >> @@ -0,0 +1,87 @@ >> +#!/bin/bash >> +# >> +# xencommons Script to start and stop xenstored and xenconsoled >> +# >> +# Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> >> +# >> +# chkconfig: 2345 >> +# description: Starts and stops xenstored and xenconsoled >> +### 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/xend >> +### END INIT INFO >> + >> +test -f /etc/sysconfig/xencommons && . /etc/sysconfig/xencommons >> + >> +XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid >> +shopt -s extglob >> + >> +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 () { >> + if ! `xenstore-read -s / >/dev/null 2>&1` >> + then >> + test -z "$XENSTORED_ROOTDIR" || >> XENSTORED_ROOTDIR="/var/lib/xenstored" >> + rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null >> + test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T >> /var/log/xen/xenstored-trace.log" >> + xenstored --pid-file=/var/run/xenstore.pid $XENSTORED_ARGS >> + xenstore-write "/local/domain/0/name" "Domain-0" >> + fi >> + >> + test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" -T >> /var/log/xen/xenstored-trace.log" >> + xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS >> + test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d" >> + test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS >> +} >> +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 $? >> diff -r c514d69c71d8 tools/hotplug/Linux/init.d/xend >> --- a/tools/hotplug/Linux/init.d/xend Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/hotplug/Linux/init.d/xend Mon Jun 07 12:46:52 2010 +0100 >> @@ -20,20 +20,6 @@ >> ### END INIT INFO >> >> 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 -qs "control_d" /proc/xen/capabilities ; then >> - exit 0 >> -fi >> >> # Wait for Xend to be up >> function await_daemons_up >> @@ -53,10 +39,6 @@ >> start) >> mkdir -p /var/lock/subsys >> touch /var/lock/subsys/xend >> - test -z "$XENSTORED_ROOTDIR" || export XENSTORED_ROOTDIR >> - test -z "$XENCONSOLED_TRACE" || export XENCONSOLED_TRACE >> - [[ "$XENSTORED_TRACE" == @(yes|on|1) ]] && export XENSTORED_TRACE >> - [[ "$XENBACKENDD_DEBUG" == @(yes|on|1) ]] && export XENBACKENDD_DEBUG >> xend start >> await_daemons_up >> ;; >> diff -r c514d69c71d8 tools/hotplug/Linux/init.d/xendomains >> --- a/tools/hotplug/Linux/init.d/xendomains Fri Jun 04 11:39:06 2010 >> +0100 >> +++ b/tools/hotplug/Linux/init.d/xendomains Mon Jun 07 12:46:52 2010 >> +0100 >> @@ -28,6 +28,11 @@ >> # boots / shuts down. >> ### END INIT INFO >> >> +if ! `xm list &> /dev/null` >> +then >> + exit 0 >> +fi >> + >> # Correct exit code would probably be 5, but it's enough >> # if xend complains if we're not running as privileged domain >> if ! [ -e /proc/xen/privcmd ]; then >> diff -r c514d69c71d8 tools/hotplug/Linux/vif-setup >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/tools/hotplug/Linux/vif-setup Mon Jun 07 12:46:52 2010 +0100 >> @@ -0,0 +1,9 @@ >> +#!/bin/bash >> + >> +if test "$script" >> +then >> + exec "$script" $* >> +else >> + exec /etc/xen/scripts/vif-bridge $* >> +fi >> + >> diff -r c514d69c71d8 tools/hotplug/Linux/xen-backend.rules >> --- a/tools/hotplug/Linux/xen-backend.rules Fri Jun 04 11:39:06 2010 >> +0100 >> +++ b/tools/hotplug/Linux/xen-backend.rules Mon Jun 07 12:46:52 2010 >> +0100 >> @@ -2,8 +2,8 @@ >> SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block >> $env{ACTION}" >> SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm >> $env{ACTION}" >> SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="/etc/xen/scripts/vif2 >> $env{ACTION}" >> -SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", >> RUN+="$env{script} online" >> -SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", >> RUN+="$env{script} offline" >> +SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="online", >> RUN+="/etc/xen/scripts/vif-setup online" >> +SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ACTION=="offline", >> RUN+="/etc/xen/scripts/vif-setup offline" >> SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi >> $env{ACTION}" >> SUBSYSTEM=="xen-backend", ACTION=="remove", >> RUN+="/etc/xen/scripts/xen-hotplug-cleanup" >> KERNEL=="evtchn", NAME="xen/%k" >> diff -r c514d69c71d8 tools/libxl/libxl.h >> --- a/tools/libxl/libxl.h Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/libxl/libxl.h Mon Jun 07 12:46:52 2010 +0100 >> @@ -538,5 +538,17 @@ >> uint32_t set); >> int libxl_tmem_shared_auth(struct libxl_ctx *ctx, uint32_t domid, char* >> uuid, >> int auth); >> + >> +/* common paths */ >> +const char *libxl_sbindir_path(void); >> +const char *libxl_bindir_path(void); >> +const char *libxl_libexec_path(void); >> +const char *libxl_libdir_path(void); >> +const char *libxl_sharedir_path(void); >> +const char *libxl_private_bindir_path(void); >> +const char *libxl_xenfirmwaredir_path(void); >> +const char *libxl_xen_config_dir_path(void); >> +const char *libxl_xen_script_dir_path(void); >> + >> #endif /* LIBXL_H */ >> >> diff -r c514d69c71d8 tools/libxl/libxl_internal.h >> --- a/tools/libxl/libxl_internal.h Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/libxl/libxl_internal.h Mon Jun 07 12:46:52 2010 +0100 >> @@ -215,17 +215,6 @@ >> >> char *libxl_abs_path(struct libxl_ctx *ctx, char *s, const char *path); >> >> -/* libxl_paths.c */ >> -const char *libxl_sbindir_path(void); >> -const char *libxl_bindir_path(void); >> -const char *libxl_libexec_path(void); >> -const char *libxl_libdir_path(void); >> -const char *libxl_sharedir_path(void); >> -const char *libxl_private_bindir_path(void); >> -const char *libxl_xenfirmwaredir_path(void); >> -const char *libxl_xen_config_dir_path(void); >> -const char *libxl_xen_script_dir_path(void); >> - >> #define XL_LOG_DEBUG XTL_DEBUG >> #define XL_LOG_INFO XTL_INFO >> #define XL_LOG_WARNING XTL_WARN >> diff -r c514d69c71d8 tools/libxl/xl_cmdimpl.c >> --- a/tools/libxl/xl_cmdimpl.c Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/libxl/xl_cmdimpl.c Mon Jun 07 12:46:52 2010 +0100 >> @@ -42,6 +42,25 @@ >> >> #define UUID_FMT >> "%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx >> %02hhx%02hhx%02hhx%02hhx" >> >> +#define CHK_ERRNO( call ) ({ \ >> + int chk_errno = (call); \ >> + if (chk_errno < 0) { >> \ >> + fprintf(stderr,"xl: fatal error: %s:%d: %s: %s\n", \ >> + __FILE__,__LINE__, strerror(chk_errno), #call); \ >> + exit(-ERROR_FAIL); \ >> + } \ >> + }) >> + >> +#define MUST( call ) ({ \ >> + int must_rc = (call); \ >> + if (must_rc < 0) { >> \ >> + fprintf(stderr,"xl: fatal error: %s:%d, rc=%d: %s\n", \ >> + __FILE__,__LINE__, must_rc, #call); \ >> + exit(-must_rc); \ >> + } \ >> + }) >> + >> + >> int logfile = 2; >> >> /* every libxl action in xl uses this same libxl context */ >> @@ -240,7 +259,8 @@ >> nic_info->mac[5] = 1 + (int) (0xff * (rand() / (RAND_MAX + 1.0))); >> nic_info->ifname = NULL; >> nic_info->bridge = "xenbr0"; >> - nic_info->script = "/etc/xen/scripts/vif-bridge"; >> + CHK_ERRNO( asprintf(&nic_info->script, "%s/vif-bridge", >> + libxl_xen_script_dir_path()) ); >> nic_info->nictype = NICTYPE_IOEMU; >> } >> >> @@ -791,24 +811,6 @@ >> xlu_cfg_destroy(config); >> } >> >> -#define CHK_ERRNO( call ) ({ \ >> - int chk_errno = (call); \ >> - if (chk_errno) { \ >> - fprintf(stderr,"xl: fatal error: %s:%d: %s: %s\n", \ >> - __FILE__,__LINE__, strerror(chk_errno), #call); \ >> - exit(-ERROR_FAIL); \ >> - } \ >> - }) >> - >> -#define MUST( call ) ({ \ >> - int must_rc = (call); \ >> - if (must_rc) { \ >> - fprintf(stderr,"xl: fatal error: %s:%d, rc=%d: %s\n", \ >> - __FILE__,__LINE__, must_rc, #call); \ >> - exit(-must_rc); \ >> - } \ >> - }) >> - >> static void *xmalloc(size_t sz) { >> void *r; >> r = malloc(sz); >> diff -r c514d69c71d8 tools/misc/xend >> --- a/tools/misc/xend Fri Jun 04 11:39:06 2010 +0100 >> +++ b/tools/misc/xend Mon Jun 07 12:46:52 2010 +0100 >> @@ -73,48 +73,9 @@ >> if os.fork() == 0: >> os.execvp(daemon, (daemon,) + args) >> >> -def start_xenstored(): >> - pidfname = "/var/run/xenstore.pid" >> - try: >> - f = open(pidfname, "a") >> - try: >> - fcntl.lockf(f, fcntl.LOCK_EX | fcntl.LOCK_NB) >> - rootdir = os.getenv("XENSTORED_ROOTDIR") or "/var/lib/xenstored" >> - for i in glob.glob(rootdir + "/tdb*"): >> - try: >> - os.unlink(i) >> - except: >> - pass >> - os.unlink(pidfname) >> - except: >> - pass >> - f.close() >> - except: >> - pass >> - XENSTORED_TRACE = os.getenv("XENSTORED_TRACE") >> - cmd = "xenstored --pid-file /var/run/xenstore.pid" >> - if XENSTORED_TRACE: >> - cmd += " -T /var/log/xen/xenstored-trace.log" >> - s,o = commands.getstatusoutput(cmd) >> - >> -def start_consoled(): >> - XENCONSOLED_TRACE = os.getenv("XENCONSOLED_TRACE") >> - args = "" >> - if XENCONSOLED_TRACE: >> - args += "--log=" + XENCONSOLED_TRACE >> - start_daemon("xenconsoled", args) >> - >> def start_blktapctrl(): >> start_daemon("blktapctrl", "") >> >> -def start_xenbackendd(): >> - XENBACKENDD_DEBUG = os.getenv("XENBACKENDD_DEBUG") >> - args = "" >> - if XENBACKENDD_DEBUG: >> - args += "-d" >> - if os.uname()[0] == 'NetBSD': >> - start_daemon("xenbackendd", args) >> - >> def main(): >> try: >> check_logging() >> @@ -127,15 +88,9 @@ >> print 'usage: %s {start|stop|reload|restart}' % sys.argv[0] >> elif sys.argv[1] == 'start': >> if os.uname()[0] != "SunOS": >> - start_xenstored() >> - start_consoled() >> - start_xenbackendd() >> start_blktapctrl() >> return daemon.start() >> elif sys.argv[1] == 'trace_start': >> - start_xenstored() >> - start_consoled() >> - start_xenbackendd() >> start_blktapctrl() >> return daemon.start(trace=1) >> elif sys.argv[1] == 'stop': >> @@ -143,9 +98,6 @@ >> elif sys.argv[1] == 'reload': >> return daemon.reloadConfig() >> elif sys.argv[1] == 'restart': >> - start_xenstored() >> - start_consoled() >> - start_xenbackendd() >> start_blktapctrl() >> return daemon.stop() or daemon.start() >> elif sys.argv[1] == 'status': >> >> _______________________________________________ >> 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |