Difference between revisions of "HypervisorSupportMatrix"
(Moved libvirt/Xen column to be adjacent to all other libvirt hypervisor columns) |
(→Hypervisor feature support matrix) |
||
Line 79: | Line 79: | ||
| style="color: red" | '''[https://blueprints.launchpad.net/nova/+spec/powervm-compute-driver PowerVM]''' (deprecated) | | style="color: red" | '''[https://blueprints.launchpad.net/nova/+spec/powervm-compute-driver PowerVM]''' (deprecated) | ||
| '''[http://www.docker.io Docker]''' | | '''[http://www.docker.io Docker]''' | ||
+ | | '''[http://www.ibm.com/systems/power/software/linux/powerlinux/powerkvm PowerKVM]''' | ||
|- | |- | ||
| Launch | | Launch | ||
Line 91: | Line 92: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
| ✔ | | ✔ | ||
|- | |- | ||
Line 103: | Line 105: | ||
| ✔ | | ✔ | ||
| ✔*(11) | | ✔*(11) | ||
+ | | ✔ | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
Line 116: | Line 119: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
Line 131: | Line 135: | ||
| ✔ | | ✔ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Rescue | | Rescue | ||
Line 144: | Line 149: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Pause | | Pause | ||
Line 157: | Line 163: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Un-pause | | Un-pause | ||
Line 170: | Line 177: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Suspend | | Suspend | ||
Line 183: | Line 191: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Resume | | Resume | ||
Line 196: | Line 205: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Inject Networking | | Inject Networking | ||
Line 208: | Line 218: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
| | | | ||
|- | |- | ||
Line 222: | Line 233: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| Serial Console Output | | Serial Console Output | ||
Line 235: | Line 247: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| ✔ | | ✔ | ||
+ | | | ||
|- | |- | ||
| VNC Console | | VNC Console | ||
Line 248: | Line 261: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| SPICE Console | | SPICE Console | ||
Line 260: | Line 274: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
|- | |- | ||
Line 274: | Line 289: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| Attach Volume | | Attach Volume | ||
Line 287: | Line 303: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Detach Volume | | Detach Volume | ||
Line 300: | Line 317: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Live Migration | | Live Migration | ||
Line 313: | Line 331: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Snapshot | | Snapshot | ||
Line 326: | Line 345: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
|- | |- | ||
| iSCSI | | iSCSI | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
− | |||
| ✔ | | ✔ | ||
| | | | ||
Line 340: | Line 359: | ||
| | | | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| iSCSI CHAP | | iSCSI CHAP | ||
Line 353: | Line 373: | ||
| | | | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Fibre Channel | | Fibre Channel | ||
Line 366: | Line 387: | ||
| | | | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Set Admin Pass | | Set Admin Pass | ||
Line 379: | Line 401: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| Get Guest Info | | Get Guest Info | ||
Line 392: | Line 415: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
|- | |- | ||
| Get Host Info | | Get Host Info | ||
Line 405: | Line 429: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
|- | |- | ||
| Glance Integration | | Glance Integration | ||
Line 418: | Line 443: | ||
| ✔ | | ✔ | ||
| ✔ | | ✔ | ||
+ | | ✔ | ||
|- | |- | ||
| Service Control | | Service Control | ||
Line 431: | Line 457: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| VLAN Networking | | VLAN Networking | ||
Line 444: | Line 471: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Flat Networking | | Flat Networking | ||
Line 457: | Line 485: | ||
| ✔ | | ✔ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Security Groups | | Security Groups | ||
Line 470: | Line 499: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Firewall Rules | | Firewall Rules | ||
Line 483: | Line 513: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Routing | | Routing | ||
Line 509: | Line 540: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Config Drive | | Config Drive | ||
Line 522: | Line 554: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| Auto configure disk | | Auto configure disk | ||
Line 535: | Line 568: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | | ||
|- | |- | ||
| Evacuate | | Evacuate | ||
Line 548: | Line 582: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| | | | ||
+ | | ✔ | ||
|- | |- | ||
| Volume swap | | Volume swap | ||
Line 561: | Line 596: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|- | |- | ||
| Volume rate limiting | | Volume rate limiting | ||
Line 574: | Line 610: | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
| style="color: red" | ✗ | | style="color: red" | ✗ | ||
+ | | ✔ | ||
|} | |} | ||
Revision as of 22:53, 22 May 2014
Contents
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
- Xen via libvirt
- 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.
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.
- 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.
NOTE: The PowerVM driver is deprecated in the Havana release and was removed in the Icehouse release.
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.
Feature | XenServer/XCP | KVM/libvirt on (x86) | QEMU/libvirt (x86) | LXC/libvirt | Xen/Libvirt | VMware | Hyper-V | Baremetal | Ironic | PowerVM (deprecated) | Docker | PowerKVM |
Launch | ✔ | ✔ | ✔ | ✔ | ✔ *(12) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Reboot | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔*(11) | ✔ | ✔ | ✔ |
Terminate | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Resize | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | * (15) | * (15) | ✔ | ✗ | ✔ | |
Rescue | ✔ | ✔ | ✔ | ✔ | ✗ | ✗ | ✗ | ✔ | ||||
Pause | ✔ | ✔ | ✔ | ✔ | ✗ | ✔ | * (15) | * (15) | ✗ | ✗ | ✔ | |
Un-pause | ✔ | ✔ | ✔ | ✔ | ✗ | ✔ | * (15) | * (15) | ✗ | ✗ | ✔ | |
Suspend | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | * (15) | * (15) | ✗ | ✗ | ✔ | |
Resume | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | * (15) | * (15) | ✗ | ✗ | ✔ | |
Inject Networking | ✔*(1)(2) | ✔*(1) | ✔*(1) | ✔* | ✔ | ✗ | ✗ | ✗ | ||||
Inject File | ✔ | ✔* | ✔* | ✗*(6) | ✗ | ✗ | ✗ | ✗ | ||||
Serial Console Output | ✔(4) | ✔ | ✔ | ✗ | ✔ | ✗ | ✗ | ✔ | ||||
VNC Console | ✔* | ✔* | ✔* | ✔ | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ||
SPICE Console | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ||
RDP Console | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✗ | ✗ | ✗ | ✗ | |
Attach Volume | ✔ | ✔ | ✔ | ✗ | ✔ | ✔ | ✔ | ✗ | ✗ | ✔ | ||
Detach Volume | ✔ | ✔ | ✔ | ✗ | ✔ | ✔ | ✔ | ✗ | ✗ | ✔ | ||
Live Migration | ✔ | ✔ | ✔ | ✔ | ✗ (10) | ✔ | * (15) | * (15) | ✗ | ✗ | ✔ | |
Snapshot | ✔ | ✔ | ✔ | ✔ * (13) | ✔ | ✔ | * (15) | * (15) | ✔ | ✔ | ✔ | |
iSCSI | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||||
iSCSI CHAP | ✔ | ✔ | ✔ | ✔ | ||||||||
Fibre Channel | ✗ | ✔ | ✔ | ✔ | ||||||||
Set Admin Pass | ✔ | ✗ | ✗ | ✗ | ✗*(6) | * (15) | * (15) | ✗ | ✗ | |||
Get Guest Info | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Get Host Info | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Glance Integration | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
Service Control | ✔ | ✔ | ✔ | ✔ | ✗ | ✔ | ||||||
VLAN Networking | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✗*(7) | ✗ | ✗*(16) | ✗ | ✔ | |
Flat Networking | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
Security Groups | ✔ | ✔ | ✔ | ✔ | ✔ | ✗*(9) | ✗*(7) | ✗ | ✔ | |||
Firewall Rules | ✔ | ✔ | ✔ | ✔ | ✗ *(14) | * (15) | * (15) | ✗ | ✔ | |||
Routing | ✔ | ✔ | ✔ | ✔ | ✔ | ✗*(7) | ✔ | ✔ | ✗ | |||
nova diagnostics | ✔ | ✔ | ✔ | ✔ | ✗ | ✗ | ✔ | |||||
Config Drive | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✗ | ✗ | ✗ | ||
Auto configure disk | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✗ | ✗ | |||
Evacuate | ✔ | ✔ | ✔ | ✔ | ✗ | ✗ | ✗ | ✔ | ||||
Volume swap | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | ✗ | ✔ | ||||
Volume rate limiting | ✗ | ✔ | ✔ | ✗ | ✗ | ✗ | ✗ | ✔ |
- 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
- (unused)
- XenAPI support for serial console 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 / Neutron Hyper-V Agent; 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.
- Copy on write images are not suported (see bug https://bugs.launchpad.net/nova/+bug/1253571).
- Only cold-snapshots are available.
- https://bugs.launchpad.net/nova/+bug/1269448
- Feature does not make sense for Baremetal / Ironic
- Feature currently enabled by some Ironic drivers, but not all.
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 Compute admin 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.