aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-gen-partitions
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/test/bin/onos-gen-partitions')
-rwxr-xr-xframework/src/onos/tools/test/bin/onos-gen-partitions61
1 files changed, 0 insertions, 61 deletions
diff --git a/framework/src/onos/tools/test/bin/onos-gen-partitions b/framework/src/onos/tools/test/bin/onos-gen-partitions
deleted file mode 100755
index 5da0807d..00000000
--- a/framework/src/onos/tools/test/bin/onos-gen-partitions
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env python
-"""
- Generate the partitions json file from the $OC* environment variables
-
- Usage: onos-gen-partitions [output file]
- If output file is not provided, the json is written to stdout.
-"""
-
-from os import environ
-from collections import deque, OrderedDict
-import re
-import json
-import sys
-import hashlib
-
-convert = lambda text: int(text) if text.isdigit() else text.lower()
-alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
-
-def get_OC_vars():
- vars = []
- for var in environ:
- if re.match(r"OC[0-9]+", var):
- vars.append(var)
- return sorted(vars, key=alphanum_key)
-
-def get_nodes(vars, port=9876):
- node = lambda k: { 'id': k, 'ip': k, 'port': port }
- return [ node(environ[v]) for v in vars ]
-
-def generate_permutations(nodes, k):
- l = deque(nodes)
- perms = []
- for i in range(1, len(nodes)+1):
- part = {
- 'name': 'p%d' % i,
- 'members': list(l)[:k]
- }
- perms.append(part)
- l.rotate(-1)
- return perms
-
-if __name__ == '__main__':
- vars = get_OC_vars()
- nodes = get_nodes(vars)
- partitions = generate_permutations([v.get('id') for v in nodes], 3)
- name = 0
- for node in nodes:
- name = name ^ hash(node['ip'])
- data = {
- 'name': name,
- 'nodes': nodes,
- 'partitions': partitions
- }
- output = json.dumps(data, indent=4)
-
- if len(sys.argv) == 2:
- filename = sys.argv[1]
- with open(filename, 'w') as f:
- f.write(output)
- else:
- print output