devstack/tools/xen
Renuka Apte 3993816fe6 Remove hardcoding of flat network bridge
Change-Id: I66210ba438c1d8a2c12223b8895581127130ad5f
2012-03-01 16:07:23 -08:00
..
files Initial commit of xen devstack support 2011-10-26 22:29:08 -07:00
scripts Multiple vpx for xen, post splitting of script 2012-02-14 15:30:34 -08:00
templates Generalize xen network config 2012-02-14 15:30:34 -08:00
build_domU_multi.sh Multiple vpx for xen, post splitting of script 2012-02-14 15:30:34 -08:00
build_domU.sh Remove hardcoding of flat network bridge 2012-03-01 16:07:23 -08:00
build_xva.sh Add logging for prepare_guest 2012-02-14 15:30:34 -08:00
install_domU_multi.sh Multiple vpx for xen, post splitting of script 2012-02-14 15:30:34 -08:00
prepare_dom0.sh Fix troubles with git cloning https 2012-02-14 15:30:34 -08:00
prepare_guest.sh Add logging for prepare_guest 2012-02-14 15:30:34 -08:00
README.md Separate out build_xva process so that it can be run on a machine besides dom0 2012-02-06 14:28:34 -08:00
xenrc Generalize xen network config 2012-02-14 15:30:34 -08:00

Getting Started With XenServer 5.6 and Devstack

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.

Step 1: Install Xenserver

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

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):

  • XenServer Host IP: 192.168.1.10
  • XenServer Netmask: 255.255.255.0
  • XenServer Gateway: 192.168.1.1
  • XenServer DNS: 192.168.1.1

Step 2: Prepare DOM0

At this point, your server 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://github.com/cloudbuilders/devstack/raw/xen/tools/xen/prepare_dom0.sh
chmod 755 prepare_dom0.sh
./prepare_dom0.sh

This script will also clone devstack in /root/devstack

Step 3: Configure your localrc

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 > /root/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
EOF

Step 4: Run ./build_xva.sh

This script prpares your nova xva image. This script can be run on a separate machine and copied to dom0. 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)

It is likely that for XS6 you will need to build_xva.sh on a separate machine due to dom0 space constraints.

Step 5: Run ./build_domU.sh

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:

  • Configures bridges and vlans for public, private, and management nets
  • Creates and installs a OpenStack all-in-one domU in an HA-FlatDHCP configuration
  • A script to create a multi-domU (ie. head node separated from compute) configuration is coming soon!

Step 6: Do cloudy stuff!

  • Play with horizon
  • Play with the CLI
  • Log bugs to devstack and core projects, and submit fixes!