Jump to: navigation, search

Difference between revisions of "HypervisorSupportMatrix"

(Hypervisor feature support matrix)
(Group B)
 
(51 intermediate revisions by 24 users not shown)
Line 1: Line 1:
 +
 +
<big><big>'''WARNING: The information in doc/source/user/support-matrix.ini in the Nova source tree obsoletes this information.'''</big></big>
 +
 
= Compute Drivers =
 
= Compute Drivers =
  
Line 23: Line 26:
  
 
Drivers in this group include:
 
Drivers in this group include:
* XenAPI on x86
+
* [https://docs.openstack.org/nova/latest/admin/configuration/hypervisor-hyper-v.html Hyper-V]
 +
* [[NovaVMware/Minesweeper| VMware]]
 +
* [[XenServer/XenServer_CI | XenServer]]
 +
* [[Xen/Libvirt | Xen via libvirt]]
  
 
=== Group C ===
 
=== Group C ===
 +
 +
'''NOTE:''' Drivers in Group C will be deprecated by the Icehouse release. See [[HypervisorSupportMatrix/DeprecationPlan]] for details.
  
 
These drivers have minimal testing and may or may not work at any given time.  Use them at your own risk.  Test coverage includes:
 
These drivers have minimal testing and may or may not work at any given time.  Use them at your own risk.  Test coverage includes:
Line 35: Line 43:
 
* baremetal
 
* baremetal
 
* docker
 
* docker
* Hyper-V
+
* LXC via libvirt
* libvirt (LXC, Xen)
 
* powervm
 
* VMware
 
  
 
== Hypervisor feature support matrix ==
 
== Hypervisor feature support matrix ==
Line 44: Line 49:
 
This is an attempt to help new users decide on a hypervisor based on features that can be controlled through compute.
 
This is an attempt to help new users decide on a hypervisor based on features that can be controlled through compute.
  
Most [[OpenStack]] development is done with the KVM and XEN hypervisors. This means that (currently at least) you are more likely to find community support for issues with these hypervisors. All features that are currently supported in KVM are also supported in QEMU.
+
Historically, most [[OpenStack]] development is done with the KVM hypervisor with which you are more likely to find community support for issues . All features that are currently supported in KVM are also supported in QEMU.
  
As far as the Xen hypervisor is concerned, it is worth noting the following definitions:
+
[http://technet.microsoft.com/en-US/library/hh833684.aspx Microsoft Hyper-V] and VMware ESXi are gaining much support with Hyper-V now being available with a [http://windowsitpro.com/hyper-v/microsoft-free-hyper-v-server-2012-features free license]. ESXi can also be used with a free license however API support is limited as READ ONLY without vCenter and an Enterprise license.
  
 +
As far as the [[Xen]] hypervisor is concerned, it is worth noting the following definitions:
 
* [[XenServer]]: Open Source but commercially supported product from Citrix (Free edition also available)
 
* [[XenServer]]: Open Source but commercially supported product from Citrix (Free edition also available)
 
* Xen Cloud Platform (XCP): Open-source equivalent of [[XenServer]] (and the development project for the toolstack). Everything said about [[XenServer]] below applies equally to XCP.
 
* Xen Cloud Platform (XCP): Open-source equivalent of [[XenServer]] (and the development project for the toolstack). Everything said about [[XenServer]] below applies equally to XCP.
 
* XenAPI: The management API exposed by [[XenServer]] and XCP.
 
* XenAPI: The management API exposed by [[XenServer]] and XCP.
 
* XAPI: The primary daemon on [[XenServer]] and Xen Cloud Platform; the one that exposes the XenAPI.
 
* XAPI: The primary daemon on [[XenServer]] and Xen Cloud Platform; the one that exposes the XenAPI.
 +
* [[Xen/Libvirt|Xen via Libvirt]]: Xen hypervisor management using the libvirt Xen driver.
  
Nova has support for [[XenServer]] and XCP through the XenAPI virt layer. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 6 or SUSE, which is provided via the libvirt layer.
+
Nova has support for [[XenServer]] and XCP through the XenAPI virt layer. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 6 or SUSE, which is provided via the libvirt layer (i.e. Xen via libvirt).
 +
 
 +
As far as the [[Baremetal]] hypervisor is concerned, it is worth noting that [[Ironic]] will deprecate the baremetal driver upon its graduation. New features are being added to [[Ironic]].
  
 
Please help keep this list up-to-date.
 
Please help keep this list up-to-date.
Line 59: Line 68:
 
'''Legend''': ✔ indicates support, ✗ indicates the feature is not supported, * indicates there is a caveat to the functionality (caveats need to be documented!), and a blank cell generally indicates more testing is needed to make a judgment.
 
'''Legend''': ✔ indicates support, ✗ indicates the feature is not supported, * indicates there is a caveat to the functionality (caveats need to be documented!), and a blank cell generally indicates more testing is needed to make a judgment.
  
{| border="1" cellpadding="2" cellspacing="0"
 
| '''Feature'''           
 
| '''[[XenServer|XenServer/XCP]] '''
 
| '''[http://docs.openstack.org/trunk/openstack-compute/install/yum/content/kvm.html KVM on x86]'''
 
| '''[http://docs.openstack.org/trunk/openstack-compute/install/yum/content/qemu.html QEMU on x86]'''
 
| '''[http://libvirt.org/drvlxc.html LXC via libvirt]'''
 
| '''[http://docs.openstack.org/trunk/openstack-compute/admin/content/vmware.html ESXi/VC]'''
 
| '''[[Hyper-V]]'''
 
| '''[[Baremetal]]'''
 
| '''[https://blueprints.launchpad.net/nova/+spec/powervm-compute-driver PowerVM]'''
 
| '''[http://www.docker.io Docker]'''
 
|-
 
| Launch                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
| ✔         
 
| ✔
 
| ✔             
 
| ✔
 
|-
 
| Reboot                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
| ✔         
 
| ✔   
 
| ✔*(11)       
 
| ✔
 
|-
 
| Terminate               
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
| ✔         
 
| ✔   
 
| ✔       
 
| ✔
 
|-
 
| Resize                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
|           
 
| ✔         
 
|     
 
| ✔         
 
| style="color: red" | ✗
 
|-
 
| Rescue                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
|           
 
|
 
| style="color: red" | ✗           
 
| style="color: red" | ✗
 
|-
 
| Pause                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| style="color: red" | ✗         
 
| ✔       
 
|       
 
| style="color: red" | ✗   
 
| style="color: red" | ✗
 
|-
 
| Un-pause                 
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| style="color: red" | ✗         
 
| ✔       
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Suspend                 
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔       
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Resume                   
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔       
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Inject Networking       
 
| ✔*(1)(2)                         
 
| ✔*(1)     
 
| ✔*(1)     
 
|         
 
| ✔*       
 
| ✔       
 
| ✔
 
| style="color: red" | ✗
 
|
 
|-
 
| Inject File             
 
| ✔                                 
 
| ✔*       
 
| ✔*       
 
|         
 
|           
 
| style="color: red" | ✗*(6)
 
| ✔
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
|-
 
| Serial Console Output         
 
| ✔(4)                             
 
| ✔         
 
| ✔         
 
| style="color: red" | ✗       
 
| ✔         
 
| style="color: red" | ✗       
 
| ✔*
 
| style="color: red" | ✗       
 
| ✔
 
|-
 
| VNC Console             
 
| ✔*                             
 
| ✔*       
 
| ✔*       
 
| ✔         
 
| ✔         
 
|           
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| SPICE Console             
 
| style="color: red" | ✗     
 
| ✔
 
| ✔       
 
|       
 
| style="color: red" | ✗
 
| style="color: red" | ✗         
 
| style="color: red" | ✗   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Attach Volume           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| style="color: red" | ✗       
 
| ✔         
 
| ✔         
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Detach Volume           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| style="color: red" | ✗       
 
| ✔         
 
| ✔         
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Live Migration           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| style="color: red" | ✗    (10)   
 
| ✔         
 
 
| style="color: red" | ✗         
 
| style="color: red" | ✗
 
|-
 
| Snapshot                 
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔         
 
|
 
| ✔         
 
| ✔
 
|-
 
| iSCSI                   
 
| ✔                                 
 
| ✔                                 
 
         
 
| ✔         
 
|         
 
| ✔         
 
| ✔         
 
|
 
|
 
|
 
|-
 
| iSCSI CHAP
 
|                                 
 
| ✔                   
 
| ✔         
 
|         
 
|         
 
|         
 
|
 
|
 
|
 
|-
 
| Fibre Channel
 
|                                 
 
| ✔         
 
| ✔         
 
|         
 
|         
 
|         
 
|
 
|
 
|
 
|-
 
| Set Admin Pass           
 
| ✔                                 
 
| style="color: red" | ✗         
 
| style="color: red" | ✗         
 
|         
 
| style="color: red" | ✗         
 
| style="color: red" | ✗*(6)     
 
|           
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
|-
 
| Get Guest Info           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔         
 
|           
 
| ✔
 
| ✔
 
|-
 
| Get Host Info           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔         
 
|   
 
| ✔     
 
| ✔
 
|-
 
| Glance Integration       
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| ✔         
 
| ✔
 
| ✔         
 
| ✔
 
|-
 
| Service Control         
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
|           
 
|     
 
| style="color: red" | ✗   
 
|
 
|-
 
| VLAN Networking         
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
| style="color: red" | ✗*(7)     
 
|   
 
| style="color: red" | ✗     
 
|
 
|-
 
| Flat Networking         
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
|  ✔       
 
| ✔
 
| ✔         
 
|
 
|-
 
| Security Groups         
 
| ✔                                 
 
| ✔         
 
| ✔         
 
| ✔       
 
| style="color: red" | ✗*(9)         
 
|           
 
 
| style="color: red" | ✗         
 
|
 
|-
 
| Firewall Rules           
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
|           
 
|           
 
|   
 
| style="color: red" | ✗     
 
|
 
|-
 
| Routing                 
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
| ✔         
 
| style="color: red" | ✗*(7)     
 
|   
 
| style="color: red" | ✗     
 
|
 
|-
 
| nova diagnostics         
 
| ✔                                 
 
| ✔         
 
| ✔         
 
|         
 
|           
 
|           
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Config Drive             
 
| ✔               
 
| ✔         
 
| ✔         
 
| ✔       
 
| ✔         
 
| ✔       
 
|   
 
| style="color: red" | ✗     
 
| style="color: red" | ✗
 
|-
 
| Auto configure disk     
 
| ✔                                 
 
|           
 
|           
 
|         
 
|           
 
|           
 
 
| style="color: red" | ✗         
 
| style="color: red" | ✗
 
|-
 
| Evacuate     
 
| ✔                                 
 
| ✔         
 
|           
 
|         
 
|           
 
|           
 
 
| style="color: red" | ✗         
 
|
 
|-
 
| Volume swap
 
| style="color: red" | ✗                                 
 
| ✔
 
| ✔
 
|
 
| style="color: red" | ✗         
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
|-
 
| Volume rate limiting
 
| style="color: red" | ✗                                 
 
| ✔
 
| ✔
 
|
 
| style="color: red" | ✗         
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
| style="color: red" | ✗
 
|}
 
  
# Inject Networking only works with nova-network in Flat mode, and only with Debian/Ubuntu based virtual machines, and only at boot time
+
=== Features ===
# [[XenServer]] integration also supports using a guest agent to inject networking settings, at any time when a VM has the guest agent installed, through an admin API extension
+
 
# (unused)
+
'''WARNING This table is no longer considered to be the canonical source of information about driver support status. For Kilo releases onwards, please consult the new [http://docs.openstack.org/developer/nova/support-matrix.html Nova Hypervisor Support Matrix]'''. To reduce confusion, the Juno support matrix is at [[HypervisorSupportMatrix/Juno]].
# XenAPI support for serial console [https://blueprints.launchpad.net/nova/+spec/xenapi-server-log was added in Havana]
 
# (unsued)
 
# Functionality provided by cloudbase-init for windows http://www.cloudbase.it/cloud-init-for-windows-instances/
 
# Vlan and Routing is only supported on Hyper-V when using the Quantum Hyper-V Plugin; VlanManager mode is not supported with nova-network.
 
# Support of Xen using Libvirt
 
# Security Groups supported on VC/ESX Driver when using the Quantum NVP Plugin
 
# https://bugs.launchpad.net/nova/+bug/1192192
 
# The PowerVM driver currently only supports hard reboot.
 
  
 
=== Description of features ===
 
=== Description of features ===
Line 500: Line 81:
 
==== nova diagnostics ====
 
==== nova diagnostics ====
  
The `nova diagnostics` command will provide some information about resource use associated with an instance. See the [http://docs.openstack.org/folsom/openstack-compute/admin/content/diagnose-compute-tutorial.html OpenStack Compute admin guide] for more details.
+
The `nova diagnostics` command will provide some information about resource use associated with an instance. See the [http://docs.openstack.org/admin-guide-cloud/content/instance_usage_statistics.html OpenStack Cloud Administrator Guide] for more details.
  
 
==== Set Admin Pass ====
 
==== Set Admin Pass ====
Line 509: Line 90:
  
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=kvm KVM-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=kvm KVM-specific bugs]
* [https://bugs.launchpad.net/nova/+bugs?field.tag=xenserver,xen Xen-specific bugs]
+
* [https://bugs.launchpad.net/nova/+bugs?field.tag=xenserver,xen XenApi-specific bugs]
 +
* [https://bugs.launchpad.net/nova/+bugs?field.tag=xen+libvirt+&field.tags_combinator=ALL libvirt+Xen-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=qemu QEMU-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=qemu QEMU-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=lxc LXC-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=lxc LXC-specific bugs]
Line 515: Line 97:
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=hyper-v Hyper-V-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=hyper-v Hyper-V-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=baremetal Baremetal-specific bugs]
 
* [https://bugs.launchpad.net/nova/+bugs?field.tag=baremetal Baremetal-specific bugs]
* [https://bugs.launchpad.net/nova/+bugs?field.tag=powervm PowerVM-specific bugs]
+
* [https://bugs.launchpad.net/nova/+bugs?field.tag=docker Docker-specific bugs]

Latest revision as of 13:53, 26 July 2019

WARNING: The information in doc/source/user/support-matrix.ini in the Nova source tree obsoletes this information.

Compute Drivers

OpenStack Compute (Nova) has an abstraction layer for compute drivers. This is what allows you to choose which hypervisor(s) to use for your Nova deployment. The reality is that the support of each of the options is not equal. They are not tested the same amount. They also do not all support the same features. The purpose of this page is to describe the current support state of each compute driver in terms of testing and functionality.

Driver Testing Status

Group A

These drivers are fully supported. Test coverage includes:

  • unit tests that gate commits
  • functional testing that gate commits


Drivers in this group include:

  • libvirt (qemu/KVM on x86)

Group B

These drivers are in a bit of a middle ground. Test coverage includes:

  • unit tests that gate commits
  • functional testing providing by an external system that does not gate commits, but advises patch authors and reviewers of results in gerrit (the code review system).


Drivers in this group include:

Group C

NOTE: Drivers in Group C will be deprecated by the Icehouse release. See HypervisorSupportMatrix/DeprecationPlan for details.

These drivers have minimal testing and may or may not work at any given time. Use them at your own risk. Test coverage includes:

  • (maybe) unit tests that gate commits
  • no public functional testing


Drivers in this group include.

  • baremetal
  • docker
  • LXC via libvirt

Hypervisor feature support matrix

This is an attempt to help new users decide on a hypervisor based on features that can be controlled through compute.

Historically, most OpenStack development is done with the KVM hypervisor with which you are more likely to find community support for issues . All features that are currently supported in KVM are also supported in QEMU.

Microsoft Hyper-V and VMware ESXi are gaining much support with Hyper-V now being available with a free license. ESXi can also be used with a free license however API support is limited as READ ONLY without vCenter and an Enterprise license.

As far as the Xen hypervisor is concerned, it is worth noting the following definitions:

  • XenServer: Open Source but commercially supported product from Citrix (Free edition also available)
  • Xen Cloud Platform (XCP): Open-source equivalent of XenServer (and the development project for the toolstack). Everything said about XenServer below applies equally to XCP.
  • XenAPI: The management API exposed by XenServer and XCP.
  • XAPI: The primary daemon on XenServer and Xen Cloud Platform; the one that exposes the XenAPI.
  • Xen via Libvirt: Xen hypervisor management using the libvirt Xen driver.

Nova has support for XenServer and XCP through the XenAPI virt layer. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 6 or SUSE, which is provided via the libvirt layer (i.e. Xen via libvirt).

As far as the Baremetal hypervisor is concerned, it is worth noting that Ironic will deprecate the baremetal driver upon its graduation. New features are being added to Ironic.

Please help keep this list up-to-date.

Legend: ✔ indicates support, ✗ indicates the feature is not supported, * indicates there is a caveat to the functionality (caveats need to be documented!), and a blank cell generally indicates more testing is needed to make a judgment.


Features

WARNING This table is no longer considered to be the canonical source of information about driver support status. For Kilo releases onwards, please consult the new Nova Hypervisor Support Matrix. To reduce confusion, the Juno support matrix is at HypervisorSupportMatrix/Juno.

Description of features

Auto configure disk

Automatically reconfigure the size of the partition to match the size of the flavor's root drive before booting.

nova diagnostics

The `nova diagnostics` command will provide some information about resource use associated with an instance. See the OpenStack Cloud Administrator Guide for more details.

Set Admin Pass

This feature is the use of a guest agent to change the administrative (root) password on an instance.

Known bugs, by hypervisor