Created
April 3, 2018 12:19
-
-
Save sshnaidm/ce385fa4311b342a4e733509000f11aa to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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