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-changelog

[Xen-changelog] [xen-unstable] this patch adds support for xl in xendoma

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] this patch adds support for xl in xendomains: if `xm list` fails all the
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 24 Jun 2010 14:00:20 -0700
Delivery-date: Thu, 24 Jun 2010 14:02:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Stefano Stabellini <sstabellini@xxxxxxxxxxxxx>
# Date 1277219130 -3600
# Node ID 32e571a3ca312114402529959bfec3917d3094cf
# Parent  fa809ed6f534101158645c3f99be37a121eedb02
this patch adds support for xl in xendomains: if `xm list` fails all the
following commands are issued using xl instead.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 tools/hotplug/Linux/init.d/xendomains |   56 +++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 24 deletions(-)

diff -r fa809ed6f534 -r 32e571a3ca31 tools/hotplug/Linux/init.d/xendomains
--- a/tools/hotplug/Linux/init.d/xendomains     Tue Jun 22 15:39:42 2010 +0100
+++ b/tools/hotplug/Linux/init.d/xendomains     Tue Jun 22 16:05:30 2010 +0100
@@ -28,9 +28,17 @@
 #                    boots / shuts down.
 ### END INIT INFO
 
-if `xm list &> /dev/null`
+CMD=xm
+$CMD list &> /dev/null
+if test $? -ne 0
 then
-       exit 0
+       CMD=xl
+fi
+
+$CMD list &> /dev/null
+if test $? -ne 0
+then
+       exit 0;
 fi
 
 # Correct exit code would probably be 5, but it's enough 
@@ -164,7 +172,7 @@ contains_something()
 # read name from xen config file
 rdname()
 {
-    NM=$(xm create --quiet --dryrun --defconfig "$1" |
+    NM=$($CMD create --quiet --dryrun --defconfig "$1" |
          sed -n 's/^.*(name \(.*\))$/\1/p')
 }
 
@@ -211,7 +219,7 @@ is_running()
                RC=0
                ;;
        esac
-    done < <(xm list -l | grep '(\(domain\|domid\|name\)')
+    done < <($CMD list -l | grep '(\(domain\|domid\|name\)')
     return $RC
 }
 
@@ -235,8 +243,8 @@ start()
                 HEADER=`head -c 16 $dom | head -n 1 2> /dev/null`
                 if [ $HEADER = "LinuxGuestRecord" ]; then
                     echo -n " ${dom##*/}"
-                    XMR=`xm restore $dom 2>&1 1>/dev/null`
-                    #xm restore $dom
+                    XMR=`$CMD restore $dom 2>&1 1>/dev/null`
+                    #$CMD restore $dom
                     if [ $? -ne 0 ]; then
                         echo -e "\nAn error occurred while restoring domain 
${dom##*/}:\n$XMR"
                         rc_failed $?
@@ -271,7 +279,7 @@ start()
            if [ $? -eq 0 ] || is_running $dom; then
                echo -n "(skip)"
            else
-               XMC=`xm create --quiet --defconfig $dom`
+               XMC=`$CMD create --quiet --defconfig $dom`
                if [ $? -ne 0 ]; then
                    echo -e "\nAn error occurred while creating domain 
${dom##*/}: $XMC\n"
                    rc_failed $?
@@ -293,17 +301,17 @@ all_zombies()
        if test "$state" != "-b---d" -a "$state" != "-----d"; then
            return 1;
        fi
-    done < <(xm list -l | grep '(\(domain\|domid\|name\)')
+    done < <($CMD list -l | grep '(\(domain\|domid\|name\)')
     return 0
 }
 
-# Wait for max $XENDOMAINS_STOP_MAXWAIT for xm $1 to finish;
+# Wait for max $XENDOMAINS_STOP_MAXWAIT for $CMD $1 to finish;
 # if it has not exited by that time kill it, so the init script will
 # succeed within a finite amount of time; if $2 is nonnull, it will
 # kill the command as well as soon as no domain (except for zombies)
 # are left (used for shutdown --all). Third parameter, if any, suppresses
 # output of dots per working state (formatting issues)
-watchdog_xm()
+watchdog_xencmd()
 {
     if test -z "$XENDOMAINS_STOP_MAXWAIT" -o "$XENDOMAINS_STOP_MAXWAIT" = "0"; 
then
        exit
@@ -311,8 +319,8 @@ watchdog_xm()
 
     usleep 20000
     for no in `seq 0 $XENDOMAINS_STOP_MAXWAIT`; do
-       # exit if xm save/migrate/shutdown is finished
-       PSAX=`ps axlw | grep "xm $1" | grep -v grep`
+       # exit if $CMD save/migrate/shutdown is finished
+       PSAX=`ps axlw | grep "$CMD $1" | grep -v grep`
        if test -z "$PSAX"; then exit; fi
        if ! test -n "$3"; then echo -n '.'; fi
        sleep 1
@@ -321,7 +329,7 @@ watchdog_xm()
     done
     sleep 1
     read PSF PSUID PSPID PSPPID < <(echo "$PSAX")
-    # kill xm $1
+    # kill $CMD $1
     kill $PSPID >/dev/null 2>&1
     
     echo -e .
@@ -360,7 +368,7 @@ stop()
        if test -n "$XENDOMAINS_SYSRQ"; then
            for sysrq in $XENDOMAINS_SYSRQ; do
                echo -n "(SR-$sysrq)"
-               XMR=`xm sysrq $id $sysrq 2>&1 1>/dev/null`
+               XMR=`$CMD sysrq $id $sysrq 2>&1 1>/dev/null`
                if test $? -ne 0; then
                    echo -e "\nAn error occurred while doing sysrq on 
domain:\n$XMR\n"
                    rc_failed $?
@@ -376,9 +384,9 @@ stop()
        fi
        if test -n "$XENDOMAINS_MIGRATE"; then
            echo -n "(migr)"
-           watchdog_xm migrate &
+           watchdog_xencmd migrate &
            WDOG_PID=$!
-           XMR=`xm migrate $id $XENDOMAINS_MIGRATE 2>&1 1>/dev/null`
+           XMR=`$CMD migrate $id $XENDOMAINS_MIGRATE 2>&1 1>/dev/null`
            if test $? -ne 0; then
                echo -e "\nAn error occurred while migrating domain:\n$XMR\n"
                rc_failed $?
@@ -395,10 +403,10 @@ stop()
        fi
        if test -n "$XENDOMAINS_SAVE"; then
            echo -n "(save)"
-           watchdog_xm save &
+           watchdog_xencmd save &
            WDOG_PID=$!
            mkdir -p "$XENDOMAINS_SAVE"
-           XMR=`xm save $id $XENDOMAINS_SAVE/$name 2>&1 1>/dev/null`
+           XMR=`$CMD save $id $XENDOMAINS_SAVE/$name 2>&1 1>/dev/null`
            if test $? -ne 0; then
                echo -e "\nAn error occurred while saving domain:\n$XMR\n"
                rc_failed $?
@@ -414,9 +422,9 @@ stop()
        if test -n "$XENDOMAINS_SHUTDOWN"; then
            # XENDOMAINS_SHUTDOWN should be "--halt --wait"
            echo -n "(shut)"
-           watchdog_xm shutdown &
+           watchdog_xencmd shutdown &
            WDOG_PID=$!
-           XMR=`xm shutdown $id $XENDOMAINS_SHUTDOWN 2>&1 1>/dev/null`
+           XMR=`$CMD shutdown $id $XENDOMAINS_SHUTDOWN 2>&1 1>/dev/null`
            if test $? -ne 0; then
                echo -e "\nAn error occurred while shutting down 
domain:\n$XMR\n"
                rc_failed $?
@@ -424,7 +432,7 @@ stop()
            fi
            kill $WDOG_PID >/dev/null 2>&1
        fi
-    done < <(xm list -l | grep '(\(domain\|domid\|name\)')
+    done < <($CMD list -l | grep '(\(domain\|domid\|name\)')
 
     # NB. this shuts down ALL Xen domains (politely), not just the ones in
     # AUTODIR/*
@@ -433,9 +441,9 @@ stop()
     if ! all_zombies && test -n "$XENDOMAINS_SHUTDOWN_ALL"; then
        # XENDOMAINS_SHUTDOWN_ALL should be "--all --halt --wait"
        echo -n " SHUTDOWN_ALL "
-       watchdog_xm shutdown 1 false &
+       watchdog_xencmd shutdown 1 false &
        WDOG_PID=$!
-       XMR=`xm shutdown $XENDOMAINS_SHUTDOWN_ALL 2>&1 1>/dev/null`
+       XMR=`$CMD shutdown $XENDOMAINS_SHUTDOWN_ALL 2>&1 1>/dev/null`
        if test $? -ne 0; then
            echo -e "\nAn error occurred while shutting down all domains: 
$XMR\n"
            rc_failed $?
@@ -461,7 +469,7 @@ check_domain_up()
                return 0
                ;;
        esac
-    done < <(xm list -l | grep '(\(domain\|domid\|name\)')
+    done < <($CMD list -l | grep '(\(domain\|domid\|name\)')
     return 1
 }
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] this patch adds support for xl in xendomains: if `xm list` fails all the, Xen patchbot-unstable <=