New guest-based autoinstaller
[invirt/packages/invirt-autoinstaller.git] / files / usr / sbin / sipb-xen-install
index 7d82f06..ad72827 100644 (file)
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
 
-export PATH #WTF?
+export PATH
 
 HOSTNAME="$2"
 DIST="$3"
@@ -8,34 +8,15 @@ MIRROR="$4"
 IMAGESIZE="$5"
 IP="$6"
 
-ARCH=amd64
+VOLUME=/dev/mapper/xenvg-d_${HOSTNAME}_hda
 
-#LVSIZE=`lvs --noheadings --units M --nosuffix -o Size /dev/xenvg/d_foobar_hda | sed 's/\..*//'`
+cat > $VOLUME <<EOF
+HOSTNAME=$HOSTNAME
+DIST=$DIST
+MIRROR=$MIRROR
+IMAGESIZE=$IMAGESIZE
+IP=$IP
+return
+EOF
 
-if [ -z "$IP" ]; then
-    IP=`host $HOSTNAME.xvm.mit.edu | sed 's/.* //' | head -n 1`
-fi
-
-VOLUME=/dev/mapper/xenvg-d_$(echo "$HOSTNAME" | sed -e 's/-/--/g')_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
+xm create autoinstall.cfg target=$HOSTNAME guestip=$IP