Difference between revisions of "Xen Project Release Features/Definitions"

From Xen
m (User-facing Support Criteria)
(Replace with definitions from Support.MD)
Line 1: Line 1:
  +
{{InfoLeft|These definitions are based on [http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=SUPPORT.md SUPPORT.md], which is a machine readable version of this document, which was introduced in Xen 4.10.}}
{{InfoLeft|This is a draft, that is based on what we have done in the past. The exact text will still need to be agreed formally. Once approved, this will be copied into in-tree documentation and links from here to those pages, will be created.}}
 
   
  +
The definitions in this document primarily refer to the information in [[Xen Project Release Features]] or its archived version.
== User-facing Support Criteria ==
 
   
  +
= Definition of Support Labels =
=== Functionally complete ===
 
Does it behave like a fully functional feature? Does it work on all expected platforms, or does it only work
 
for a very specific sub-case? Does it have a sensible UI, or do you
 
have to have a deep understanding of the internals to get it to work
 
properly?
 
   
  +
Each status value besides a {{Tick}} or {{HalfDone}} corresponds to levels of security support, testing, stability, etc., as in the following subsections.
=== Functional stability ===
 
  +
Note that format in [[Xen Project Release Features]] typically follows the following convention
  +
* {{Tick}} [footnote] [support label]
  +
* {{HalfDone}} [footnote] [support label]
  +
If no support label is specified besides a {{Tick}}, the feature is normally considered '''Supported''' unless otherwise specified.
  +
  +
== Experimental ==
  +
  +
Functional completeness: No
  +
Functional stability: Here be dragons
  +
Interface stability: Not stable
  +
Security supported: No
  +
  +
== Tech Preview ==
  +
  +
Functional completeness: Yes
  +
Functional stability: Quirky
  +
Interface stability: Provisionally stable
  +
Security supported: No
  +
  +
== Supported ==
  +
  +
Functional completeness: Yes
  +
Functional stability: Normal
  +
Interface stability: Yes
  +
Security supported: Yes
  +
  +
== Deprecated ==
  +
  +
Functional completeness: Yes
  +
Functional stability: Quirky
  +
Interface stability: No (as in, may disappear the next release)
  +
Security supported: Yes
  +
  +
All of these may appear in modified form via footnotes.
  +
  +
= Definition of the status label interpretation tags =
  +
  +
== Functionally complete ==
  +
  +
Does it behave like a fully functional feature? Yes = {{Tick}}
  +
  +
Does it work on all expected platforms, or does it only work for a very specific sub-case? No = {{HalfDone}}
  +
  +
Does it have a sensible UI, or do you have to have a deep understanding of the internals to get it to work properly? No = {{HalfDone}}
  +
  +
== Functional stability ==
   
 
What is the risk of it exhibiting bugs?
 
What is the risk of it exhibiting bugs?
Line 15: Line 57:
 
General answers to the above:
 
General answers to the above:
   
  +
* '''Here be dragons'''
* '''Here be dragons''': Pretty likely to still crash / fail to work. Not recommended unless you like life on the bleeding edge.
 
* '''Quirky''': Mostly works but may have odd behavior here and there. Recommended for playing around or for non-production use cases.
 
* '''Normal''': Ready for production use
 
   
  +
: Pretty likely to still crash / fail to work.
=== Interface stability ===
 
  +
: Not recommended unless you like life on the bleeding edge.
  +
  +
* '''Quirky'''
  +
  +
: Mostly works but may have odd behavior here and there.
  +
: Recommended for playing around or for non-production use cases.
  +
  +
* '''Normal'''
  +
  +
: Ready for production use
  +
  +
== Interface stability ==
   
 
If I build a system based on the current interfaces, will they still work when I upgrade to the next version?
 
If I build a system based on the current interfaces, will they still work when I upgrade to the next version?
   
  +
* '''Not stable'''
* '''Not stable''': Interface is still in the early stages and still fairly likely to be broken in future updates.
 
  +
* '''Provisionally stable''': We're not yet promising backwards compatibility, but we think this is probably the final form of the interface. It may still require some tweaks.
 
  +
: Interface is still in the early stages and still fairly likely to be broken in future updates.
* '''Stable''': We will try very hard to avoid breaking backwards compatibility, and to fix any regressions that are reported.
 
  +
  +
* '''Provisionally stable'''
  +
  +
: We're not yet promising backwards compatibility, but we think this is probably the final form of the interface.
  +
: It may still require some tweaks.
  +
  +
* '''Stable'''
  +
  +
: We will try very hard to avoid breaking backwards compatibility, and to fix any regressions that are reported.
  +
  +
== Security supported ==
   
=== Security supported ===
 
 
Will XSAs be issued if security-related bugs are discovered in the functionality?
 
Will XSAs be issued if security-related bugs are discovered in the functionality?
   
  +
