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

[Xen-devel] Re: [PATCH] Expand non absolute paths in domain config to xe

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Re: [PATCH] Expand non absolute paths in domain config to xen dir
From: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue, 03 Oct 2006 15:10:52 -0500
Delivery-date: Tue, 03 Oct 2006 13:14:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20061003195814.GA2119@xxxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20061003195814.GA2119@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.7 (X11/20060918)
Bastian Blank wrote:
Hi folks

The attached patch changes the behaviour of xm create to expand the
values of kernel, ramdisk and device_model with the correct path within
the xen dir if relative, like /usr/lib/xen/boot and /usr/lib/xen/bin.

The old behaviour was unreliable as it used the working dir.

Why does that make it unreliable?

This patch will break a large number of existing configs that rely on relative path being the CWD.

I frequently make use of this behavior.

Regards,

Anthony Liguori


This change makes it possible to use only relative paths for supplied
parts like hvmloader and qemu-dm and don't rely on a known location.

Bastian



------------------------------------------------------------------------

diff -r 38f9bd7a4ce6 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Tue Oct 03 11:39:22 2006 +0100
+++ b/tools/python/xen/xm/create.py     Tue Oct 03 19:45:29 2006 +0000
@@ -460,6 +460,14 @@ def strip(pre, s):
     else:
         return s
+def abspath(file, dir):
+    if file[0] == '/':
+        return file
+
+    import xen.util.auxbin
+    path = xen.util.auxbin.libpath()
+    return os.path.join(path, dir, file)
+
 def configure_image(vals):
     """Create the image config.
     """
@@ -467,9 +475,9 @@ def configure_image(vals):
         return None
     config_image = [ vals.builder ]
     if vals.kernel:
-        config_image.append([ 'kernel', os.path.abspath(vals.kernel) ])
+        config_image.append([ 'kernel', abspath(vals.kernel, 'boot') ])
     if vals.ramdisk:
-        config_image.append([ 'ramdisk', os.path.abspath(vals.ramdisk) ])
+        config_image.append([ 'ramdisk', abspath(vals.ramdisk, 'boot') ])
     if vals.cmdline_ip:
         cmdline_ip = strip('ip=', vals.cmdline_ip)
         config_image.append(['ip', cmdline_ip])
@@ -631,13 +639,15 @@ def configure_hvm(config_image, vals):
 def configure_hvm(config_image, vals):
     """Create the config for HVM devices.
     """
-    args = [ 'device_model', 'pae', 'vcpus', 'boot', 'fda', 'fdb',
+    args = [ 'pae', 'vcpus', 'boot', 'fda', 'fdb',
              'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
              'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'sdl', 'display',
              'acpi', 'apic', 'xauthority', 'usb', 'usbdevice' ]
     for a in args:
         if (vals.__dict__[a]):
             config_image.append([a, vals.__dict__[a]])
+    if vals.device_model:
+        config_image.append([ 'device_model', abspath(vals.device_model, 
'bin') ])
def run_bootloader(vals, config_image):
     if not os.access(vals.bootloader, os.X_OK):


------------------------------------------------------------------------

_______________________________________________
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

<Prev in Thread] Current Thread [Next in Thread>