On 04/03/2018 07:23 AM, Andrea Bolognani wrote: > On Tue, 2018-04-03 at 12:57 +0200, Peter Krempa wrote: >> On Tue, Apr 03, 2018 at 11:45:19 +0100, Daniel Berrange wrote: >>> On Fri, Mar 30, 2018 at 03:15:16PM +0200, Ján Tomko wrote: >>>> It's been a while since we last bumped the minimum QEMU version. >>>> Let's get rid of -help parsing and bring our test suite closer >>>> to real world usage by implying lots of capabilities. >>> >>> NACK, this is effectively dropping support for RHEL-6 without explicitly >>> saying you're doing this. >> >> Upstream libvirt does not support driving the RHEL-6 qemu anyways (at >> least from the latest releases) as it diverged significantly from >> upstream. Upstream will e.g. not be able to see that JSON monitor needs >> to be used with that old version or that the downstream implementations >> of some commands need to be used. >> >> Using upstream libvirt on rhel6 without upstream qemu is nonsense. The >> argument that you might want new features with the "stability" of the >> old OS is wrong if you pull in bugs from upstream. > > This makes sense to me. One of the (several) times the topic of > dropping support for older OS, one of the arguments against it was > that downstream vendors were building products on top of RHEL 6, > but at the same time needed newer QEMU / libvirt features, so they > pulled those in from upstream. > > Bumping our minimum QEMU version wouldn't affect that kind of > scenario, as long as we keep making sure libvirt itself builds on > RHEL 6 - which we already do as part of the CI effort. > > Honestly, who in the world absolutely needs the very last libvirt > while at the same time being stuck with QEMU < 1.3.0? However you > slice it, that doesn't sound like a remotely sane scenario. > Between this and Martin's recent posting: https://www.redhat.com/archives/libvir-list/2018-April/msg00112.html Maybe we need to formulate some sort of "annual processing" to declare minimal version support and declare certain non-maintained drivers to be dead. I believe it becomes harder and harder to support a policy of must keep support for some sort of "older distro" as time goes on. Tools we use or rely on don't seem to have this same policy. Considering the recent python-2 to python-3 adjustments and what seems to be progressing towards a debate about JSON or yajl parse/formatting support - it seems upstream libvirt gets caught in the middle of a many "hard places". At least we have some sort of CI environment that tells us when we've violated some old version or a distro that some developer didn't consider/use. Of course, by moving the cheese from upstream to the CI environment - that essentially "moves" the problem of keeping older version support on the CI environment rather than the upstream development environment. All the dependency requirements are (at least to me) mind boggling to try to keep track of. Not sure we document them anywhere either. While perhaps not thought of completely in that manner, perhaps the *-maint branches should become "the" mechanism for support of older or more stable supported code. Probably means we need to do a better job at making sure *-maint branches always get created and of course document perhaps what "version adjustments" or "dependency changes" occurred for any particular *-maint branch. Additionally, as part of the review process consider whether or not a patch [series] should be back ported into those type branches. That leaves upstream to be relatively fresh or at least fresh to some period of time chosen. So, where does one start the draw the line for QEMU considering the following list of versions and release dates? Realistically speaking how long can or should upstream libvirt be expected to keep some really old QEMU version as minimum? Especially as it gets to be more and more painful to support newer versions that are coming out in 4 month cycles now. Looking at git history and considering adjustments to the VERSION file in the QEMU tree, I get: QEMU 2.11 -> Dec 2017 QEMU 2.10 -> Aug 2017 QEMU 2.9 -> Apr 2017 QEMU 2.8 -> Dec 2016 QEMU 2.7 -> Sep 2016 QEMU 2.6 -> May 2016 QEMU 2.5 -> Dec 2015 QEMU 2.4 -> Aug 2015 QEMU 2.3 -> Apr 2015 QEMU 2.2 -> Dec 2014 QEMU 2.1 -> Aug 2014 QEMU 2.0 -> Apr 2014 QEMU 1.7 -> Nov 2013 QEMU 1.6 -> Aug 2013 QEMU 1.5 -> May 2013 QEMU 1.4 -> Feb 2013 QEMU 1.3 -> Dec 2012 QEMU 1.2 -> Sep 2012 QEMU 1.1 -> Jun 2012 QEMU 1.0 -> Dec 2011 QEMU 0.15 -> Jul 2011 QEMU 0.14 -> Feb 2011 QEMU 0.13 -> Jul 2010 QEMU 0.12 -> Dec 2009 It would seem to me that ~5 years for 1.3.0 is a "good start" as opposed to the ~8 years that is 0.12. John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list