[virt-tools-list] [virt-manager PATCH] virt-manager, inspection: use add_libvirt_dom
Giuseppe Scrivano
gscrivan at redhat.com
Thu Jan 8 14:12:01 UTC 2015
From: "Richard W.M. Jones" <rjones at redhat.com>
Enable inspection only if the add_libvirt_dom function is present at
runtime.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1075143
Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
---
virtManager/config.py | 4 ++--
virtManager/inspection.py | 29 +++--------------------------
2 files changed, 5 insertions(+), 28 deletions(-)
diff --git a/virtManager/config.py b/virtManager/config.py
index 9258313..df649ab 100644
--- a/virtManager/config.py
+++ b/virtManager/config.py
@@ -183,8 +183,8 @@ class vmmConfig(object):
try:
# Check we can open the Python guestfs module.
from guestfs import GuestFS # pylint: disable=import-error
- GuestFS(close_on_exit=False)
- return True
+ g = GuestFS(close_on_exit=False)
+ return bool(getattr(g, "add_libvirt_dom", None))
except:
return False
diff --git a/virtManager/inspection.py b/virtManager/inspection.py
index f5b8a89..e8b102d 100644
--- a/virtManager/inspection.py
+++ b/virtManager/inspection.py
@@ -20,7 +20,6 @@
from Queue import Queue, Empty
from threading import Thread
import logging
-import os
import re
from guestfs import GuestFS # pylint: disable=import-error
@@ -145,7 +144,7 @@ class vmmInspection(vmmGObject):
# Whether success or failure, we've "seen" this VM now.
self._vmseen[vmuuid] = True
try:
- data = self._process(conn, vm, vmuuid)
+ data = self._process(conn, vm)
if data:
self._set_vm_inspection_data(vm, data)
else:
@@ -157,7 +156,7 @@ class vmmInspection(vmmGObject):
logging.exception("%s: exception while processing",
prettyvm)
- def _process(self, conn, vm, vmuuid):
+ def _process(self, conn, vm):
if re.search(r"^guestfs-", vm.get_name()):
logging.debug("ignore libvirt/guestfs temporary VM %s",
vm.get_name())
@@ -165,30 +164,8 @@ class vmmInspection(vmmGObject):
g = GuestFS(close_on_exit=False)
prettyvm = conn.get_uri() + ":" + vm.get_name()
- ignore = vmuuid
- disks = []
- for disk in vm.get_disk_devices():
- if (disk.path and
- (disk.type == "block" or disk.type == "file") and
- not disk.device == "cdrom"):
- disks.append(disk)
-
- if not disks:
- logging.debug("%s: nothing to inspect", prettyvm)
- return None
-
- # Add the disks. Note they *must* be added with readonly flag set.
- for disk in disks:
- path = disk.path
- driver_type = disk.driver_type
-
- if not (os.path.exists(path) and os.access(path, os.R_OK)):
- logging.debug("%s: cannot access '%s', skipping inspection",
- prettyvm, path)
- return None
-
- g.add_drive_opts(path, readonly=1, format=driver_type)
+ g.add_libvirt_dom(vm.get_backend(), readonly=1)
g.launch()
--
2.1.0
More information about the virt-tools-list
mailing list