If "no", anyone who finds a security-related bug in the feature will be advised to post it publicly to the Xen Project mailing lists (or contact another security response team, if a relevant one exists).
== Definition of Support Labels ==
 
  +
  +
Bugs found after the end of '''Security-Support-Until''' in the Release Support section will receive an XSA if they also affect newer, security-supported, versions of Xen.
  +
  +
However, the Xen Project will not provide official fixes or non-security-supported versions.
  +
  +
== Interaction with other features ==
   
  +
Not all features interact well with all other features.
Rather than specify each level above, we have some short-hand labels that we use to denote general answer to the above questions.
 
  +
Some features are only for HVM guests; some don't work with migration, &c.
   
  +
== External security support ==
=== Experimental ===
 
* Functional completeness: No
 
* Functional stability: Here be dragons
 
* Interface stability: Not stable
 
* Security supported: No
 
   
  +
The Xen Project security team provides security support for Xen Project projects.
=== Tech Preview ===
 
* Functional completeness: Yes
 
* Functional stability: Quirky
 
* Interface stability: Provisionally stable
 
* Security supported: No.
 
   
  +
We also provide security support for Xen-related code in Linux, which is an external project but doesn't have its own security process.
=== Supported ===
 
* Functional completeness: Yes
 
* Functional stability: Normal
 
* Interface stability: Yes
 
* Security supported: Yes
 
   
  +
External projects that provide their own security support for Xen-related features are listed below.
=== Deprecated ===
 
  +
* QEMU: https://wiki.qemu.org/index.php/SecurityProcess
* Functional completeness: Yes
 
  +
* Libvirt: https://libvirt.org/securityprocess.html
* Functional stability: Quirky
 
  +
* FreeBSD: https://www.freebsd.org/security/
* Interface stability: No (as in, may disappear the next release)
 
  +
* NetBSD: http://www.netbsd.org/support/security/
* Security supported: Yes
 
  +
* OpenBSD: https://www.openbsd.org/security.html
   
 
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]]
 
[[Category:Xen]] [[Category:Users]] [[Category:Fundamentals]]

Revision as of 16:22, 12 March 2018

Icon Info.png {{{1}}}


The definitions in this document primarily refer to the information in Xen Project Release Features or its archived version.

Definition of Support Labels

Each status value besides a or corresponds to levels of security support, testing, stability, etc., as in the following subsections. Note that format in Xen Project Release Features typically follows the following convention

  • [footnote] [support label]
  • [footnote] [support label]

If no support label is specified besides a , the feature is normally considered Supported unless otherwise specified.

Experimental

   Functional completeness: No
   Functional stability: Here be dragons
   Interface stability: Not stable
   Security supported: No

Tech Preview

   Functional completeness: Yes
   Functional stability: Quirky
   Interface stability: Provisionally stable
   Security supported: No

Supported

   Functional completeness: Yes
   Functional stability: Normal
   Interface stability: Yes
   Security supported: Yes

Deprecated

   Functional completeness: Yes
   Functional stability: Quirky
   Interface stability: No (as in, may disappear the next release)
   Security supported: Yes

All of these may appear in modified form via footnotes.

Definition of the status label interpretation tags

Functionally complete

Does it behave like a fully functional feature? Yes =

Does it work on all expected platforms, or does it only work for a very specific sub-case? No =

Does it have a sensible UI, or do you have to have a deep understanding of the internals to get it to work properly? No =

Functional stability

What is the risk of it exhibiting bugs?

General answers to the above:

  • Here be dragons
Pretty likely to still crash / fail to work.
Not recommended unless you like life on the bleeding edge.
  • Quirky
Mostly works but may have odd behavior here and there.
Recommended for playing around or for non-production use cases.
  • Normal
Ready for production use

Interface stability

If I build a system based on the current interfaces, will they still work when I upgrade to the next version?

  • Not stable
Interface is still in the early stages and still fairly likely to be broken in future updates.
  • Provisionally stable
We're not yet promising backwards compatibility, but we think this is probably the final form of the interface.
It may still require some tweaks.
  • Stable
We will try very hard to avoid breaking backwards compatibility, and to fix any regressions that are reported.

Security supported

Will XSAs be issued if security-related bugs are discovered in the functionality?

If "no", anyone who finds a security-related bug in the feature will be advised to post it publicly to the Xen Project mailing lists (or contact another security response team, if a relevant one exists).

Bugs found after the end of Security-Support-Until in the Release Support section will receive an XSA if they also affect newer, security-supported, versions of Xen.

However, the Xen Project will not provide official fixes or non-security-supported versions.

Interaction with other features

Not all features interact well with all other features. Some features are only for HVM guests; some don't work with migration, &c.

External security support

The Xen Project security team provides security support for Xen Project projects.

We also provide security support for Xen-related code in Linux, which is an external project but doesn't have its own security process.

External projects that provide their own security support for Xen-related features are listed below.