[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [libvirt] [PATCH] libxl: allow an <emulator> to be selected in the domain config XML



On 31.05.2013 12:55, Ian Campbell wrote:
> On Fri, 2013-05-31 at 12:46 +0200, Marek Marczykowski wrote:
>> On 31.05.2013 10:25, Ian Campbell wrote:
>>> On Thu, 2013-05-30 at 11:53 -0600, Jim Fehlig wrote:
>>>> Marek Marczykowski wrote:
>>>>> On 01.05.2013 16:11, Daniel P. Berrange wrote:
>>>>>   
>>>>>> On Wed, May 01, 2013 at 02:44:11PM +0100, David Scott wrote:
>>>>>>     
>>>>>>> On 01/05/13 09:46, Ian Campbell wrote:
>>>>>>>       
>>>>>>>> I would suggest that libvirt+libxl expose the version as the "emulator"
>>>>>>>> option and not the path. Just leave the path as the default in the
>>>>>>>> normal case. You may also want to provide an extra
>>>>>>>> emulator-path-override tag/attribute/XML for advanced users, but that's
>>>>>>>> up to you.
>>>>>>>>
>>>>>>>> If you need to support upgrade from xend then you could perhaps treat
>>>>>>>> <emulator> values not in the set of valid LIBXL_DEVICE_MODEL_VERSION
>>>>>>>> string (currently "qemu-xen" and "qemu-xen-traditional") as a path to a
>>>>>>>> qemu-xen-traditional device model -- no xend user can possibly have 
>>>>>>>> been
>>>>>>>> using the new device model with xend. Or you could take the approach
>>>>>>>> that xl does and just warn.
>>>>>>>>         
>>>>>>> This would work for me: it doesn't seem too bad to consider
>>>>>>> "qemu-xen" and "qemu-xen-traditional" as special virtual paths. It's
>>>>>>> a useful observation that xend never supported the new device model.
>>>>>>> Jim: should I cook up patch v3? :-)
>>>>>>>       
>>>>>> No, that really doesn't fly. The <emlator> element must always point
>>>>>> to a qualfied binary path.
>>>>>>
>>>>>> IMHO, libvirt should just default to the new QEMU binary and if people
>>>>>> want to use the old one, they can configure the emulator path for it.
>>>>>>     
>>>>>
>>>>> What about stubdom? Any idea how to do it better than special paths? Even 
>>>>> if
>>>>> given path will point to stubdom binary, I don't know how libvirt shoud
>>>>> distinguish it from standalone qemu and set 
>>>>> b_info->device_model_stubdomain
>>>>> accordingly.
>>>>>   
>>>>
>>>> As mentioned in my reply to your stubdom patch, this should be handled
>>>> in libxl IMO.
>>>
>>> The default is handled in libxl, so you don't need to do anything if you
>>> don't want to. It's up to you if you want to provide an override
>>> facility in libvirt. Personally I'd do it with a specific XML
>>> property/key/whatever rather than magic emulator paths...
>>
>> Optional attribute for <emulator> tag? Maybe sth like:
>> <emulator type="stubdom">/usr/lib/xen/boot/ioemu-stubdom.gz</emulator>
>> ?
> 
> FWIW the path can be omitted and libxl will DTRT.

Indeed. It looks like libxl even doesn't allow custom stubdom path - always
uses hardcoded default. libxl_dm.c:
    stubdom_state->pv_kernel.path
        = libxl__abs_path(gc, "ioemu-stubdom.gz", libxl__xenfirmwaredir_path());
    stubdom_state->pv_cmdline = libxl__sprintf(gc, " -d %d", guest_domid);
    stubdom_state->pv_ramdisk.path = "";


IMO it is much more useful to specify device model type (qemu upstream, qemu
traditional, qemu traditional in stubdom) than explicit qemu path, but libvirt
config syntax currently allow only the later one.

-- 
Best Regards,
Marek Marczykowski
Invisible Things Lab

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.