[Libvir] [PATCH][RFC] libvirt ldoms support
Eunice Moon
Eunice.Moon at Sun.COM
Thu Apr 10 18:46:58 UTC 2008
Hi Daniel,
Yes, thanks for the feedback and we are agreeing on the
code changes to be done. I also agree that there is a big issue
regarding different XML formats.
I don't think the first option (to change the LDoms Manager XML
format to be based on the libvirt XML format) is a feasible one
since LDoms has been released public and some tools/applications
are already based on the LDom Manager's XML interfaces.
So, it seems like we need to go for the second option (to provide
a conversion layer between the LDoms Manager and libvirt XML
formats) that would require some research and scoping.
Thanks,
Eunice
Daniel Veillard wrote:
> On Wed, Apr 09, 2008 at 08:52:44PM -0500, Eunice Moon wrote:
>> Hi Daniel,
>>
>> Thanks for your comments. Please see my responses inline below.
>
> Hi Eunice,
>
> it seems we are basically agreeing on the needed code change, which is
> great ... but there is one big problem remaining:
>
> Example of domain definition data:
>
>> <?xml version="1.0"?>
>> <LDM_interface version="1.0">
>> <data version="2.0">
>> <ldom>
>> <ldom_info>
>> <ldom_name>primary</ldom_name>
>> <mac_address>00:14:4f:02:7d:c6</mac_address>
>> </ldom_info>
>> <cpu>
>> <number>10</number>
>> </cpu>
>> <mau>
>> <number>3</number>
>> </mau>
>> <memory>
>> <size>1920M</size>
>> </memory>
>> <physio_device>
>> <name>pci at 780</name>
>> </physio_device>
>> <physio_device>
>> <name>pci at 7c0</name>
>> </physio_device>
>> <vsw>
>> <service_name>primary-vsw0</service_name>
>> <dev_path>e1000g0</dev_path>
>> </vsw>
>> <vcc>
>> <service_name>primary-vcc0</service_name>
>> <min_port>5000</min_port>
>> <max_port>5033</max_port>
>> </vcc>
>> <var>
>> <name>boot-device</name>
>> <value>/pci at 7c0/pci at 0/pci at 1/pci at 0,2/LSILogic,sas at 2/disk at 0,0:a disk net</value>
>> </var>
>> <var>
>> <name>nvramrc</name>
>> <value>devalias disk /pci at 7c0/pci at 0/pci at 1/pci at 0,2/LSILogic,sas at 2/disk at 0
>> </value>
>> </var>
>> <var>
>> <name>use-nvramrc?</name>
>> <value>true</value>
>> </var>
>> </ldom>
>> </data>
>> </LDM_interface>
>
> From what i understand this correspond to what you would suggest libvirt
> lDOM domain to use, both as input when creating or defining a process or
> when dumping the XML of a domain via 'virsh dumpxml domainame'
>
> In a sense the XML format is also part of libvirt API and your data
> is completely different from what libvirt uses for all other hypervisors:
> http://libvirt.org/format.html#Normal1
>
> I understand that your format correspond to what the virtualization
> manager exports as no transformation of the data is done at the libvirt
> lDOM patches level.
>
> So basically as is we are in a situation where no existing tool based on
> libvirt (like virt-manager or ovirt) can be ported to a future libvirt
> for lDOM without completely changing the XML handling code. That would
> seriously diminish the value of the lDOM libvirt port, isn't it ?
>
> One option is to adapt the virtualization manager to use an XML
> format which is based on libvirt existing format, I don't know if this
> is possible. One problem to consider is whether the existing format is
> 'public' or just internal to the existing tools.
>
> The other option I can see is to provide a conversion layer, either in
> libvirt or in the manager to allow the processing of domain descriptions
> based on the libvirt public format. I even thing the code could detect
> the kind of format near trivially (for example by checking the name of
> the root element when receiving XML, and by using a compatibility flag
> when extracting XML with virDomainGetXMLDesc).
> I'm not sure i would be able to trivially map your existing format to
> a libvirt one, because i don't understand what some of the fields are for
> and the way you name devices are a bit strange to me, but i'm sure it can
> be solved. it will just take some work,
>
> what do you think ?
>
> Daniel
>
More information about the libvir-list
mailing list