From 4c889349b7c81e4c814e4da2b4a1158a47243735 Mon Sep 17 00:00:00 2001 From: Renuka Apte Date: Thu, 8 Mar 2012 13:15:03 -0800 Subject: [PATCH] Script for Ubuntu 11.10 on Xenserver This script creates a template for an Ubuntu 11.10 VM on Xenserver. This is not officially supported by Citrix, but is useful, as most of the Openstack development and instructions are based on it. Change-Id: I8457f88ebe1065429d4c03de11d7ab0ef22f357a --- tools/xen/README.md | 6 ++++ tools/xen/scripts/xenoneirictemplate.sh | 41 +++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 tools/xen/scripts/xenoneirictemplate.sh diff --git a/tools/xen/README.md b/tools/xen/README.md index d487a99675..020ec99d09 100644 --- a/tools/xen/README.md +++ b/tools/xen/README.md @@ -100,3 +100,9 @@ Step 6: Do cloudy stuff! * Play with horizon * Play with the CLI * Log bugs to devstack and core projects, and submit fixes! + +Ubuntu 11.10 VM on Xenserver +---------------------------- +Run ./scripts/xenoneirictemplate.sh on your Xenserver host. This creates a +template to be able to install a Ubuntu Oneiric (11.10) virtual machine. +Once the template is created, follow the wizard to complete the network install. diff --git a/tools/xen/scripts/xenoneirictemplate.sh b/tools/xen/scripts/xenoneirictemplate.sh new file mode 100755 index 0000000000..baf4866ad3 --- /dev/null +++ b/tools/xen/scripts/xenoneirictemplate.sh @@ -0,0 +1,41 @@ +#!/bin/bash +## makeubuntu.sh, this creates Ubuntu server 11.10 32 and 64 bit templates +## on Xenserver 6.0.2 Net install only +## Original Author: David Markey +## Author: Renuka Apte +## This is not an officially supported guest OS on XenServer 6.02 + +LENNY=$(xe template-list name-label=Debian\ Lenny\ 5.0\ \(32-bit\) --minimal) + +if [[ -z $LENNY ]] ; then + echo "Cant find lenny 32bit template, is this on 6.0.2?" + exit 1 +fi + +distro="Ubuntu 11.10" +arches=("32-bit" "64-bit") + + +for arch in ${arches[@]} ; do + echo "Attempting $distro ($arch)" + if [[ -n $(xe template-list name-label="$distro ($arch)" params=uuid --minimal) ]] ; then + echo "$distro ($arch)" already exists, Skipping + else + + NEWUUID=$(xe vm-clone uuid=$LENNY new-name-label="$distro ($arch)") + xe template-param-set uuid=$NEWUUID other-config:install-methods=http,ftp \ + other-config:install-repository=http://archive.ubuntu.net/ubuntu \ + PV-args="-- quiet console=hvc0 partman/default_filesystem=ext3 locale=en_US console-setup/ask_detect=false keyboard-configuration/layoutcode=us netcfg/choose_interface=eth3 netcfg/get_hostname=unassigned-hostname netcfg/get_domain=unassigned-domain auto url=http://images.ansolabs.com/devstackubuntupreseed.cfg" \ + other-config:debian-release=oneiric \ + other-config:default_template=true + + if [[ "$arch" == "32-bit" ]] ; then + xe template-param-set uuid=$NEWUUID other-config:install-arch="i386" + else + xe template-param-set uuid=$NEWUUID other-config:install-arch="amd64" + fi + echo "Success" + fi +done + +echo "Done"