Xen Project Release Features/Definitions: Difference between revisions
Lars.kurth (talk | contribs)  | 
				Lars.kurth (talk | contribs)   (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
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.
