On 04/05/2018 06:05 AM, Daniel P. Berrangé wrote:
Described how we decide which host platforms to support for libvirt,
which in turn makes it easier to decide when a platform / software
version can be dropped.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
docs/index.html.in | 2 +-
docs/platforms.html.in | 105 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 106 insertions(+), 1 deletion(-)
create mode 100644 docs/platforms.html.in
diff --git a/docs/index.html.in b/docs/index.html.in
index 1b3a7a3db6..4783c39e3c 100644
--- a/docs/index.html.in
+++ b/docs/index.html.in
@@ -28,7 +28,7 @@
The libvirt project:
</p>
<ul>
- <li>is a toolkit to manage virtualization hosts</li>
+ <li>is a toolkit to manage <a
href="platforms.html.in">virtualization platforms</a></li>
<li>is accessible from C, Python, Perl, Java and more</li>
<li>is licensed under open source licenses</li>
<li>supports <a href="drvqemu.html">KVM</a>,
diff --git a/docs/platforms.html.in b/docs/platforms.html.in
new file mode 100644
index 0000000000..776e930e78
--- /dev/null
+++ b/docs/platforms.html.in
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html
xmlns="http://www.w3.org/1999/xhtml">
+ <body>
+ <h1>Supported host platforms</h1>
+
+ <ul id="toc"></ul>
+
+ <h2>Build targets</h2>
+
+ <p>
+ Libvirt drivers aim to support building and executing on multiple
+ host OS platforms. This document outlines which platforms are the
+ major build targets. These platforms are used as the basis for deciding
+ upon the minimum required versions of 3rd party software libvirt depends
+ on. If a platform is not listed here, it does not imply that libvirt
+ won't work. If an unlisted platform has comparable software versions
+ to a listed platform, there is every expectation that it will work.
+ Bug reports are welcome for problems encountered on unlisted platforms
+ unless they are clearly older vintage that what is described here.
s/that/than/
+ </p>
+
+ <p>
+ Note that when considering software versions shipped in distros as
+ support targets, libvirt considers only the version number, and assumes
+ the features in that distro match the upstream release with the same
+ version. IOW, if a distro backports extra features to the software in
+ their distro, libvirt upstream code will not add explicit support for
+ those backports, unless the feature is auto-detectable in a manner that
+ works for the upstream releases too.
+ </p>
+
+ <p>
+ The Repology site is a useful resource to identify currently shipped
+ versions of software in various operating systems, though it does not
+ cover all distros listed below.
+ </p>
+
+ <ul>
+ <li><a
href="https://repology.org/metapackage/libvirt/versions">lib...
+ <li><a
href="https://repology.org/metapackage/qemu/versions">qemu&l...
+ </ul>
+
+
+ <h3>Linux OS</h3>
+
+ <p>
+ For distributions with frequent, short-lifetime releases, the project
+ will aim to support all versions that are not end of life by their
+ respective vendors. For the purposes of identifying supported software
+ versions, the project will look at Fedora, Ubuntu & OpenSUSE distros.
s/Ubuntu &/Ubuntu, &/
e.g. a, b, & c
+ Other short-lifetime distros will be assumed to ship similar
software
+ versions.
+ </p>
+
+ <p>
+ For distributions with long-lifetime releases, the project will aim 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. For the purposes of identifying supported software
+ versions, the project will look at RHEL, Debian, Ubuntu LTS & SLES
Likewise, s/LTS/LTS,/
Reviewed-by: John Ferlan <jferlan(a)redhat.com>
John
+ distros. Other long-lifetime distros will be assumed to ship
similar
+ software versions.
+ </p>
+
+ <h3>Windows</h3>
+
+ <p>
+ The project supports building with current versions of the MinGW
+ toolchain, hosted on Linux.
+ </p>
+
+ <h3>macOS</h3>
+
+ <p>
+ The project supports building with the current version of macOS,
+ with the current homebrew package set available.
+ </p>
+
+ <h3>FreeBSD</h3>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Virtualization platforms</h2>
+
+ <p>
+ For <a href="drivers.html">hypervisor drivers</a> which
execute
+ locally (QEMU, LXC, VZ, libxl, etc), the set of supported operating
+ system platforms listed above will inform choices as to the minimum
+ required versions of 3rd party libraries and hypervisor management
+ APIs.
+ </p>
+ <p>
+ If a hypervisor is not commonly shipped directly by any distro
+ listed above, (VMware ESX, HyperV, VZ), the project aims to
+ support versions up to 5 years, or until the vendor discontinues
+ support, whichever comes first.
+ </p>
+
+ </body>
+</html>