Better dry-run mode
* Use drbdadm --dry-run instead of echoing command * Do not check if drbd volume is existant * Do not run evomaintenance
This commit is contained in:
parent
ea4884c1b4
commit
f3b8cccbae
27
add-vm.sh
27
add-vm.sh
|
@ -168,15 +168,19 @@ cat << EOT >> $tmpResFile
|
|||
EOT
|
||||
|
||||
# Create/Activate the new drbd resources.
|
||||
dryRun install -m 600 $tmpResFile /etc/drbd.d/${vmName}.res
|
||||
dryRun scp /etc/drbd.d/${vmName}.res ${slaveKVMIP}:/etc/drbd.d/
|
||||
dryRun drbdadm create-md "$vmName"
|
||||
dryRun ssh $slaveKVMIP drbdadm create-md "$vmName"
|
||||
($doDryRun) && drbdadm -d adjust "$vmName"
|
||||
($doDryRun) || drbdadm adjust "$vmName"
|
||||
($doDryRun) && ssh $slaveKVMIP drbdadm -d adjust "$vmName"
|
||||
($doDryRun) || ssh $slaveKVMIP drbdadm adjust "$vmName"
|
||||
dryRun drbdadm -- --overwrite-data-of-peer primary "$vmName"
|
||||
drbdadm="$(command -v drbdadm)"
|
||||
($doDryRun) && drbdadm="${drbdadm} --dry-run"
|
||||
|
||||
($doDryRun) && trap "rm /etc/drbd.d/${vmName}.res && ssh ${slaveKVMIP} rm /etc/drbd.d/${vmName}.res" 0
|
||||
install -m 600 $tmpResFile /etc/drbd.d/${vmName}.res
|
||||
scp /etc/drbd.d/${vmName}.res ${slaveKVMIP}:/etc/drbd.d/
|
||||
${drbdadm} create-md "$vmName"
|
||||
ssh $slaveKVMIP ${drbdadm} create-md "$vmName"
|
||||
${drbdadm} adjust "$vmName"
|
||||
ssh $slaveKVMIP ${drbdadm} adjust "$vmName"
|
||||
${drbdadm} -- --overwrite-data-of-peer primary "$vmName"
|
||||
|
||||
if !($doDryRun); then
|
||||
sleep 5 && drbd-overview | tail -4
|
||||
|
||||
drbdDiskPath="/dev/drbd/by-res/${vmName}/0"
|
||||
|
@ -187,6 +191,7 @@ if ! [[ -b "$drbdDiskPath" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
virtHome=""
|
||||
[ "$volhomeDisk" != "none" ] && virtHome="--disk path=/dev/drbd/by-disk/${volhomeDisk}/${vmName}_home,bus=virtio,io=threads,cache=none,format=raw"
|
||||
|
@ -203,6 +208,8 @@ dryRun virt-install --connect=qemu:///system \
|
|||
--os-variant=none \
|
||||
--pxe
|
||||
|
||||
[ -x /usr/share/scripts/evomaintenance.sh ] && echo "Install VM ${vmName} (add-vm.sh)" | /usr/share/scripts/evomaintenance.sh
|
||||
if [ -x /usr/share/scripts/evomaintenance.sh ]; then
|
||||
($doDryRun) || echo "Install VM ${vmName} (add-vm.sh)" | /usr/share/scripts/evomaintenance.sh
|
||||
fi
|
||||
|
||||
echo -e "\e[32mDone! Now you can install your VM with virt-manager.\e[39m"
|
||||
|
|
Loading…
Reference in a new issue