pkvlm-create
author Tero Marttila <terom@fixme.fi>
Sat, 10 Dec 2011 17:06:27 +0200
changeset 0 0b1089c8a8ac
child 1 51b1db97f448
permissions -rwxr-xr-x
initial stuff
#!/bin/bash
BRIDGE=br-lan
RAM=1024
VCPUS=2
IMAGE=isos/debian-6.0.3-amd64-netinst_preseed.iso
IMAGE_VARIANT=debiansqueeze


NAME=$1
VG=pvl
DISK_NAME=${NAME}
DISK=/dev/mapper/${VG}-$DISK_NAME
DISK_SIZE=10G

PRESEED_FILE=/cdrom/preseed.cfg
PRESEED_CHECKSUM=35ea42c7b0139aab26284a96c0ec8c31

PRESEED_BOOT={preseed/file=$PRESEED_FILE preseed/file/checksum=$PRESEED_CHECKSUM}

# env
LVCREATE=/sbin/lvcreate
VIRT_INSTALL=/usr/bin/virt-install

LIBVIRT_URL=qemu:///system
VIRT_TYPE=kvm

#SEMANAGE=/usr/sbin/semanage
#RESTORECON=/sbin/restorecon

# functions
set -e

function cmd () {
    echo ">>> $@"
    eval "$@" || exit $?
}


### Go!

## LVM
[ -e $DISK ] || cmd $LVCREATE -L $DISK_SIZE -n $DISK_NAME $VG


## SELinux?
#$SEMANAGE fcontext -a -t virt_image_t $DISK
#$RESTORECON -v $DISK

## virt-install
cmd $VIRT_INSTALL \
        --connect $LIBVIRT_URL \
        --name $NAME \
        --ram $RAM --vcpus $VCPUS \
        --cdrom "$IMAGE" \
        --os-variant $IMAGE_VARIANT \
        --disk path=$DISK,bus=virtio \
        --network bridge:$BRIDGE \
        --vnc \
        --virt-type $VIRT_TYPE \
        --accelerate --hvm \
        --serial pty