core: show clear message when a VM has non-existing PCI device assigned

This commit is contained in:
Marek Marczykowski-Górecki 2015-06-27 04:52:25 +02:00
parent 3867d1fdb3
commit ad89c8f8a2

View File

@ -1720,7 +1720,15 @@ class QubesVm(object):
# Bind pci devices to pciback driver # Bind pci devices to pciback driver
for pci in self.pcidevs: for pci in self.pcidevs:
try:
nd = vmm.libvirt_conn.nodeDeviceLookupByName('pci_0000_' + pci.replace(':','_').replace('.','_')) nd = vmm.libvirt_conn.nodeDeviceLookupByName('pci_0000_' + pci.replace(':','_').replace('.','_'))
except libvirt.libvirtError as e:
if e.err[0] == libvirt.VIR_ERR_NO_NODE_DEVICE:
raise QubesException(
"PCI device {} does not exist (domain {})".
format(pci, self.name))
else:
raise
try: try:
nd.dettach() nd.dettach()
except libvirt.libvirtError as e: except libvirt.libvirtError as e: