[virt-tools-list] [PATCH v2 3/5] virtManager: add functions to manage guest "title" metadata
Giuseppe Scrivano
gscrivan at redhat.com
Tue Sep 24 17:06:32 UTC 2013
Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
---
virtManager/domain.py | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/virtManager/domain.py b/virtManager/domain.py
index 0296472..1a0c6d8 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -195,6 +195,7 @@ class vmmDomain(vmmLibvirtObject):
self._is_management_domain = None
self._id = None
self._name = None
+ self._title = None
self._snapshot_list = None
self.lastStatus = libvirt.VIR_DOMAIN_SHUTOFF
@@ -204,6 +205,7 @@ class vmmDomain(vmmLibvirtObject):
self.managedsave_supported = False
self.remote_console_supported = False
self.snapshots_supported = False
+ self.title_supported = False
self._enable_net_poll = False
self._stats_net_supported = True
@@ -257,6 +259,9 @@ class vmmDomain(vmmLibvirtObject):
self.snapshots_supported = self.conn.check_domain_support(
self._backend,
self.conn.SUPPORT_DOMAIN_LIST_SNAPSHOTS)
+ self.title_supported = self.conn.check_domain_support(
+ self._backend,
+ self.conn.SUPPORT_DOMAIN_GET_METADATA)
# Determine available XML flags (older libvirt versions will error
# out if passed SECURE_XML, INACTIVE_XML, etc)
@@ -316,6 +321,17 @@ class vmmDomain(vmmLibvirtObject):
self._name = self._backend.name()
return self._name
+ def get_name_with_title(self):
+ # When available, include the title in the name
+ name = self.get_name()
+ title = self.get_title()
+ if title:
+ return "%s - %s" % (name, title)
+ return name
+
+ def get_title(self):
+ return self.get_xmlobj(inactive=True).title
+
def get_id(self):
if self._id is None:
self._id = self._backend.ID()
@@ -372,6 +388,7 @@ class vmmDomain(vmmLibvirtObject):
def _invalidate_xml(self):
vmmLibvirtObject._invalidate_xml(self)
self._name = None
+ self._title = None
self._id = None
def _redefine_device(self, cb, origdev):
@@ -563,6 +580,11 @@ class vmmDomain(vmmLibvirtObject):
guest.description = newvalue or None
return self._redefine(change)
+ def define_title(self, newvalue):
+ def change(guest):
+ guest.title = newvalue or None
+ return self._redefine(change)
+
# Boot define methods
def set_boot_device(self, boot_list):
def change(guest):
@@ -890,6 +912,17 @@ class vmmDomain(vmmLibvirtObject):
libvirt.VIR_DOMAIN_METADATA_DESCRIPTION,
desc, None, None, flags)
+ def hotplug_title(self, title):
+ if not self.conn.check_domain_support(self._backend,
+ self.conn.SUPPORT_DOMAIN_SET_METADATA):
+ return
+
+ flags = (libvirt.VIR_DOMAIN_AFFECT_LIVE |
+ libvirt.VIR_DOMAIN_AFFECT_CONFIG)
+ self._backend.setMetadata(
+ libvirt.VIR_DOMAIN_METADATA_TITLE,
+ title, None, None, flags)
+
########################
# Libvirt API wrappers #
--
1.8.3.1
More information about the virt-tools-list
mailing list