Jump to: navigation, search


Xen (XCP-XAPI) on Precise (Ubuntu 12.04)

This page should contain a sequence of operations to install an XCP-XAPI hypervisor on top of Precise, to get started with OpenStack.

Setup base system

Install a minimal system (Press F4 during the CD install)

Select only an OpenSSH Server when asked

Other requirements:

  • An empty partition - in my case `/dev/sda7` (should not contain LVM pv s)
  • `eth0` connected to a network with a DHCP server

XCP-XAPI with bridge networking

All the following commands must be executed as root. At the moment you need to perform some post install fixes in case of bridge networking.

Instal Packages

Update your system

apt-get update
apt-get -y dist-upgrade

Select your desired network configuration, so that it won't be asked. At the moment the installer seems to ignore this bit, but it is useful to avoid popping up the dialog.

echo "xcp-networkd    xcp-xapi/networking_type        select  bridge" |  debconf-set-selections

Setup a redirection, to make sure, xen will be booted first.

dpkg-divert --add --rename --divert /etc/grub.d/09_linux_xen /etc/grub.d/20_linux_xen

Install XCP-XAPI

apt-get install -y xcp-xapi

Post Install Fixes

Select xapi as your default toolstack

echo 'TOOLSTACK=xapi' > /etc/default/xen

Change your network configuration to bridge

echo 'bridge' > /etc/xcp/network.conf

Install `qemu-common`, so that the keymap files will be installed to the correct location.

apt-get install -y qemu-common

Configure your network temporarily, so that you still have access to the server after reboot. After reboot, we'll remove this configuration, and use xcp-xapi to manage the network.

echo 'auto lo' > /etc/network/interfaces
echo 'iface lo inet loopback' >> /etc/network/interfaces
echo 'auto xenbr0' >> /etc/network/interfaces
echo 'iface xenbr0 inet dhcp' >> /etc/network/interfaces
echo '    bridge_ports eth0' >> /etc/network/interfaces

Hack xend init script

sed -i "s/\\\$XEND status && return 1/return 0/" /etc/init.d/xend

Disable services

update-rc.d xendomains disable

Disable openvswitch

update-rc.d openvswitch-switch disable

#!wiki caution
There is a known incompatibility between linux-image-3.2.0-36-generic and xen-hypervisor-4.1-amd64 which resulted in bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1111470 - If you are using this kernel package, upgrade to the Quantal kernel - e.g. http://packages.qa.ubuntu.com/qatracker/milestones/223/builds/25321/downloads

Reboot your server


Re-configure your network interface (eth0, dhcp)

xe pif-reconfigure-ip uuid=$(xe pif-list device=eth0 --minimal) mode=dhcp
echo 'auto lo' > /etc/network/interfaces
echo 'iface lo inet loopback' >> /etc/network/interfaces

SR Configuration

Save your desired SR device to a shell variable


Create an SR from your SRDEVICE

. /etc/xcp/inventory
SR=$(xe sr-create \
type=ext \
name-label='Local storage' \

Set the newly created SR to be the pool default

POOL=$(xe pool-list --minimal)
xe pool-param-set uuid=$POOL default-SR=$SR