On Thu, Jun 28, 2007 at 10:04:51AM +0100, Richard W.M. Jones wrote:
Philippe Berthault wrote:
>The documentation of libvirt doesn't indicate which functions are for
>Xen or QEMU or both. The only way to know that, is by searching in
>libvirt sources.
>
>It would be interesting for libvirt users to add in the documentation,
>for each function, a mention such as "QEMU only", "Xen(TM) only",
"QEMU
>and Xen(TM)", etc..
Thanks for looking into this.
>Regards.
>
>
>Libvirt 0.2.3 functions dedicated to QEMU only:
>virConnectListDefinedNetworks
>virConnectListNetworks
>virConnectNumOfDefinedNetworks
>virConnectNumOfNetworks
The above should work on Xen too ...
>virNetworkCreate
>virNetworkCreateXML
>virNetworkDefineXML
>virNetworkDestroy
>virNetworkFree
>virNetworkGetAutostart
>virNetworkGetBridgeName
>virNetworkGetName
>virNetworkGetUUID
>virNetworkGetUUIDString
>virNetworkGetXMLDesc
>virNetworkLookupByName
>virNetworkLookupByUUID
>virNetworkLookupByUUIDString
>virNetworkSetAutostart
>virNetworkUndefine
The network functions currently use the QEMU server. That's a strange
historical artifact that should be removed (or perhaps has been by Dan's
patches - I have yet to check them in detail).
Yes, all of the above are implemented in the qemu_driver.c file, however,
the way the drivers are actived means, that they get enabled for use by
Xen too. The key is that 'libvirtd' needs to be running.
>Libvirt 0.2.3 functions dedicated to Xen(TM) only:
>virConnectGetMaxVcpus
>virConnectGetType
Should both work for QEMU too now.
>virDomainAttachDevice
>virDomainDetachDevice
If QEMU/KVM gets suport for paravirt drivers we can implenent this, but
not at this time.
>virDomainCoreDump
Should implenent for QEMU, though not quite sure how yet
>virDomainGetMaxMemory
Should implement for QEMU
>virDomainGetSchedulerParameters
>virDomainGetSchedulerType
>virDomainPinVcpu
Can definitely implement these for QEMU
>virDomainReboot
Can't implement this until KVM/QEMU gets ACPI S5 support
>virDomainSetMaxMemory
>virDomainSetMemory
Can only implement these for inactive domains, until KVM/QEMU has a memory
balloon driver.
>virDomainSetSchedulerParameters
Can implement this.
>virDomainSetVcpus
Can only implement this for inactive domains
So we can & should implement most of these for QEMU....
It would still be useful to have a chart describing what APIs are implemented
by which driver though & any restrictions the impl may have.
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 -=|