On Sat, Aug 13, 2016 at 02:03:39PM -0400, Laine Stump wrote:
On 08/13/2016 09:24 AM, Martin Kletzander wrote:On Sat, Aug 13, 2016 at 10:16:03AM +0200, Michal Privoznik wrote:On 12.08.2016 18:25, Andrea Bolognani wrote:<snip/>I like the idea. I mean, the less versions we have to take care of the better. But before we go any further - what do you mean by dropping support? For instance, what I think of is when formatting migration XML we won't remove devices (like USB hubs or what is it) just because the other side is too old. Or you even mean deprecating APIs?My question exactly. What support are you talking about? Forward compatible migration support (migrating back to older libvirt versions)? I don't think that's very much supported at all. Talking about old APIs (e.g. superseded and obsoleted ones)? I don't think we can do that.Correct. In order to remove anything from the API, we would need to increment the shared library .so version, which libvirt has promised to never do. We can only ever add to APIs (and XML). My interpretation was that Andrea is suggesting two things: 1) remove any code within libvirt that maintains compatibility when a contemporary libvirtd (or application using contemporary libvirt client library) is communicating with a version of libvirtd older than the support cutoff. This would include things like removing certain XML during migration, and (in virsh) falling back to an older deprecated API when a newer API isn't available (e.g. falling back to virDomainDefineXML() when virDomainDefineXMLFlags() isn't available). 2) stop maintaining bugfixes (including CVE fixes?) on -maint branches older than the support cutoff. I would vote +1 for doing both of these. If we do, we should document somewhere in the source and on the website exactly what is the oldest supported version, (and we may want to make a list of current versions that are still in use in distros, and a minimum "support end date" for them, then revisit it periodically).
That sounds very reasonable. I'd agree. The only thing I'm thinking about how to handle it a bit better, compared to the QEMU cutoff we did, is how should we handle the code cleanup and removal so that there is as little leftover as possible. I think there will be some leftovers stuck forever in both QEMU and libvirt compatibility related parts. It's just that we should somehow come up with how to shave it off as cleanly as possible. Martin
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list