aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-gen-partitions
diff options
context:
space:
mode:
authorCNlucius <lukai1@huawei.com>2016-09-13 11:40:12 +0800
committerCNlucius <lukai1@huawei.com>2016-09-13 11:41:53 +0800
commitb731e2f1dd0972409b136aebc7b463dd72c9cfad (patch)
tree5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/tools/test/bin/onos-gen-partitions
parentee93993458266114c29271a481ef9ce7ce621b2a (diff)
ONOSFW-171
O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius <lukai1@huawei.com>
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