OpenStack
From the OpenStack Documentation:
"The OpenStack Open Source Cloud Mission: to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable."
USING XAPI
The OpenStack documentation reads:
"The recommended way to use XAPI with OpenStack is through the XenAPI driver. To enable the XenAPI driver, add the following configuration options to /etc/nova/nova.conf and restart OpenStack Compute: "
compute_driver = xenapi.XenAPIDriver xenapi_connection_url = http://your_xenapi_management_ip_address xenapi_connection_username = root xenapi_connection_password = your_password
"These connection details are used by the OpenStack Compute service to contact your hypervisor and are the same details you use to connect XenCenter, the XenServer management console, to your XenServer or XCP box."
While XAPI is the preferred mechanism for supporting XenServer (and its deprecated sibling XCP), most existing Xen Project integration with OpenStack is done through libvirt below.
USING LIBVIRT
As late as 2014, The OpenStack documentation used to read:
"It is possible to manage Xen using libvirt, though this is not well-tested or supported. To experiment using Xen through libvirt add the following configuration options /etc/nova/nova.conf:"
compute_driver = libvirt.LibvirtDriver [libvirt] virt_type = xen
If your documentation says something like that, it is out of date. Currently, the majority of OpenStack integrations in the market use libvirt to employ the Xen Project hypervisor. SUSE, Ubuntu, and Oracle are all using libvirt in their OpenStack implementations.
As of February of 2015, the recommendation is to install software from the latest trees of both OpenStack and libvirt to make sure that your installation has all the patches needed to make Xen Project run correctly. With current levels of software, your Xen Project-based OpenStack cloud will simply work as expected.
The minimum level of libvirt you should use is 1.2.9; earlier versions will have stability problems.
The project also tests the current development trees against OpenStack Nova and runs a CI loop against OpenStack Nova commits. These tests have uncovered some race conditions, which have been fixed in the Xen mainline and libvirt mainlines and have been released in Xen 4.5.1 and libvirt 1.2.15.
TUNING
Use the following as a guideline for configuring Xen Project software for use in OpenStack:
Dom0 Memory
Set it between 1GB and 4GB by adding the following parameter to the grub command line:
dom0_mem=1024M
Dom0 vcpus
Set the virtual CPUs to 4 and employ CPU pinning by adding the following parameters to the grub command line:
dom0_max_vcpus=4 dom0_vcpus_pin
Use LVM for local storage
Set the volume group name in the devstack parameters:
VOLUME_GROUP=volume_group_name
PV vs HVM guests
Use the following OpenStack nova commands to select the virtualization mode:
nova image-meta <image> set vm_mode=HVM nova image-meta <image> set vm_mode=XEN nova image-meta <image> delete vm_mode
HOWTOs
- Learn about using Xen Project via libvirt for OpenStack "juno"
- Learn how to do OpenStack via DevStack to quickly install OpenStack on Xen Project on a single machine; and here's our Hands-On Video which demonstrates how to do this in under 15 minutes
- Getting Started document for OpenStack using Oracle VM (which uses the Xen Project Hypervisor)
- Using OpenStack with Xen Project on ARM64 on the Linaro Wiki
DOCUMENTATION
- The OpenStack documentation Introduction to Xen Project
- The OpenStack chart of Xen Project configuration options with both libvirt and XAPI/XenServer configuration parameters
- The OpenStack Wiki documentation for using Xen Project and XenServer
- The OpenStack Wiki documentation for using Xen Project via libvirt
- The OpenStack Wiki documentation of the Hypervisor Support Matrix with pointers to current OpenStack bugs when using the Xen Project Hypervisor
- The OpenStack Wiki documentation for using XenServer
- Oracle's Getting Started document for OpenStack using Oracle VM (which uses the Xen Project Hypervisor)
- The Linaro Wiki entry for using OpenStack with Xen Project on ARM64
- The NetIQ Cloud Manager 2.2 documentation for using the SUSE Xen Project Provisioning Adapter
- Thoughts on configuring XenServer (not Xen Project) for OpenStack Nova
- OpenStack Wikipedia entry
PRESENTATIONS
- Slides from the openSUSE Mini-Summit Deploying OpenStack Using the Xen Project Hypervisor on SUSE OpenStack Cloud held at SCALE 13x in February 2015
- Slides from the highly informative presentation Configuring OpenStack to Use the Xen Project Hypervisor from FOSDEM 2015
- Video presentation on Xen Project in OpenStack: An Overview with SUSE Cloud from Xen Project User Summit 2014
- Video presentation on Building the Rackspace Open Cloud with Xen Project and OpenStack from Xen Project User Summit 2013
PATCHES
The following patches must be included in OpenStack to ensure that everything works correctly:
These patches were accepted into Nova in February 2015, so later versions of Nova should be fine.
And, as noted earlier, libvirt should have a minimum version of 1.2.9.