On Thu, Nov 09, 2006 at 07:22:40PM +0000, John Levon wrote:
>
> # HG changeset patch
> # User john.levon@xxxxxxx
> # Date 1163095800 28800
> # Node ID 0da173ee886e13bd4116c7d085cd4a4704ffe279
> # Parent 7c80aaffe16f5e4037d10660d262ed7b22894b01
> Split out bootloader-derived parameters separately from config-file-specified
> ones. This allows a config file to still specify kernel/ramdisk, even if a
> bootloader is being used.
I'm not sure this is a good idea - its essentially completely inverting
the current semantics for bootloader/kernel params in the config files.
Currently a 'kernel' parameter will always override a 'bootloader' param,
but with this change a 'bootloader' param will always override a 'kernel'
param. I can see that both approaches have their merits, I don't think
we can ever pick one prioritization rule which satisfies everyone here
and thus for sake of compatability we should keep the current semantics
for kernel/booloader prioritization in the configs.
> diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
> --- a/tools/python/xen/xend/image.py
> +++ b/tools/python/xen/xend/image.py
> @@ -70,7 +70,9 @@ class ImageHandler:
> self.vm = vm
>
> self.kernel = None
> + self.boot_kernel = None
> self.ramdisk = None
> + self.boot_ramdisk = None
> self.cmdline = None
>
> self.configure(imageConfig, deviceConfig)
> @@ -82,6 +84,14 @@ class ImageHandler:
> return sxp.child_value(imageConfig, name, default)
>
> self.kernel = get_cfg("kernel")
> + self.ramdisk = get_cfg("ramdisk", '')
> + self.boot_kernel = get_cfg("boot_kernel")
> + if not self.boot_kernel:
> + self.boot_kernel = self.kernel
> + self.boot_ramdisk = get_cfg("boot_ramdisk")
> + if not self.boot_ramdisk:
> + self.boot_ramdisk = self.ramdisk
> +
This is also changing the semantics of the SEXPR exposed by XenD - previously
the ('vmlinux') and ('initrd') parameters would refer to the live kernel
in the guest, but now you'd have to look at the boot_XXX variants instead.
If we did want to change the prioritzation such that bootloader overrides
any explicit kernel/initrd, then I think we should just have the values
from bootloader directly overwrite the existing named SXPR fields rather
than adding new boot_XX fields.
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|