[libvirt] Drop support for old libvirt versions?

Laine Stump laine at laine.org
Sat Aug 13 18:03:39 UTC 2016

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).

More information about the libvir-list mailing list