Big bang
This commit is contained in:
45
teardown.sh
Executable file
45
teardown.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# Destroy the whole lab: VMs (and their disks), the network, and staged images.
|
||||
# Use --keep-iso to preserve the downloaded Proxmox/Debian ISOs for a faster rebuild.
|
||||
set -uo pipefail
|
||||
source "$(dirname "$0")/lab.env"
|
||||
|
||||
sudo -v # prompt for the sudo password once, up front
|
||||
|
||||
KEEP_ISO=0
|
||||
[[ "${1:-}" == "--keep-iso" ]] && KEEP_ISO=1
|
||||
|
||||
echo "==> Destroying VMs"
|
||||
for d in "$PVE1_NAME" "$PVE2_NAME" "$STORE_NAME"; do
|
||||
sudo virsh destroy "$d" 2>/dev/null || true
|
||||
sudo virsh undefine "$d" --remove-all-storage --nvram 2>/dev/null \
|
||||
|| sudo virsh undefine "$d" --remove-all-storage 2>/dev/null || true
|
||||
done
|
||||
|
||||
echo "==> Removing host NAT/forward rules for ${NET_SUBNET}/${NET_PREFIX}"
|
||||
sudo iptables -t nat -D POSTROUTING -s "${NET_SUBNET}/${NET_PREFIX}" ! -d "${NET_SUBNET}/${NET_PREFIX}" -j MASQUERADE 2>/dev/null || true
|
||||
sudo iptables -D FORWARD -i "${NET_BRIDGE}" -j ACCEPT 2>/dev/null || true
|
||||
sudo iptables -D FORWARD -o "${NET_BRIDGE}" -j ACCEPT 2>/dev/null || true
|
||||
|
||||
echo "==> Destroying network ${NET_NAME}"
|
||||
sudo virsh net-destroy "$NET_NAME" 2>/dev/null || true
|
||||
sudo virsh net-undefine "$NET_NAME" 2>/dev/null || true
|
||||
|
||||
echo "==> Removing staged images"
|
||||
sudo rm -f "${LIB_DIR}/${PVE1_NAME}.qcow2" "${LIB_DIR}/${PVE2_NAME}.qcow2" \
|
||||
"${LIB_DIR}/${STORE_NAME}.qcow2" "${LIB_DIR}/${STORE_NAME}-data.qcow2" \
|
||||
"${LIB_DIR}/${STORE_NAME}-seed.iso" \
|
||||
"${LIB_DIR}/pve1-auto.iso" "${LIB_DIR}/pve2-auto.iso"
|
||||
if [[ "$KEEP_ISO" == 0 ]]; then
|
||||
sudo rm -f "${LIB_DIR}/${ISO_FILE}" "${LIB_DIR}/${DEBIAN_IMG}"
|
||||
fi
|
||||
|
||||
echo "==> Removing the 'pve-lab' storage pool"
|
||||
sudo virsh pool-destroy pve-lab 2>/dev/null || true
|
||||
sudo virsh pool-undefine pve-lab 2>/dev/null || true
|
||||
|
||||
echo "==> Cleaning build artifacts"
|
||||
rm -rf "${BUILD_DIR}"
|
||||
|
||||
echo "Teardown complete."
|
||||
[[ "$KEEP_ISO" == 1 ]] && echo "(kept downloaded ISOs in ${LIB_DIR})"
|
||||
Reference in New Issue
Block a user