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 * It won''t compile against 4.2''s 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 * 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? * Whether it would be easy for distros to backport 4.2 libxl support to whatever their release is? 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
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 migrationRight. 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 libxlRight 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 libxlI''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 | |
Wednesday 24 of October 2012 12:11:37, Jim Fehlig:> 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?Hi, I have libxl which compiles without errors under Xen 4.2, but I didn''t test it much yet. I based my port on patch [1], but there were numerous other issues like replaced libxl_cpumap by libxl_bitmap, added async operations, etc. Right now I''m focusing on how to, if even possible, to support both 4.1 and 4.2 in same source files. Right now my libxl_compat.h is dangerously growing. I would definitely appreciate any detailed overview what and why changed between 4.1 and 4.2 libxl iface. [1] http://lists.xen.org/archives/html/xen-devel/2012-05/msg00565.html> > > 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 | | >
On 24/10/12 19:11, Jim Fehlig wrote:>> * 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.That sounds like a good plan. For 4.1, xend is still the default toolstack, and libxl is a "tech preview"; for 4.2, xl is the default toolstack, and (if I understand correctly) we''re officially going to be supporting the libxl interface in a backwards-compatible way from here forward. It seems to me that if you have trouble supporting both libxl 4.2 and libxl 4.1, that it might be better just to drop 4.1 support and focus on 4.2. Ian Campbell / Jackson: Thoughts? -George
On Fri, 2012-10-26 at 13:54 +0100, Ondřej Holeček wrote:> I would definitely appreciate any detailed overview what and why > changed between 4.1 and 4.2 libxl iface.A whole tonne of stuff I'm afraid :-/ The bigger things which spring to mind are: * The event handling subsystem. This was designed specifically with libvirt in mind so I hope they work well for you. * Making APIs capable of being called asynchronously where necessary. This should benefit toolstacks with a daemon which manages multiple domains. * Fixes to the handling of forking and signals etc. These are problematic to use in a library but we think we've come up with a solution which works. Ian J blogged about this [1]. * Tweaks to the API to make them more consistent and symmetric, mostly to file some of the rought edges/gotchas us before calling the API stable and to give us something which we were happy to support going forward. The upside is that in 4.2 we have a libxl API which we are committed to maintaining in a stable / backwards compatible manner, as described in libxl.h[0]. Ian. [0] http://xenbits.xen.org/hg/xen-unstable.hg/file/tip/tools/libxl/libxl.h#l16 [1] http://blog.xen.org/index.php/2012/05/22/libxl-event-api-improvements/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Fri, 2012-10-26 at 14:03 +0100, George Dunlap wrote:> On 24/10/12 19:11, Jim Fehlig wrote: > >> * 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. > > That sounds like a good plan. For 4.1, xend is still the default > toolstack, and libxl is a "tech preview"; for 4.2, xl is the default > toolstack, and (if I understand correctly) we''re officially going to be > supporting the libxl interface in a backwards-compatible way from here > forward. > > It seems to me that if you have trouble supporting both libxl 4.2 and > libxl 4.1, that it might be better just to drop 4.1 support and focus on > 4.2. Ian Campbell / Jackson: Thoughts?That''s what I would do if I were them ;-) Another option would be to fork into 4.1 and 4.2+ versions and to stop adding new stuff to the 4.1 copy. That has its own downsides though. Ian.
George Dunlap writes ("Re: [Xen-devel] libxl drivers for libvirt?"):> That sounds like a good plan. For 4.1, xend is still the default > toolstack, and libxl is a "tech preview"; for 4.2, xl is the default > toolstack, and (if I understand correctly) we''re officially going to be > supporting the libxl interface in a backwards-compatible way from here > forward.Yes.> It seems to me that if you have trouble supporting both libxl 4.2 and > libxl 4.1, that it might be better just to drop 4.1 support and focus on > 4.2. Ian Campbell / Jackson: Thoughts?Yes, I agree. Ian.
Ian Campbell wrote:> On Fri, 2012-10-26 at 14:03 +0100, George Dunlap wrote: > >> On 24/10/12 19:11, Jim Fehlig wrote: >> >>>> * 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. >>> >> That sounds like a good plan. For 4.1, xend is still the default >> toolstack, and libxl is a "tech preview"; for 4.2, xl is the default >> toolstack, and (if I understand correctly) we''re officially going to be >> supporting the libxl interface in a backwards-compatible way from here >> forward. >> >> It seems to me that if you have trouble supporting both libxl 4.2 and >> libxl 4.1, that it might be better just to drop 4.1 support and focus on >> 4.2. Ian Campbell / Jackson: Thoughts? >>CC''ing libvirt community to get their input.> > That''s what I would do if I were them ;-) >I tend to agree that this might be the best approach. The libxl in Xen 4.1 is essentially a one-off and I question whether we should pollute the libvirt libxl driver code with support for a dead, tech preview interface. Xend is still the primary toolstack in Xen 4.1.x, and libvirt has a stable, functional driver for this toolstack that can (should) be used in Xen 4.1.x deployments. Is anyone using the libvirt libxl driver with Xen 4.1 for anything other than development or experimentation?> Another option would be to fork into 4.1 and 4.2+ versions and to stop > adding new stuff to the 4.1 copy. That has its own downsides though. >I''d like to hear what the libvirt community thinks about only supporting Xen >= 4.2 in the libxl driver. Regards, Jim
On Mon, Oct 29, 2012 at 09:55:28AM -0600, Jim Fehlig wrote:> Ian Campbell wrote: > > On Fri, 2012-10-26 at 14:03 +0100, George Dunlap wrote: > > > >> On 24/10/12 19:11, Jim Fehlig wrote: > >> > >>>> * 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. > >>> > >> That sounds like a good plan. For 4.1, xend is still the default > >> toolstack, and libxl is a "tech preview"; for 4.2, xl is the default > >> toolstack, and (if I understand correctly) we''re officially going to be > >> supporting the libxl interface in a backwards-compatible way from here > >> forward. > >> > >> It seems to me that if you have trouble supporting both libxl 4.2 and > >> libxl 4.1, that it might be better just to drop 4.1 support and focus on > >> 4.2. Ian Campbell / Jackson: Thoughts? > >> > > CC''ing libvirt community to get their input. > > > > > That''s what I would do if I were them ;-) > > > > I tend to agree that this might be the best approach. The libxl in Xen > 4.1 is essentially a one-off and I question whether we should pollute > the libvirt libxl driver code with support for a dead, tech preview > interface. Xend is still the primary toolstack in Xen 4.1.x, and > libvirt has a stable, functional driver for this toolstack that can > (should) be used in Xen 4.1.x deployments. > > Is anyone using the libvirt libxl driver with Xen 4.1 for anything other > than development or experimentation? > > > Another option would be to fork into 4.1 and 4.2+ versions and to stop > > adding new stuff to the 4.1 copy. That has its own downsides though. > > > > I''d like to hear what the libvirt community thinks about only supporting > Xen >= 4.2 in the libxl driver.Given that libxl was "tech preview" in Xen 4.1, I''m fine with any proposal to have libvirt libxl only work with Xen 4.2, if that''s what you feel is the most appropriate plan. You''re the primary maintainer if this libvirt driver, so I''ll defer to your technical knowledge here on the supportability issues here. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Reasonably Related Threads
- Re: [libvirt] [PATCH] Convert libxl driver to Xen 4.2
- [PATCH] libxl: fix compile error of libvirt
- [PATCH] Fix pci passthru in xend interface used by libvirt
- Error : libxenlight state driver is not active
- How to use xl (in place of xm) with libvirt 1.0.2 and Xen 4.2.1 in Ubuntu 13.04?