#!/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 mebibytes
SWAPSIZE="$6"  # in mebibytes
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