Files
k3s/tests/e2e/scripts/cleanup_vms.sh
Derek Nola 0981f0069d Add E2E Split Server to Drone, support parrallel testing in Drone (#9940)
* Fix SE old test name
* E2E: support multiple VMs at once in CI with time prefix
* Add local binary support to split server test, add to drone CI
* Cleanup old VMs in drone

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-04-29 13:57:22 -07:00

35 lines
979 B
Bash
Executable File

#!/bin/bash
# Clean up any VMS that are older than 2 hours.
#
# We embed the time in the VM name, so we can easily filter them out.
# Get the current time in seconds since the epoch
current_time=$(date +%s)
# Get the list of VMs
vms=$(virsh list --name --all)
time_regex="_([0-9]+)_(server|agent)"
# Cleanup running VMs, happens if a previous test panics
for vm in $vms; do
if [[ $vm =~ $time_regex ]]; then
vm_time="${BASH_REMATCH[1]}"
age=$((current_time - vm_time))
if [ $age -gt 7200 ]; then
virsh destroy $vm
virsh undefine $vm --remove-all-storage
fi
fi
done
# Cleanup inactive domains, happens if previous test is canceled
vms=$(virsh list --name --inactive)
for vm in $vms; do
if [[ $vm =~ $time_regex ]]; then
vm_time="${BASH_REMATCH[1]}"
age=$((current_time - vm_time))
if [ $age -gt 7200 ]; then
virsh undefine $vm --remove-all-storage
fi
fi
done