summaryrefslogtreecommitdiff
path: root/virtManager
diff options
context:
space:
mode:
authorChen Hanxiao <chenhanxiao@cn.fujitsu.com>2014-01-10 17:37:55 +0800
committerCole Robinson <crobinso@redhat.com>2014-01-11 14:53:19 -0500
commita90a375bda19fca19aed591d311774ae992b3beb (patch)
treeb1e5568a340e072532d1f3f30e4792b2cc0d0fdc /virtManager
parent8419835b1d68e5bfad1005b00c87d302279a118f (diff)
downloadvirt-manager-a90a375bda19fca19aed591d311774ae992b3beb.tar.gz
virt-manager: add support for showing panic notifier device
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Diffstat (limited to 'virtManager')
-rw-r--r--virtManager/details.py28
-rw-r--r--virtManager/domain.py3
2 files changed, 29 insertions, 2 deletions
diff --git a/virtManager/details.py b/virtManager/details.py
index 2940b785..40512dad 100644
--- a/virtManager/details.py
+++ b/virtManager/details.py
@@ -126,7 +126,8 @@ EDIT_TPM_TYPE,
HW_LIST_TYPE_SMARTCARD,
HW_LIST_TYPE_REDIRDEV,
HW_LIST_TYPE_TPM,
- HW_LIST_TYPE_RNG) = range(20)
+ HW_LIST_TYPE_RNG,
+ HW_LIST_TYPE_PANIC) = range(21)
remove_pages = [HW_LIST_TYPE_NIC, HW_LIST_TYPE_INPUT,
HW_LIST_TYPE_GRAPHICS, HW_LIST_TYPE_SOUND, HW_LIST_TYPE_CHAR,
@@ -134,7 +135,7 @@ remove_pages = [HW_LIST_TYPE_NIC, HW_LIST_TYPE_INPUT,
HW_LIST_TYPE_WATCHDOG, HW_LIST_TYPE_CONTROLLER,
HW_LIST_TYPE_FILESYSTEM, HW_LIST_TYPE_SMARTCARD,
HW_LIST_TYPE_REDIRDEV, HW_LIST_TYPE_TPM,
- HW_LIST_TYPE_RNG]
+ HW_LIST_TYPE_RNG, HW_LIST_TYPE_PANIC]
# Boot device columns
(BOOT_DEV_TYPE,
@@ -1214,6 +1215,8 @@ class vmmDetails(vmmGObjectUI):
self.refresh_tpm_page()
elif pagetype == HW_LIST_TYPE_RNG:
self.refresh_rng_page()
+ elif pagetype == HW_LIST_TYPE_PANIC:
+ self.refresh_panic_page()
else:
pagetype = -1
except Exception, e:
@@ -3098,6 +3101,22 @@ class vmmDetails(vmmGObjectUI):
# Device type specific properties, only show if apply to the cur dev
show_ui("device_path")
+ def refresh_panic_page(self):
+ dev = self.get_hw_selection(HW_LIST_COL_DEVICE)
+ if not dev:
+ return
+
+ def show_ui(param, val=None):
+ widgetname = "panic-" + param.replace("_", "-")
+ if not val:
+ val = getattr(dev, param)
+
+ uihelpers.set_grid_row_visible(self.widget(widgetname), True)
+ self.widget(widgetname).set_text(val or "-")
+
+ show_ui("type")
+ show_ui("iobase")
+
def refresh_rng_page(self):
dev = self.get_hw_selection(HW_LIST_COL_DEVICE)
values = {
@@ -3622,6 +3641,11 @@ class vmmDetails(vmmGObjectUI):
update_hwlist(HW_LIST_TYPE_RNG, rng,
_("RNG"), "system-run")
+ # Populate list of Panic devices
+ for rng in self.vm.get_panic_devices():
+ update_hwlist(HW_LIST_TYPE_PANIC, rng,
+ _("Panic Notifier"), "system-run")
+
devs = range(len(hw_list_model))
devs.reverse()
for i in devs:
diff --git a/virtManager/domain.py b/virtManager/domain.py
index fc9cf066..efdb215e 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -60,6 +60,7 @@ def compare_device(origdev, newdev, idx):
"redirdev" : ["bus" , "type", "vmmindex"],
"tpm" : ["type" , "vmmindex"],
"rng" : ["type" , "vmmindex"],
+ "panic" : ["type" , "vmmindex"],
}
if id(origdev) == id(newdev):
@@ -1132,6 +1133,8 @@ class vmmDomain(vmmLibvirtObject):
return self._build_device_list("tpm")
def get_rng_devices(self):
return self._build_device_list("rng")
+ def get_panic_devices(self):
+ return self._build_device_list("panic")
def get_disk_devices(self, refresh_if_nec=True, inactive=False):
devs = self._build_device_list("disk", refresh_if_nec, inactive)