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