python/samples/clm-tool |  67 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)


Remove un-used imports in the CLM tool sample application.

diff --git a/python/samples/clm-tool b/python/samples/clm-tool
new file mode 100755
--- /dev/null
+++ b/python/samples/clm-tool
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+import argparse
+import sys
+
+from pyosaf import saAis, saClm, saImm
+
+from pyosaf.utils import immoi, clm
+
+def dn_to_vm_name(vm_dn):
+    return vm_dn.split(',')[0].split('=')[1]
+
+def print_members(members):
+
+    for node in members:
+        if node.member:
+            vm_name    = dn_to_vm_name(node.node_name)
+            ip_address = node.node_address_value
+
+            print "  - %s  %s" % (vm_name, ip_address)
+
+def membership_change(all, added, removed, changed):
+    print "Info: Received cluster membership update"
+
+    for vm_dn in added:
+        vm_name = dn_to_vm_name(vm_dn)
+
+        print "INFO: % joined the cluster" % vm_name
+
+    for vm_dn in removed:
+        vm_name = dn_to_vm_name(vm_dn)
+
+        print "INFO: %s left the cluster" % vm_name
+
+
+if __name__ == "__main__":
+
+    # Parse command line arguments
+    parser = argparse.ArgumentParser(
+        description='Listens to changes to objects of the given classes')
+
+    group = parser.add_mutually_exclusive_group(required=True)
+
+    group.add_argument('--snapshot', action="store_true",
+                        help='shows a snapshot of the current membership list')
+    group.add_argument('--listen', action="store_true", help='listens to 
changes to all classes')
+
+    args = parser.parse_args()
+
+    # Initialize the CLM service
+    clm.initialize(track_fn=membership_change)
+
+    if args.snapshot:
+        print "-" * 10 + " Members " + "-"*10
+
+        members = clm.get_members()
+
+        print_members(members)
+
+        sys.exit(0)
+
+    # Start tracking
+    clm.track()
+
+    # Do dispatch forever
+    while True:
+        clm.saClmDispatch(clm.HANDLE, 
saAis.eSaDispatchFlagsT.SA_DISPATCH_BLOCKING)

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to