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

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

Ignore this one, didn't have 'python' in the subject. - Cole On 02/11/2014 12:45 PM, Cole Robinson wrote:
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

On 02/11/2014 10:48 AM, Cole Robinson wrote:
Ignore this one, didn't have 'python' in the subject.
I already provided the same patch earlier: https://www.redhat.com/archives/libvir-list/2014-February/msg00196.html -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Cole Robinson
-
Eric Blake