[libvirt] [PATCH python] examples: event-test: Add network event support

Cole Robinson crobinso at redhat.com
Tue Feb 11 17:47:40 UTC 2014


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




More information about the libvir-list mailing list