Jump to: navigation, search

Difference between revisions of "HypervisorSupportMatrix"

(Hypervisor feature support matrix)
Line 128: Line 128:
 
| ✔           
 
| ✔           
 
|           
 
|           
| ✗           
+
| style="color: red" | ✗           
 
| ✔         
 
| ✔         
 
|         
 
|         
| ✗     
+
| style="color: red" | ✗     
 
|-
 
|-
 
| Un-pause                   
 
| Un-pause                   
Line 138: Line 138:
 
| ✔           
 
| ✔           
 
|           
 
|           
| ✗           
+
| style="color: red" | ✗           
 
| ✔         
 
| ✔         
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Suspend                   
 
| Suspend                   
Line 151: Line 151:
 
| ✔         
 
| ✔         
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Resume                     
 
| Resume                     
Line 161: Line 161:
 
| ✔         
 
| ✔         
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Inject Networking         
 
| Inject Networking         
Line 171: Line 171:
 
| ✔         
 
| ✔         
 
| ✔
 
| ✔
| ✗
+
| style="color: red" | ✗
 
|-
 
|-
 
| Inject File               
 
| Inject File               
Line 179: Line 179:
 
|           
 
|           
 
|             
 
|             
| ✗*(6)
+
| style="color: red" | ✗*(6)
 
| ✔
 
| ✔
| ✗
+
| style="color: red" | ✗
 
|-
 
|-
 
| Serial Console             
 
| Serial Console             
| ✗*(4)                               
+
| style="color: red" | ✗*(4)                               
 
| ✔           
 
| ✔           
 
| ✔           
 
| ✔           
| ✗         
+
| style="color: red" | ✗         
 
| ✔           
 
| ✔           
| ✗         
+
| style="color: red" | ✗         
 
| ✔*
 
| ✔*
| ✗         
+
| style="color: red" | ✗         
 
|-
 
|-
 
| VNC Console               
 
| VNC Console               
Line 201: Line 201:
 
|             
 
|             
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Attach Volume             
 
| Attach Volume             
Line 207: Line 207:
 
| ✔           
 
| ✔           
 
| ✔           
 
| ✔           
| ✗         
+
| style="color: red" | ✗         
 
| ✔           
 
| ✔           
 
| ✔           
 
| ✔           
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Detach Volume             
 
| Detach Volume             
Line 217: Line 217:
 
| ✔           
 
| ✔           
 
| ✔           
 
| ✔           
| ✗         
+
| style="color: red" | ✗         
 
| ✔           
 
| ✔           
 
| ✔           
 
| ✔           
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Live Migration             
 
| Live Migration             
Line 231: Line 231:
 
| ✔           
 
| ✔           
 
|   
 
|   
| ✗           
+
| style="color: red" | ✗           
 
|-
 
|-
 
| Snapshot                   
 
| Snapshot                   
Line 256: Line 256:
 
| Set Admin Pass             
 
| Set Admin Pass             
 
| ✔                                   
 
| ✔                                   
| ✗           
+
| style="color: red" | ✗           
| ✗           
+
| style="color: red" | ✗           
 
|           
 
|           
| ✗           
+
| style="color: red" | ✗           
| ✗*(6)       
+
| style="color: red" | ✗*(6)       
 
|             
 
|             
| ✗
+
| style="color: red" | ✗
 
|-
 
|-
 
| Get Guest Info             
 
| Get Guest Info             
Line 302: Line 302:
 
|             
 
|             
 
|       
 
|       
| ✗     
+
| style="color: red" | ✗     
 
|-
 
|-
 
| VLAN Networking           
 
| VLAN Networking           
Line 310: Line 310:
 
| ✔         
 
| ✔         
 
| ✔           
 
| ✔           
| ✗*(7)       
+
| style="color: red" | ✗*(7)       
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Flat Networking           
 
| Flat Networking           
Line 329: Line 329:
 
| ✔           
 
| ✔           
 
| ✔         
 
| ✔         
| ✗*(9)           
+
| style="color: red" | ✗*(9)           
 
|             
 
|             
 
|   
 
|   
| ✗           
+
| style="color: red" | ✗           
 
|-
 
|-
 
| Firewall Rules             
 
| Firewall Rules             
Line 342: Line 342:
 
|             
 
|             
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Routing                   
 
| Routing                   
Line 350: Line 350:
 
|           
 
|           
 
| ✔           
 
| ✔           
| ✗*(7)       
+
| style="color: red" | ✗*(7)       
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| nova diagnostics           
 
| nova diagnostics           
Line 362: Line 362:
 
|             
 
|             
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Config Drive               
 
| Config Drive               
Line 372: Line 372:
 
|  ✔         
 
|  ✔         
 
|     
 
|     
| ✗       
+
| style="color: red" | ✗       
 
|-
 
|-
 
| Auto configure disk       
 
| Auto configure disk       
Line 382: Line 382:
 
|             
 
|             
 
|   
 
|   
| ✗           
+
| style="color: red" | ✗           
 
|}
 
|}
  

Revision as of 23:24, 9 May 2013

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)

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:

  • None


Note: XenAPI was in this group for Grizzy, but dropped into 'Group C' just after the start of Havana when SmokeStack stopped running tests on XenServer.

Group C

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
  • Hyper-V
  • libvirt (LXC, Xen)
  • powervm
  • VMware
  • XenAPI

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.

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.

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.

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.

Please help keep this list up-to-date.

Legend: ✔ indicates support, ✗ indicates the feature is not supported, G indicates the feature will be added in Grizzly, * 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.

Feature XenServer/XCP KVM QEMU LXC ESXi/VC Hyper-V Baremetal PowerVM
Launch
Reboot
Terminate
Resize
Rescue
Pause
Un-pause
Suspend
Resume
Inject Networking ✔*(1)(2) ✔*(1) ✔*(1) ✔*
Inject File ✔* ✔* ✗*(6)
Serial Console ✗*(4) ✔*
VNC Console ✔*(5) ✔* ✔*
Attach Volume
Detach Volume
Live Migration
Snapshot
iSCSI
Set Admin Pass ✗*(6)
Get Guest Info
Get Host Info
Glance Integration
Service Control
VLAN Networking ✗*(7)
Flat Networking
Security Groups ✗*(9)
Firewall Rules
Routing ✗*(7)
nova diagnostics
Config Drive ✔*(3)
Auto configure disk
  1. Inject Networking only works with nova-network in Flat mode, and only with Debian/Ubuntu based virtual machines, and only at boot time
  2. 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
  3. XenAPI Config drive support was added in Grizzly
  4. XenAPI support for serial console is currently under development
  5. Unknown: VNC support has since been unified between libvirt and XenAPI
  6. Functionality provided by cloudbase-init for windows http://www.cloudbase.it/cloud-init-for-windows-instances/
  7. Vlan and Routing is only supported on Hyper-V when using the Quantum Hyper-V Plugin; VlanManager mode isnot supported with nova-network.
  8. Support of Xen using Libvirt
  9. Security Groups supported on VC/ESX Driver when using the Quantum NVP Plugin

Description of features

nova diagnostics

The `nova diagnostics` command will provide some information about resource use associated with an instance. See the OpenStack Compute admin guide for more details.

Auto configure disk

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

Known bugs, by hypervisor