On Fri, 2020-10-30 at 07:02 -0400, Matt Coleman wrote:
Hello,
I've been getting familiar with Hyper-V recently and have gotten
stymied by inconsistencies in its API.
While Hyper-V has V1 and V2 APIs, neither one is consistent between
Windows versions. For example...
* Windows 2012 only supports a subset of the V2 API
* Windows 2012 implements some V1 functions differently than 2008R2
* Windows 2016 broke compatibility with 2012R2 by replacing some classes
Some of these differences are undocumented, too, which is just lovely.
Most of these changes are relatively easy to handle, but the
differences between 2008R2's and 2012's implementations of the V1 API
result in libvirt code with a lot of conditionals containing obscure
format strings in the 2008R2 blocks.
Windows 2008R2's extended support ended January 14, 2020:
https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2008-r2
Windows 2012's mainstream support ended in 2018, but it still has
extended support through October 10, 2023:
https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2012
Since 2008R2 is no longer supported by Microsoft, I propose removing
support for it from libvirt.
Dropping 2008R2 support is a no-brainer.
Can we got further? Our policy[1] for Linux is
The project aims to support the most recent major version at all
times. Support for the previous major version will be dropped 2
years after the new major version is released or when the vendor
itself drops support, whichever comes first.
If we adopted the same policy for Windows Server[2], then we could
drop support for 2012R2 today and support for 2016 in the next
release.
Is there a good reason why we should *not* do that?
[1]
https://libvirt.org/platforms.html
[2]
https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions#Server_v...
--
Andrea Bolognani / Red Hat / Virtualization