diff options
Diffstat (limited to 'framework/src/onos/tools/test/scenarios/bin/find-link-in-cluster.py')
-rwxr-xr-x | framework/src/onos/tools/test/scenarios/bin/find-link-in-cluster.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/framework/src/onos/tools/test/scenarios/bin/find-link-in-cluster.py b/framework/src/onos/tools/test/scenarios/bin/find-link-in-cluster.py new file mode 100755 index 00000000..928531fd --- /dev/null +++ b/framework/src/onos/tools/test/scenarios/bin/find-link-in-cluster.py @@ -0,0 +1,54 @@ +#! /usr/bin/env python + +import requests +import sys + +from requests.auth import HTTPBasicAuth + +if len(sys.argv) != 9: + print "usage: find-link-in-cluster onos-node name cluster-id expected-length src-device-id src-port dst-device-id dst-port" + sys.exit(1) + +node = sys.argv[1] +name = sys.argv[2] +cluster = sys.argv[3] +length = int(sys.argv[4]) +srcDeviceId = sys.argv[5] +srcPort = sys.argv[6] +dstDeviceId = sys.argv[7] +dstPort = sys.argv[8] + + +linksRequest = requests.get('http://' + node + ':8181/onos/v1/topology/clusters/' + + cluster + '/links', + auth=HTTPBasicAuth('onos', 'rocks')) + +if linksRequest.status_code != 200: + print linksRequest.text + sys.exit(1) + +linksJson = linksRequest.json() +linksLength = len(linksJson["links"]) + +if linksLength != length: + print "Expected length {} but got {}".format(length, linksLength) + sys.exit(1) + +for link in linksJson["links"]: + if srcDeviceId == link["src"]["device"] and srcPort == link["src"]["port"]: + if dstDeviceId == link["dst"]["device"] and dstPort == link["dst"]["port"]: + print "@stc " + name + "SrcDevice=" + link["src"]["device"] + print "@stc " + name + "SrcPort=" + link["src"]["port"] + print "@stc " + name + "DstDevice=" + link["dst"]["device"] + print "@stc " + name + "DstPort=" + link["dst"]["port"] + print "@stc " + name + "Type=" + link["type"] + print "@stc " + name + "State=" + link["state"] + sys.exit(0) + +print "Could not find link from {}:{} to {}:{}"\ + .format(srcDeviceId, srcPort, dstDeviceId, dstPort) +sys.exit(1) + + + + |