[virt-tools-list] [virt-manager] [PATCH v2 2/4] libvirtenummap: Map state vals of agent event to libvirt enum names
Lin Ma
lma at suse.com
Wed Jul 4 08:10:36 UTC 2018
Signed-off-by: Lin Ma <lma at suse.com>
---
virtManager/libvirtenummap.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/virtManager/libvirtenummap.py b/virtManager/libvirtenummap.py
index eaad0374..71e4a5eb 100644
--- a/virtManager/libvirtenummap.py
+++ b/virtManager/libvirtenummap.py
@@ -18,13 +18,15 @@ class _LibvirtEnumMap(object):
"""
# Some values we define to distinguish between API objects
(DOMAIN_EVENT,
+ DOMAIN_AGENT_EVENT,
NETWORK_EVENT,
STORAGE_EVENT,
- NODEDEV_EVENT) = range(1, 5)
+ NODEDEV_EVENT) = range(1, 6)
# Regex map for naming all event types depending on the API object
_EVENT_PREFIX = {
DOMAIN_EVENT: "VIR_DOMAIN_EVENT_ID_",
+ DOMAIN_AGENT_EVENT: "VIR_DOMAIN_EVENT_ID_AGENT_",
NETWORK_EVENT: "VIR_NETWORK_EVENT_ID_",
STORAGE_EVENT: "VIR_STORAGE_POOL_EVENT_ID_",
NODEDEV_EVENT: "VIR_NODE_DEVICE_EVENT_ID_",
@@ -33,6 +35,8 @@ class _LibvirtEnumMap(object):
# Regex map for 'state' values returned from lifecycle and other events
_DETAIL1_PREFIX = {
"VIR_DOMAIN_EVENT_ID_LIFECYCLE": "VIR_DOMAIN_EVENT_[^_]+$",
+ "VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE": _("VIR_CONNECT_DOMAIN_EVENT_AGENT"
+ "_LIFECYCLE_STATE_[^_]+$"),
"VIR_NETWORK_EVENT_ID_LIFECYCLE": "VIR_NETWORK_EVENT_[^_]+$",
"VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE": "VIR_STORAGE_POOL_EVENT_[^_]+$",
"VIR_NODE_DEVICE_EVENT_ID_LIFECYCLE": "VIR_NODE_DEVICE_EVENT_[^_]+$",
@@ -161,7 +165,9 @@ class _LibvirtEnumMap(object):
detail2str = str(detail2)
eventmap = self._get_map(api, self._EVENT_PREFIX[api])
- if event in eventmap:
+ if eventmap:
+ if event not in eventmap:
+ event = next(iter(eventmap))
eventstr = eventmap[event]
detail1map = self._get_map(eventstr,
self._DETAIL1_PREFIX.get(eventstr))
@@ -187,6 +193,8 @@ class _LibvirtEnumMap(object):
return self._state_str(self.STORAGE_EVENT, detail1, detail2)
def nodedev_lifecycle_str(self, detail1, detail2):
return self._state_str(self.NODEDEV_EVENT, detail1, detail2)
+ def domain_agent_lifecycle_str(self, detail1, detail2):
+ return self._state_str(self.DOMAIN_AGENT_EVENT, detail1, detail2)
LibvirtEnumMap = _LibvirtEnumMap()
--
2.15.1
More information about the virt-tools-list
mailing list