From c09c3408d3978a7e65792199dff91c4699a0912f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Tue, 3 Apr 2018 15:53:17 +0100 Subject: [PATCH] docs: add page describing goals for host platform version support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Reviewed-by: Andrea Bolognani Reviewed-by: John Ferlan Reviewed-by: Pavel Hrdina Signed-off-by: Daniel P. Berrangé --- docs/index.html.in | 2 +- docs/platforms.html.in | 106 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 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:

    -
  • is a toolkit to manage virtualization hosts
  • +
  • is a toolkit to manage virtualization platforms
  • is accessible from C, Python, Perl, Java and more
  • is licensed under open source licenses
  • supports KVM, diff --git a/docs/platforms.html.in b/docs/platforms.html.in new file mode 100644 index 0000000000..0489c60aeb --- /dev/null +++ b/docs/platforms.html.in @@ -0,0 +1,106 @@ + + + + +

    Supported host platforms

    + +
      + +

      Build targets

      + +

      + 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 than what is described here. +

      + +

      + 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. In other words, 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. +

      + +

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

      + + + + +

      Linux OS

      + +

      + 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, and openSUSE distros. + Other short-lifetime distros will be assumed to ship similar software + versions. +

      + +

      + 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, and SLES + distros. Other long-lifetime distros will be assumed to ship similar + software versions. +

      + +

      Windows

      + +

      + The project supports building with current versions of the MinGW + toolchain, hosted on Linux. +

      + +

      macOS

      + +

      + The project supports building with the current version of macOS, + with the current homebrew package set available. +

      + +

      FreeBSD

      + +

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

      + +

      Virtualization platforms

      + +

      + For hypervisor drivers 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. +

      +

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

      + + +