The purpose of the code in this directory it to help developers bootstrap a XenServer 5.6 + Openstack development environment. This file gives some pointers on how to get started.
Xenserver is a Type 1 hypervisor, so it needs to be installed on bare metal. The Openstack services are configured to run within a "privileged" virtual machine on the Xenserver host (called OS domU). The VM uses the XAPI toolstack to communicate with the host.
Install XenServer 5.6+ on a clean box. You can get XenServer by signing up for an account on citrix.com, and then visiting: https://www.citrix.com/English/ss/downloads/details.asp?downloadId=2311504&productId=683148
For details on installation, see: http://wiki.openstack.org/XenServer/Install
Here are some sample Xenserver network settings for when you are just getting started (I use settings like this with a lappy + cheap wifi router):
It is advisable (and necessary if you are using Xenserver 6.0, due to space limitations), to create the above mentioned OS domU, on a separate dev machine. To do this, you will need to run Steps 2 on the dev machine (if required) as well as the Xenserver host. Steps 3 and 4 should be run on the dev machine. This process requires you to be root on the dev machine.
At this point, your host is missing some critical software that you will need to run devstack (like git). Do this to install required software:
wget --no-check-certificate https://raw.github.com/openstack-dev/devstack/master/tools/xen/prepare_dom0.sh chmod 755 prepare_dom0.sh ./prepare_dom0.sh
This step will also clone devstack in $DEVSTACKSRCROOT/devstack. $DEVSTACKSRCROOT=/root by default.
Devstack uses a localrc for user-specific configuration. Note that the XENAPI_PASSWORD must be your dom0 root password. Of course, use real passwords if this machine is exposed.
cat > $DEVSTACKSRCROOT/devstack/localrc <<EOF MYSQL_PASSWORD=my_super_secret SERVICE_TOKEN=my_super_secret ADMIN_PASSWORD=my_super_secret RABBIT_PASSWORD=my_super_secret # This is the password for your guest (for both stack and root users) GUEST_PASSWORD=my_super_secret # IMPORTANT: The following must be set to your dom0 root password! XENAPI_PASSWORD=my_super_secret # Do not download the usual images yet! IMAGE_URLS="" # Explicitly set virt driver here VIRT_DRIVER=xenserver # Explicitly set multi-host MULTI_HOST=1 # Give extra time for boot ACTIVE_TIMEOUT=45 # Interface on which you would like to access services HOST_IP_IFACE=ethX EOF
This script prepares your nova xva image. If you run this on a different machine, copy the resulting xva file to tools/xen/xvas/[GUEST_NAME].xva (by default tools/xen/xvas/ALLINONE.xva) on the Xenserver host.
cd $DEVSTACKSRCROOT/devstack/tools/xen ./build_xva.sh
You will also need to copy your localrc to the Xenserver host.
This script does a lot of stuff, it is probably best to read it in its entirety. But in a nutshell, it performs the following:
cd $DEVSTACKSRCROOT/devstack/tools/xen ./build_domU.sh