blob: 23039954774f17fe93bbad92720c4abd26bd8e0a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#!/usr/bin/env bash
set -euo pipefail
URI="qemu:///system"
IMGROOT="/var/lib/libvirt/images"
BASEDIR="$IMGROOT/base"
LABDIR="$IMGROOT/lab"
hr() { printf '%*s\n' "${COLUMNS:-80}" '' | tr ' ' '-'; }
echo "KVM LAB STATUS"
hr
echo "Time: $(date -Is)"
echo "Host: $(hostname)"
echo
echo "Libvirt domains ($URI):"
hr
virsh -c "$URI" list --all || true
echo
echo "Lab VMs (names starting with 'lab'):"
hr
virsh -c "$URI" list --all | awk 'NR==1||NR==2{print;next} $2 ~ /^lab/ {print}' || true
echo
echo "Lab disk inventory ($LABDIR):"
hr
if [[ -d "$LABDIR" ]]; then
sudo ls -lh --time-style=long-iso "$LABDIR" 2>/dev/null || ls -lh "$LABDIR"
else
echo "Missing: $LABDIR"
fi
echo
echo "Base images ($BASEDIR):"
hr
if [[ -d "$BASEDIR" ]]; then
ls -lh --time-style=long-iso "$BASEDIR" 2>/dev/null || ls -lh "$BASEDIR"
else
echo "Missing: $BASEDIR"
fi
echo
echo "Selected base candidates:"
hr
TEMPLATE="$BASEDIR/debian13-template.qcow2"
LATEST_WORK01="$(ls -1t "$BASEDIR"/work01-base-*.qcow2 2>/dev/null | head -n 1 || true)"
if [[ -f "$TEMPLATE" ]]; then
echo "template: $TEMPLATE"
else
echo "template: MISSING ($TEMPLATE)"
fi
if [[ -n "$LATEST_WORK01" ]]; then
echo "work01 (latest): $LATEST_WORK01"
else
echo "work01 (latest): none found ($BASEDIR/work01-base-*.qcow2)"
fi
echo
echo "Libvirt networks:"
hr
virsh -c "$URI" net-list --all || true
echo
|