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
0
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#!/bin/bash
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
BRIDGE=br-lan
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
RAM=1024
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
VCPUS=2
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
IMAGE=isos/debian-6.0.3-amd64-netinst_preseed.iso
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
IMAGE_VARIANT=debiansqueeze
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
NAME=$1
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
VG=pvl
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
DISK_NAME=${NAME}
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
DISK=/dev/mapper/${VG}-$DISK_NAME
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
DISK_SIZE=10G
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
PRESEED_FILE=/cdrom/preseed.cfg
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
PRESEED_CHECKSUM=35ea42c7b0139aab26284a96c0ec8c31
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
PRESEED_BOOT={preseed/file=$PRESEED_FILE preseed/file/checksum=$PRESEED_CHECKSUM}
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
# env
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
LVCREATE=/sbin/lvcreate
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
VIRT_INSTALL=/usr/bin/virt-install
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
LIBVIRT_URL=qemu:///system
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
VIRT_TYPE=kvm
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
#SEMANAGE=/usr/sbin/semanage
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
#RESTORECON=/sbin/restorecon
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
# functions
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
set -e
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
function cmd () {
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
    echo ">>> $@"
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
    eval "$@" || exit $?
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
}
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
### Go!
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
## LVM
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
[ -e $DISK ] || cmd $LVCREATE -L $DISK_SIZE -n $DISK_NAME $VG
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    45
## SELinux?
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46
#$SEMANAGE fcontext -a -t virt_image_t $DISK
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    47
#$RESTORECON -v $DISK
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    48
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    49
## virt-install
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    50
cmd $VIRT_INSTALL \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    51
        --connect $LIBVIRT_URL \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    52
        --name $NAME \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    53
        --ram $RAM --vcpus $VCPUS \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    54
        --cdrom "$IMAGE" \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    55
        --os-variant $IMAGE_VARIANT \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    56
        --disk path=$DISK,bus=virtio \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    57
        --network bridge:$BRIDGE \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    58
        --vnc \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    59
        --virt-type $VIRT_TYPE \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    60
        --accelerate --hvm \
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    61
        --serial pty
0b1089c8a8ac initial stuff
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    62