Add test scenario for crashing all nodes in sequence
Change-Id: Idd3c87ff8155a3c2b612b0447428e0af7d78a756
diff --git a/tools/test/scenarios/bin/check-masters.py b/tools/test/scenarios/bin/check-masters.py
new file mode 100755
index 0000000..dfe4df6
--- /dev/null
+++ b/tools/test/scenarios/bin/check-masters.py
@@ -0,0 +1,34 @@
+#! /usr/bin/env python
+
+import json
+import subprocess
+import sys
+import time
+
+if len(sys.argv) != 2:
+ print "usage: check-masters {node}"
+ sys.exit(1)
+
+node = sys.argv[1]
+
+def check_masters():
+ nodes_json = json.loads(subprocess.check_output(["onos", node, "nodes", "-j"]))
+ inactive_nodes = [n['id'] for n in nodes_json if n['state'] != 'READY']
+
+ masters_json = json.loads(subprocess.check_output(["onos", node, "masters", "-j"]))
+ masters = dict([(m['id'], m['devices']) for m in masters_json])
+
+ for inactive_node in inactive_nodes:
+ if inactive_node in masters:
+ devices = masters[inactive_node]
+ if len(devices) > 0:
+ return False
+ return True
+
+for i in range(10):
+ if not check_masters():
+ time.sleep(1)
+ else:
+ sys.exit(0)
+
+sys.exit(1)