search for orphan disks

This commit is contained in:
David Schroeder
2026-09-22 22:01:53 -05:00
parent 6d461b16f6
commit 158d3ffe76
3 changed files with 21 additions and 4 deletions
+5 -2
View File
@@ -20,13 +20,14 @@ class ReportTests(unittest.TestCase):
for kind in ('qemu-server', 'lxc'):
(self.root / node / kind).mkdir(parents=True)
(self.root / 'a/qemu-server/100.conf').write_text(
'name: app-server\n'
'scsi0: local:vm-100-disk-0,size=10G\n'
'unused0: local:vm-100-disk-1\n'
'efidisk0: shared:vm-100-efi\n'
'tpmstate0: shared:vm-100-tpm\n'
'[snap]\nscsi0: local:vm-100-old\n'
'[PENDING]\nscsi1: local:vm-100-pending\n')
(self.root / 'b/lxc/200.conf').write_text('rootfs: local:subvol-200-disk-0\nmp0: shared:subvol-200-disk-1,mp=/data\n')
(self.root / 'b/lxc/200.conf').write_text('hostname: fileserver\nrootfs: local:subvol-200-disk-0\nmp0: shared:subvol-200-disk-1,mp=/data\n')
self.nodes = [{'node': n, 'status': 'online'} for n in ('a', 'b')]
self.guests = [{'node': 'a', 'type': 'qemu', 'vmid': 100}, {'node': 'b', 'type': 'lxc', 'vmid': 200}]
self.refs, self.errors, _ = disks.references(self.root, self.nodes, self.guests)
@@ -44,7 +45,9 @@ class ReportTests(unittest.TestCase):
def test_candidates_unused_replication_and_backing(self):
self.assertEqual(self.result('local:vm-999-disk-0')[0], 'Orphan candidate')
self.assertEqual(self.result('local:vm-100-disk-1')[0], 'Unused disk')
self.assertEqual(self.result('local:vm-100-disk-1'), ('Unused disk', 'app-server (VM 100)'))
self.assertIn('a/app-server (VM 100)', self.result('local:vm-100-disk-0', node='b')[1])
self.assertIn('b/fileserver (LXC 200)', self.result('local:subvol-200-disk-0')[1])
self.assertEqual(self.result('local:vm-100-disk-0', node='b')[0], 'Needs review')
self.assertEqual(self.result('local:base-900-disk-0')[0], 'Needs review')
self.assertEqual(self.result('local:999/base-999-disk-0.qcow2')[0], 'Needs review')