[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] libxl drivers for libvirt?
George Dunlap wrote: > Hey Jim, > > I was wondering if you or someone on your team could give me an idea > what the status of libxl support is in libvirt, particularly wrt > various releases? > > I'm asking because I'm going to UDS next week to talk about the 13.04 > release, and it would be good to get Xen 4.2 in; but that in part > depends on whether there will be libvirt support for 4.2 in whatever > version of libvirt they ship as well. I know Dario has been facing > the same kind of questions for Fedora 18. > > It appears that libvirt 0.10.2 has limited support for the 4.1 libxl > driver; but: > * This doesn't include some core features, like live migration Right. Chunyan has some patches to implement migration against 4.1 libxl, but IIRC she is still investigating a bug. Chunyan, can you give George an update on your libvirt libxl migration patches? > * It won't compile against 4.2's libxl Right again. Ondrej has been looking into this. Ondrej, do you have any status to report? Any questions for the Xen folks wrt 4.1 vs 4.2 libxl? > Is that right? > > So I guess it would be nice to know: > * What kind of Xen support is available in the most recent release > (0.10.2, I believe), both xend and libxl I've provided a table below that lists all of the libvirt hypervisor driver functions and their implementation status for qemu/kvm, legacy xen, and libxl drivers. > * What kind of Xen support for libxl is in the libvirt development > branch, and do you have an idea when full support for 4.2 (at least, > including migration, suspend/resume, &c) might be available? Nothing has changed in git master over what is available in 0.10.2, but we are now starting to pick up this work. Our priorities are to first get the libxl driver compiling against 4.2 and all of the existing functionality that works with 4.1 working with 4.2, followed by closing the feature gap with the legacy xen driver, and finally closing the feature gap with the qemu driver where it makes sense. This is obviously quite a bit of work and any help would be appreciated :). BTW, we don't have any motivation to add features to the 4.1 version of the libvirt libxl driver. Bamvor recently sent a patchset to add finer-grained locking to the libxl driver, but this code is independent of underlying libxl version IMO https://www.redhat.com/archives/libvir-list/2012-October/msg00503.html > * Whether it would be easy for distros to backport 4.2 libxl support > to whatever their release is? Until we have patches to make the driver work with 4.2 libxl, I can't speculate on the effort to backport to previous libvirt releases. Regards, Jim > That would help us better advise distros whether to: > * Stick with Xen 4.1 for the next release > * Go with Xen 4.2 but suggest continuing to use xend if libvirt > support is wanted > * Go with Xen 4.2 and backport patches to make libvirt work with libxl > * Go with Xen 4.2 and expect that libxl support will show up without > too much effort > > Obviously change is the only constant, so you can't predict with > perfect certainty; but if we have an idea what's most likely, we can > plan on that and then adjust based on what actually happens. > > Thanks! > -George > libvirt hypervisor driver funcs qemu xend libxl ----------------------------------------------------------------- virDrvOpen | x | x | x | virDrvClose | x | x | x | virDrvDrvSupportsFeature | x | x | | virDrvGetType | x | x | x | virDrvGetVersion | x | x | x | virDrvGetLibVersion | x | x | x | virDrvGetHostname | x | x | x | virDrvGetSysinfo | x | | | virDrvGetMaxVcpus | x | x | x | virDrvNodeGetInfo | x | x | x | virDrvGetCapabilities | x | x | x | virDrvListDomains | x | x | x | virDrvNumOfDomains | x | x | x | virDrvListAllDomains | x | | x | virDrvDomainCreateXML | x | x | x | virDrvDomainLookupByID | x | x | x | virDrvDomainLookupByUUID | x | x | x | virDrvDomainLookupByName | x | x | x | virDrvDomainSuspend | x | x | x | virDrvDomainResume | x | x | x | virDrvDomainPMSuspendForDuration | x | | | virDrvDomainPMWakeup | x | | | virDrvDomainShutdown | x | x | x | virDrvDomainShutdownFlags | x | x | x | virDrvDomainReboot | x | x | x | virDrvDomainReset | x | | | virDrvDomainDestroy | x | x | x | virDrvDomainDestroyFlags | x | x | x | virDrvDomainGetOSType | x | x | x | virDrvDomainGetHostname | | | | virDrvDomainGetMaxMemory | x | x | x | virDrvDomainSetMaxMemory | x | x | x | virDrvDomainSetMemory | x | x | x | virDrvDomainSetMemoryFlags | x | | x | virDrvDomainSetMemoryParameters | x | | | virDrvDomainGetMemoryParameters | x | | | virDrvDomainSetNumaParameters | x | | | virDrvDomainGetNumaParameters | x | | | virDrvDomainSetBlkioParameters | x | | | virDrvDomainGetBlkioParameters | x | | | virDrvDomainGetInfo | x | x | x | virDrvDomainGetState | x | x | x | virDrvDomainGetControlInfo | x | | | virDrvDomainSave | x | x | x | virDrvDomainSaveFlags | x | x | x | virDrvDomainRestore | x | x | x | virDrvDomainRestoreFlags | x | x | x | virDrvDomainSaveImageGetXMLDesc | x | | | virDrvDomainSaveImageDefineXML | x | | | virDrvDomainCoreDump | x | x | x | virDrvDomainScreenshot | x | | | virDrvDomainSetVcpus | x | x | x | virDrvDomainSetVcpusFlags | x | x | x | virDrvDomainGetVcpusFlags | x | x | x | virDrvDomainPinVcpu | x | x | x | virDrvDomainPinVcpuFlags | x | | | virDrvDomainGetVcpuPinInfo | x | | | virDrvDomainPinEmulator | x | | | virDrvDomainGetEmulatorPinInfo | x | | | virDrvDomainGetVcpus | x | x | x | virDrvDomainGetMaxVcpus | x | x | | virDrvDomainGetSecurityLabel | x | | | virDrvDomainGetSecurityLabelList | x | | | virDrvNodeGetSecurityModel | x | | | virDrvDomainGetXMLDesc | x | x | x | virDrvConnectDomainXMLFromNative | x | x | x | virDrvConnectDomainXMLToNative | x | x | x | virDrvListDefinedDomains | x | x | x | virDrvNumOfDefinedDomains | x | x | x | virDrvDomainCreate | x | x | x | virDrvDomainCreateWithFlags | x | x | x | virDrvDomainDefineXML | x | x | x | virDrvDomainUndefine | x | x | x | virDrvDomainUndefineFlags | x | x | x | virDrvDomainAttachDevice | x | x | x | virDrvDomainAttachDeviceFlags | x | x | x | virDrvDomainDetachDevice | x | x | x | virDrvDomainDetachDeviceFlags | x | x | x | virDrvDomainUpdateDeviceFlags | x | x | x | virDrvDomainGetAutostart | x | x | x | virDrvDomainSetAutostart | x | x | x | virDrvDomainGetSchedulerType | x | x | x | virDrvDomainGetSchedulerParameters | x | x | x | virDrvDomainGetSchedulerParametersFlags| x | x | x | virDrvDomainSetSchedulerParameters | x | x | x | virDrvDomainSetSchedulerParametersFlags| x | x | x | virDrvDomainMigratePrepare | | x | | virDrvDomainMigratePerform | x | x | | virDrvDomainMigrateFinish | | x | | virDrvDomainBlockResize | x | | | virDrvDomainBlockStats | x | | | virDrvDomainBlockStatsFlags | x | | | virDrvDomainInterfaceStats | x | x | | virDrvDomainSetInterfaceParameters | x | | | virDrvDomainGetInterfaceParameters | x | | | virDrvDomainMemoryStats | x | | | virDrvDomainBlockPeek | x | x | | virDrvDomainMemoryPeek | x | | | virDrvDomainGetBlockInfo | x | | | virDrvNodeGetCPUStats | x | | | virDrvNodeGetMemoryStats | x | | | virDrvNodeGetCellsFreeMemory | x | x | | virDrvNodeGetFreeMemory | x | x | x | virDrvDomainEventRegister | x | x | x | virDrvDomainEventDeregister | x | x | x | virDrvDomainMigratePrepare2 | x | | | virDrvDomainMigrateFinish2 | x | | | virDrvNodeDeviceDettach | x | x | | virDrvNodeDeviceReAttach | x | x | | virDrvNodeDeviceReset | x | x | | virDrvDomainMigratePrepareTunnel | x | | | virDrvConnectIsEncrypted | x | x | | virDrvConnectIsSecure | x | x | | virDrvDomainIsActive | x | x | x | virDrvDomainIsPersistent | x | x | x | virDrvDomainIsUpdated | x | x | x | virDrvCompareCPU | x | | | virDrvBaselineCPU | x | | | virDrvDomainGetJobInfo | x | | | virDrvDomainAbortJob | x | | | virDrvDomainMigrateSetMaxDowntime | x | | | virDrvDomainMigrateGetMaxSpeed | x | | | virDrvDomainMigrateSetMaxSpeed | x | | | virDrvDomainEventRegisterAny | x | | x | virDrvDomainEventDeregisterAny | x | | x | virDrvDomainManagedSave | x | | x | virDrvDomainHasManagedSaveImage | x | | x | virDrvDomainManagedSaveRemove | x | | x | virDrvDomainSnapshotCreateXML | x | | | virDrvDomainSnapshotGetXMLDesc | x | | | virDrvDomainSnapshotNum | x | | | virDrvDomainSnapshotListNames | x | | | virDrvDomainListAllSnapshots | x | | | virDrvDomainSnapshotNumChildren | x | | | virDrvDomainSnapshotListChildrenNames | x | | | virDrvDomainSnapshotListAllChildren | x | | | virDrvDomainSnapshotLookupByName | x | | | virDrvDomainHasCurrentSnapshot | x | | | virDrvDomainSnapshotGetParent | x | | | virDrvDomainSnapshotCurrent | x | | | virDrvDomainSnapshotIsCurrent | x | | | virDrvDomainSnapshotHasMetadata | x | | | virDrvDomainRevertToSnapshot | x | | | virDrvDomainSnapshotDelete | x | | | virDrvDomainQemuMonitorCommand | x | | | virDrvDomainQemuAttach | x | | | virDrvDomainQemuAgentCommand | x | | | virDrvDomainOpenConsole | x | x | | virDrvDomainOpenGraphics | x | | | virDrvDomainInjectNMI | x | | | virDrvDomainMigrateBegin3 | x | | | virDrvDomainMigratePrepare3 | x | | | virDrvDomainMigratePrepareTunnel3 | x | | | virDrvDomainMigratePerform3 | x | | | virDrvDomainMigrateFinish3 | x | | | virDrvDomainMigrateConfirm3 | x | | | virDrvDomainSendKey | x | | | virDrvDomainBlockJobAbort | x | | | virDrvDomainGetBlockJobInfo | x | | | virDrvDomainBlockJobSetSpeed | x | | | virDrvDomainBlockPull | x | | | virDrvDomainBlockRebase | x | | | virDrvDomainBlockCommit | x | | | virDrvSetKeepAlive | | | | virDrvConnectIsAlive | x | | | virDrvNodeSuspendForDuration | x | x | | virDrvDomainSetBlockIoTune | x | | | virDrvDomainGetBlockIoTune | x | | | virDrvDomainGetCPUStats | x | | | virDrvDomainGetDiskErrors | x | | | virDrvDomainSetMetadata | x | | | virDrvDomainGetMetadata | x | | | virDrvNodeGetMemoryParameters | x | x | | virDrvNodeSetMemoryParameters | x | x | | _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |