#!/bin/sh

export PATH #WTF?

HOSTNAME="$2"
DIST="$3"
MIRROR="$4"
IMAGESIZE="$5"
IP="$6"

ARCH=amd64

#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

VOLUME=/dev/mapper/xenvg-d_${HOSTNAME}_hda

# If this script is interrupted, it may not clean up after itself.
# In particular, it may leave ${VOLUME}1 mounted somewhere in tmp.
# Unmount it, then kpartx -d $VOLUME to clean up.

###
###  Create the device for SIPB-Xen purposes
###
echo ,${IMAGESIZE}$',L,*\n,,S\n;\n;' | sfdisk -uM -H 255 -S 63 $VOLUME
kpartx -a $VOLUME

# We use static IP addresses since dhcp doesn't work in paravm because
# of a UDP checksum bug.

xen-create-image --image-dev ${VOLUME}1 --swap-dev ${VOLUME}2 --fs ext3 --ide --arch $ARCH --dist $DIST --hostname $HOSTNAME --mirror $MIRROR --ip=$IP --netmask=255.255.0.0 --gateway=18.181.0.1 --template=/dev/null --cache

# xen-create-image always creates a config file.  The
# --template=/dev/null argument makes it empty, but it still should be
# removed.
rm -f /etc/xen/$HOSTNAME.cfg

kpartx -d $VOLUME
