Skip to content

Instantly share code, notes, and snippets.

@sshnaidm
Created April 3, 2018 12:19
Show Gist options
  • Save sshnaidm/ce385fa4311b342a4e733509000f11aa to your computer and use it in GitHub Desktop.
Save sshnaidm/ce385fa4311b342a4e733509000f11aa to your computer and use it in GitHub Desktop.
#!/bin/bash
CURDIR=$HOME/virtual
PREFIX=${1:-""}
IMGS=/home/imgs/
KS_PATH=$CURDIR/multinode.ks
URL="http://mirror.isoc.org.il/pub/centos/7/os/x86_64/"
# Install dependencies
# sudo yum install -y virt-install
mkdir -p $IMGS
function startvm {
local NAME=$1
virsh --connect qemu:///system destroy "$NAME"
virsh -c qemu:///system snapshot-list ${NAME} --name |while read s; do virsh snapshot-delete ${NAME} "$s"; done
virsh --connect qemu:///system undefine "$NAME" --remove-all-storage
sleep 2
rm -f "$IMGS/${NAME}.qcow2"
qemu-img create -f qcow2 -o preallocation=metadata $IMGS/${NAME}.qcow2 80G
virt-install --hvm \
--connect qemu:///system \
--network bridge=br0 \
--graphics spice \
--name "${NAME}" \
--ram=8192 \
--vcpus=6 \
--os-type=linux \
--os-variant=rhel7 \
--disk path=$IMGS/${NAME}.qcow2 \
--initrd-inject="${KS_PATH}" \
--extra-args "ks=file:/multinode.ks" \
--location $URL \
--noautoconsole \
--cpu host
}
startvm "${PREFIX}subnode-0"
startvm "${PREFIX}subnode-1"
sleep 180
for i in {1..20}; do
if virsh list --all | grep " ${PREFIX}subnode-0 " | grep "shut off"; then
break
else
sleep 60
fi
done
for i in {1..20}; do
if virsh list --all | grep " ${PREFIX}subnode-1 " | grep "shut off"; then
break
else
sleep 60
fi
done
virsh start "${PREFIX}subnode-0"
virsh start "${PREFIX}subnode-1"
sleep 30
echo "Ready!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment