[virt-tools-list] [virt-manager] [PATCH 2/4] Output the qemu guest agent lifecycle events in debug mode
Cole Robinson
crobinso at redhat.com
Tue Jul 3 16:04:41 UTC 2018
On 06/30/2018 01:41 AM, Lin Ma wrote:
>
>
> On 06/27/2018 05:39 AM, Cole Robinson wrote:
>> On 06/24/2018 11:46 PM, Lin Ma wrote:
>>> Signed-off-by: Lin Ma <lma at suse.com>
>>> ---
>>> virtManager/connection.py | 10 ++++++++++
>>> 1 file changed, 10 insertions(+)
>>>
>>> diff --git a/virtManager/connection.py b/virtManager/connection.py
>>> index 76e78c49..0b83bccf 100644
>>> --- a/virtManager/connection.py
>>> +++ b/virtManager/connection.py
>>> @@ -763,6 +763,12 @@ class vmmConnection(vmmGObject):
>>> else:
>>> self.schedule_priority_tick(pollvm=True, force=True)
>>> + def _domain_agent_lifecycle_event(self, conn, domain, state,
>>> reason, userdata):
>>> +
>>> + name = domain.name()
>>> + logging.debug("domain agent lifecycle event: domain=%s %s",
>>> name,
>>> + LibvirtEnumMap.domain_agent_lifecycle_str(state,
>>> reason))
>>> +
>> I'm guessing pylint here warns about unused arguments?
>
> ok, I'll add ignore = conn and ignore = userdata.
>
>>> def _network_lifecycle_event(self, conn, network, state,
>>> reason, userdata):
>>> ignore = conn
>>> ignore = userdata
>>> @@ -842,6 +848,10 @@ class vmmConnection(vmmGObject):
>>> self.get_backend().domainEventRegisterAny(
>>> None, libvirt.VIR_DOMAIN_EVENT_ID_LIFECYCLE,
>>> self._domain_lifecycle_event, None))
>>> + self._domain_cb_ids.append(
>>> + self.get_backend().domainEventRegisterAny(
>>> + None, libvirt.VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE,
>>> + self._domain_agent_lifecycle_event, None))
>>> self.using_domain_events = True
>>> logging.debug("Using domain events")
>>> except Exception as e:
>>>
>> I don't like that if we fail registering agent events, we will disable
>> domain events entirely. I'd rather have it work like the xml misc events
>> below, where we just log a message if it fails. In fact can this be
>> folded into the xml misc events somehow?
>>
> Due to the _domain_xml_misc_event don't parse the 'args', It can't
> translate the 'state' code to string, it only output:
> "DEBUG (connection:744) domain xmlmisc event: domain=sles15rc4
> event=VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE args=[1, 2]"
>
> So I want to make the changes as below, What do you think?
> - def _add_domain_xml_event(eventname, eventval):
> + def _add_domain_xml_event(eventname, eventval, cb=None):
> if not self.using_domain_events:
> return
> + if not cb:
> + cb = self._domain_xml_misc_event
> ......
> _add_domain_xml_event("VIR_DOMAIN_EVENT_ID_DEVICE_ADDED", 19)
> + _add_domain_xml_event("VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE", 18,
> self._domain_agent_lifecycle_event)
Sure that's good with me
Thanks,
Cole
More information about the virt-tools-list
mailing list