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] Fix xencommons for NetBSD

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Fix xencommons for NetBSD
From: Christoph Egger <Christoph.Egger@xxxxxxx>
Date: Fri, 15 Jul 2011 10:59:29 +0200
Cc: Roger Pau Monné <roger.pau@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 15 Jul 2011 02:07:04 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1310716893.634.552.camel@xxxxxxxxxxxxxxxxxxxxxx>
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>
References: <CAPLaKK7siKth90wyjh465CVnmbDhFMZs3tLe_=fhuOjy2CmANQ@xxxxxxxxxxxxxx> <1310716893.634.552.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; NetBSD amd64; en-US; rv:1.9.2.17) Gecko/20110523 Lightning/1.0b3pre Thunderbird/3.1.10
On 07/15/11 10:01, Ian Campbell wrote:
On Fri, 2011-07-15 at 08:38 +0100, Roger Pau Monné wrote:
# HG changeset patch
# User royger
# Date 1310722656 -7200
# Node ID d3b9e6f9536c84d595276f8c12735736d5593e13
# Parent  8c7e3cfc33b6151fbd4fc6e1aeae132a9b1ccfa5
xencommons NetBSD init script:

In general it is useful if the first line of the commit message
standsalone as a summary, since hg will often display it that way (e.g.
in hg log, on hg web etc).

Clean up of xenstore database on init.
Prevent xenstore from restarting.
Set Domain-0 name on init.

Signed-off-by: Roger Pau Monne<roger.pau@xxxxxxxxxxxxx>

diff -r 8c7e3cfc33b6 -r d3b9e6f9536c tools/hotplug/NetBSD/rc.d/xencommons
--- a/tools/hotplug/NetBSD/rc.d/xencommons      Fri Jul 15 11:29:21 2011 +0200
+++ b/tools/hotplug/NetBSD/rc.d/xencommons      Fri Jul 15 11:37:36 2011 +0200
@@ -23,6 +23,9 @@
  XENSTORED_PIDFILE="/var/run/xenstored.pid"
  XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid"
  XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid"
+#XENBACKENDD_DEBUG=1
+#XENCONSOLED_TRACE=1
+#XENSTORED_TRACE="/var/log/xen/xenconsole-trace.log"

  xen_precmd()
  {
@@ -33,15 +36,24 @@

  xen_startcmd()
  {
-       printf "Starting xenservices: xenstored, xenconsoled, xenbackendd.\n"
-       XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}"
-       if [ -n "${XENSTORED_TRACE}" ]; then
-               XENSTORED_ARGS="${XENSTORED_ARGS} -T 
/var/log/xen/xenstored-trace.log"
+       xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored)
+       if test -z $xenstored_pid; then
+               printf "Cleaning xenstore database.\n"
+               if [ -n "${XENSTORED_ROOTDIR}" ]; then
+                       XENSTORED_ROOTDIR="/var/lib/xenstored"
+               fi
+               rm -f ${XENSTORED_ROOTDIR}/tdb*&>/dev/null
+               printf "Starting xenservices: xenstored, xenconsoled, 
xenbackendd.\n"
+               XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}"
+               if [ -n "${XENSTORED_TRACE}" ]; then
+                       XENSTORED_ARGS="${XENSTORED_ARGS} -T 
/var/log/xen/xenstored-trace.log"
+               fi
+               ${SBINDIR}/xenstored ${XENSTORED_ARGS}
+               sleep 5

sleep 5 seems a bit drastic. Perhaps steal the checking loop from the Linux 
xencommons?

I think, the sleep 5 can be reduced to sleep 2 since xenstored launches much faster when there is no xenstored database to check.
The sleep is there to delay the next start up script which starts xend.
And starting xend fails when xenstored isn't ready before.

Christoph


+       else
+               printf "Starting xenservices: xenconsoled, xenbackendd.\n"
        fi

-       ${SBINDIR}/xenstored ${XENSTORED_ARGS}
-       sleep 5
-
        XENCONSOLED_ARGS=""
        if [ -n "${XENCONSOLED_TRACE}" ]; then
                XENCONSOLED_ARGS="${XENCONSOLED_ARGS} 
--log=${XENCONSOLED_TRACE}"
@@ -55,24 +67,24 @@
        fi

        ${SBINDIR}/xenbackendd ${XENBACKENDD_ARGS}
+
+       printf "Setting domain 0 name.\n"
+       ${BINDIR}/xenstore-write "/local/domain/0/name" "Domain-0"
  }

  xen_stop()
  {
        pids=""
-       printf "Stopping xencommons"
+       printf "Stopping xencommons.\n"
+       printf "WARNING: Not stopping xenstored, as it cannot be restarted.\n"

        rc_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd)
        pids="$pids $rc_pid"
        rc_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled)
        pids="$pids $rc_pid"
-       rc_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored)
-       pids="$pids $rc_pid"

        kill -${sig_stop:-TERM} $pids
        wait_for_pids $pids
-
-       printf ".\n"
  }

  xen_status()


--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel