diff --git a/examples/event-test.py b/examples/event-test.py index 1bcea07..9b59b92 100755 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -583,6 +583,20 @@ def myStoragePoolEventLifecycleCallback(conn, pool, event, detail, opaque): def myStoragePoolEventRefreshCallback(conn, pool, opaque): print("myStoragePoolEventRefreshCallback: Storage pool %s" % pool.name()) +########################################################################## +# Node device events +########################################################################## +def nodeDeviceEventToString(event): + nodeDeviceEventStrings = ( "Created", + "Deleted", + ) + return nodeDeviceEventStrings[event] + +def myNodeDeviceEventLifecycleCallback(conn, dev, event, detail, opaque): + print("myNodeDeviceEventLifecycleCallback: Node device %s %s %d" % (dev.name(), + nodeDeviceEventToString(event), + detail)) + ########################################################################## # Set up and run the program ########################################################################## @@ -678,6 +692,8 @@ def main(): vc.storagePoolEventRegisterAny(None, libvirt.VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE, myStoragePoolEventLifecycleCallback, None) vc.storagePoolEventRegisterAny(None, libvirt.VIR_STORAGE_POOL_EVENT_ID_REFRESH, myStoragePoolEventRefreshCallback, None) + vc.nodeDeviceEventRegisterAny(None, libvirt.VIR_NODE_DEVICE_EVENT_ID_LIFECYCLE, myNodeDeviceEventLifecycleCallback, None) + vc.setKeepAlive(5, 3) # The rest of your app would go here normally, but for sake