Install XenServer and XCP Before you can run OpenStack with XCP or XenServer, you must install the software on an appropriate server. Xen is a type 1 hypervisor: When your server starts, Xen is the first software that runs. Consequently, you must install XenServer or XCP before you install the operating system where you want to run OpenStack code. The OpenStack services then run in a virtual machine that you install on top of XenServer. Before you can install your system, decide whether to install a free or paid edition of Citrix XenServer or Xen Cloud Platform from Xen.org. Download the software from these locations: http://www.citrix.com/XenServer/download http://www.xen.org/download/xcp/index.html When you install many servers, you might find it easier to perform PXE boot installations of XenServer or XCP. You can also package any post-installation changes that you want to make to your XenServer by creating your own XenServer supplemental pack. You can also install the xcp-xenapi package on Debian-based distributions to get XCP. However, this is not as mature or feature complete as above distributions. This modifies your boot loader to first boot Xen and boot your existing OS on top of Xen as Dom0. The xapi daemon runs in Dom0. Find more details at http://wiki.xen.org/wiki/Project_Kronos. Make sure you use the EXT type of storage repository (SR). Features that require access to VHD files (such as copy on write, snapshot and migration) do not work when you use the LVM SR. Storage repository (SR) is a XenAPI-specific term relating to the physical storage where virtual disks are stored. On the XenServer/XCP installation screen, choose the XenDesktop Optimized option. If you use an answer file, make sure you use srtype="ext" in the tag of the answer file.
Post-installation steps Complete these steps to install OpenStack in your XenServer system: For resize and migrate functionality, complete the changes described in the Configure resize section in the OpenStack Configuration Reference. Install the VIF isolation rules to help prevent mac and IP address spoofing. Install the XenAPI plug-ins. See the following section. To support AMI type images, you must set up /boot/guest symlink/directory in Dom0. For detailed instructions, see next section. To support resize/migration, set up an ssh trust relation between your XenServer hosts, and ensure /images is properly set up. See next section for more details. Create a Paravirtualized virtual machine that can run the OpenStack compute code. Install and configure the nova-compute in the above virtual machine. For more information, see how DevStack performs the last three steps for developer deployments. For more information about DevStack, see Getting Started With XenServer and Devstack (https://github.com/openstack-dev/devstack/blob/master/tools/xen/README.md). Find more information about the first step, see Multi Tenancy Networking Protections in XenServer (https://github.com/openstack/nova/blob/master/plugins/xenserver/doc/networking.rst). For information about how to install the XenAPI plug-ins, see XenAPI README (https://github.com/openstack/nova/blob/master/plugins/xenserver/xenapi/README).
Xen boot from ISO XenServer, through the XenAPI integration with OpenStack, provides a feature to boot instances from an ISO file. To activate the Boot From ISO feature, you must configure the SR elements on XenServer host, as follows: Create an ISO-typed SR, such as an NFS ISO library, for instance. For this, using XenCenter is a simple method. You must export an NFS volume from a remote NFS server. Make sure it is exported in read-write mode. On the compute host, find and record the uuid of this ISO SR: # xe host-list Locate the uuid of the NFS ISO library: # xe sr-list content-type=iso Set the uuid and configuration. Even if an NFS mount point is not local, you must specify local-storage-iso. # xe sr-param-set uuid=[iso sr uuid] other-config:i18n-key=local-storage-iso Make sure the host-uuid from xe pbd-list equals the uuid of the host you found previously: # xe sr-uuid=[iso sr uuid] You can now add images through the OpenStack Image Service with disk-format=iso, and boot them in OpenStack Compute: $ glance image-create --name=fedora_iso --disk-format=iso --container-format=bare < Fedora-16-x86_64-netinst.iso