Jump to: navigation, search

Difference between revisions of "Nova/ComputeDrivers"

(Compute Driver Support Status)
Line 1: Line 1:
Integrated into [[HypervisorSupportMatrix]]
+
 
 +
= Hypervisor 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]]: Commercial, supported product from Citrix.
 +
* 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.
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
| '''Feature'''           
 +
| '''[[XenServer|XenServer/XCP]] '''
 +
| '''[http://docs.openstack.org/trunk/openstack-compute/install/yum/content/kvm.html KVM]'''
 +
| '''[http://docs.openstack.org/trunk/openstack-compute/install/yum/content/qemu.html QEMU]'''
 +
| '''[http://lxc.sourceforge.net LXC]'''
 +
| '''[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]'''
 +
|-
 +
| 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     
 +
| ✔                                 
 +
|           
 +
|           
 +
|         
 +
|           
 +
|           
 +
 +
| ✗         
 +
|}
 +
 
 +
# Inject Networking only works with nova-network in Flat mode, and only with Debian/Ubuntu based virtual machines, and only at boot time
 +
# [[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
 +
# XenAPI Config drive support [https://blueprints.launchpad.net/nova/+spec/xenapi-config-drive was added in Grizzly]
 +
# XenAPI support for serial console is currently [https://review.openstack.org/#/c/17959/ under development]
 +
# Unknown: VNC support has since [https://blueprints.launchpad.net/nova/+spec/vnc-console-cleanup been unified between libvirt and XenAPI]
 +
# 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 isnot supported with nova-network.
 +
# Support of Xen using Libvirt
 +
# 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 [http://docs.openstack.org/folsom/openstack-compute/admin/content/diagnose-compute-tutorial.html 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 ==
 +
 
 +
* [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=qemu QEMU-specific bugs]
 +
* [https://bugs.launchpad.net/nova/+bugs?field.tag=lxc LXC-specific bugs]
 +
* [https://bugs.launchpad.net/nova/+bugs?field.tag=vmware VMware-specific bugs]
 +
* [https://bugs.launchpad.net/nova/+bugs?field.tag=hyperv Hyper-V-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]

Revision as of 16:10, 9 May 2013

Hypervisor 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: Commercial, supported product from Citrix.
  • 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