#!/bin/sh # If this script is interrupted, it may not clean up after itself. # In particular, it may leave ${TARGET}1 mounted somewhere in tmp. # Unmount it, then kpartx -d $TARGET to clean up. set -e export PATH #WTF? NAME="$1" export HOSTNAME="$2" export DIST="$3" export MIRROR="$4" export FSSIZE="$5" # in megabytes SWAPSIZE="$6" # in megabytes export IP="$7" export ARCH=amd64 VGNAME=xenvg #LVSIZE=`lvs --noheadings --units M --nosuffix -o Size /dev/xenvg/d_foobar_hda | sed 's/\..*//'` if [ -z "$IP" ]; then IP=`host $HOSTNAME.xvm.mit.edu | sed 's/.* //' | head -n 1` fi /sbin/lvcreate -L $(($FSSIZE+$SWAPSIZE))M -n "${NAME}_hda" $VGNAME export TARGET=/dev/mapper/xenvg-"$(echo "${NAME}_hda" | sed -e 's/-/--/g')" /usr/sbin/invirt-create-image echo "disk = ['phy:$VGNAME/${NAME}_hda,hda,w']" >>/etc/xen/$HOSTNAME.cfg echo "root = '/dev/hda1 ro'" >>/etc/xen/$HOSTNAME.cfg