Just an example of network lifecycle events
---
examples/event-test.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/examples/event-test.py b/examples/event-test.py
index 1402c04..fb750c7 100644
--- a/examples/event-test.py
+++ b/examples/event-test.py
@@ -500,6 +500,14 @@ def myDomainEventPMSuspendDiskCallback(conn, dom, reason, opaque):
def myDomainEventDeviceRemovedCallback(conn, dom, dev, opaque):
print("myDomainEventDeviceRemovedCallback: Domain %s(%s) device removed:
%s" % (
dom.name(), dom.ID(), dev))
+def myNetworkEventLifecycleCallback(conn, net, event, detail, opaque):
+ event_to_string = {
+ 0: "Defined",
+ 1: "Undefined",
+ 2: "Started",
+ 3: "Stopped",
+ }
+ print("myNetworkEventLifecycleCallback: Network %s: %s detail=%s" %
(net.name(), event_to_string.get(event, "event=%s" % event), detail))
run = True
@@ -577,6 +585,8 @@ def main():
vc.domainEventRegisterAny(None, libvirt.VIR_DOMAIN_EVENT_ID_PMSUSPEND_DISK,
myDomainEventPMSuspendDiskCallback, None)
vc.domainEventRegisterAny(None, libvirt.VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED,
myDomainEventDeviceRemovedCallback, None)
+ vc.networkEventRegisterAny(None, libvirt.VIR_NETWORK_EVENT_ID_LIFECYCLE,
myNetworkEventLifecycleCallback, None)
+
vc.setKeepAlive(5, 3)
# The rest of your app would go here normally, but for sake
--
1.8.5.3