Jump to: navigation, search

Difference between revisions of "HypervisorSupportMatrix"

(KVM does support resize)
(Clean syntax in hypervisor support matrix, some copy editing.)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
= Hypervisor support matrix =
 +
 
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.
  
Whilst the intention is to keep this up to date it was created just after the release of Cactus, so if it says a feature is not possible it may warrant further investigation.
+
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 feature that are currently supported in KVM are also supported in QEMU.
  
It is also worth noting that the majority of openstack development is done with the KVM/ubuntu and XEN hypervisors. This means that (currently at least) you are more likely to find community support for issues with these hypervisors. As far as the Xen hypervisor is concerned, it is worth noting the following definitions:
+
As far as the Xen hypervisor is concerned, it is worth noting the following definitions:
  
 
* [[XenServer]]: Commercial, supported product from Citrix.
 
* [[XenServer]]: Commercial, supported product from Citrix.
Line 11: Line 13:
 
* 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.
  
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 5 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.
  
 
Please help keep this list up-to-date.
 
Please help keep this list up-to-date.
  
'''Legend''': ✔ indicates support, ✗ indicates the feature is not supported, E indicates the feature was added in Essex, * indicates there is a caveat to the functionality (more details about caveats coming soon), and a blank cell generally indicates more testing is needed to make a judgment.
+
'''Legend''': ✔ indicates support, ✗ indicates the feature is not supported, F indicates the feature will be added in Folsom, * 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.
  
===== Note: QEMU~KVM, LXC~KVM for majority of features, ESX compatibility-Needs testing =====
 
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
|< >|'''Feature'''  
+
| '''Feature'''    
|<#ffffff width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid">|'''[[XenServer|XenServer/XCP]] '''  
+
| '''[[XenServer|XenServer/XCP]] '''  
|<#ffffff width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid">|'''KVM '''  
+
| '''KVM '''  
|<#ffffff width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid">|'''QEMU'''  
+
| '''QEMU'''  
|<#ffffff width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid">|'''LXC'''  
+
| '''LXC'''  
|<#ffffff width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid">|'''ESX'''  
+
| '''ESX'''  
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Launch  
+
| Launch            
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Reboot  
+
| Reboot            
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Terminate  
+
| Terminate        
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Resize  
+
| Resize            
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Rescue  
+
| Rescue            
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Pause  
+
| Pause            
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Un-pause  
+
| Un-pause          
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Suspend  
+
| Suspend          
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Resume  
+
| Resume            
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Inject Networking  
+
| Inject Networking
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔*  
+
| ✔*                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔*  
+
| ✔*        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔*       
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Inject File  
+
| Inject File      
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔*  
+
| ✔*        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔*         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Serial Console  
+
| Serial Console    
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |[https://blueprints.launchpad.net/nova/+spec/xenapi-text-console-support ]
+
| ✗                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|VNC Console  
+
| VNC Console      
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔*  
+
| ✔*                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔*  
+
| ✔*        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔*         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Attach Volume  
+
| Attach Volume    
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Detach Volume  
+
| Detach Volume    
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Live Migration  
+
| Live Migration    
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |[https://blueprints.launchpad.net/nova/+spec/xenapi-live-migration ]
+
| ✗                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Snapshot  
+
| Snapshot          
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|iSCSI  
+
| iSCSI            
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔                                 
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Set Admin Pass  
+
| Set Admin Pass    
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✗         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Get Guest Info  
+
| Get Guest Info    
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Get Host Info  
+
| Get Host Info    
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|Glance Integration  
+
| Glance Integration  
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|'''Service Control '''
+
| Service Control  
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|''-VLAN Networking''
+
| VLAN Networking  
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|''-Flat Networking''
+
| Flat Networking  
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|''-Security Groups''
+
| Security Groups  
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔ E
+
| ✔                                
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
| ✔         
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|''-Firewall Rules''
+
| Firewall Rules    
|<#dbe5f1 width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔ E
+
| ✔                                
|<#dbe5f1 width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✔  
+
| ✔        
|<#dbe5f1 width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
| ✔         
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|
+
|          
|<#dbe5f1 width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid">|✗  
+
| ✗        
 
|-
 
|-
|<#ffffff height="22px" style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;border-top:windowtext;border-right:windowtext 1pt solid">|''-Routing''
+
| Routing          
|bgcolor="transparent" width="71px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔                                 
|bgcolor="transparent" width="69px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |✔  
+
| ✔        
|bgcolor="transparent" width="47px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |  
+
| ✔        
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
|bgcolor="transparent" width="30px" style="border-bottom:windowtext 1pt solid;border-left:windowtext;border-top:windowtext;border-right:windowtext 1pt solid" |
+
|          
 +
|}
 +
 
 +
* [https://blueprints.launchpad.net/nova/+spec/xenapi-live-migration XenAPI text console support blueprint]
 +
* [https://blueprints.launchpad.net/nova/+spec/xenapi-live-migration XenAPI live imgration support blueprint]

Revision as of 16:52, 11 July 2012

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 feature 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, F indicates the feature will be added in Folsom, * 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 ESX
Launch
Reboot
Terminate
Resize
Rescue
Pause
Un-pause
Suspend
Resume
Inject Networking ✔* ✔* ✔*
Inject File ✔* ✔*
Serial Console
VNC Console ✔* ✔* ✔*
Attach Volume
Detach Volume
Live Migration
Snapshot
iSCSI
Set Admin Pass
Get Guest Info
Get Host Info
Glance Integration
Service Control
VLAN Networking
Flat Networking
Security Groups
Firewall Rules
Routing