diff options
Diffstat (limited to 'framework/src/onos/tools/test/scenarios/bin/find-link.py')
-rwxr-xr-x | framework/src/onos/tools/test/scenarios/bin/find-link.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/framework/src/onos/tools/test/scenarios/bin/find-link.py b/framework/src/onos/tools/test/scenarios/bin/find-link.py new file mode 100755 index 00000000..9ac6e358 --- /dev/null +++ b/framework/src/onos/tools/test/scenarios/bin/find-link.py @@ -0,0 +1,45 @@ +#! /usr/bin/env python + +import requests +import sys + +from requests.auth import HTTPBasicAuth + +if len(sys.argv) != 7: + print "usage: find-link onos-node name src-device-id src-port dst-device-id dst-port" + sys.exit(1) + +node = sys.argv[1] +name = sys.argv[2] +srcDeviceId = sys.argv[3] +srcPort = sys.argv[4] +dstDeviceId = sys.argv[5] +dstPort = sys.argv[6] + + +linksRequest = requests.get('http://' + node + ':8181/onos/v1/links?device=' + + srcDeviceId + '&port=' + srcPort, + auth=HTTPBasicAuth('onos', 'rocks')) + +if linksRequest.status_code != 200: + print linksRequest.text + sys.exit(1) + +linksJson = linksRequest.json() + +for link in linksJson["links"]: + if srcDeviceId == link["src"]["device"]: + if dstDeviceId == link["dst"]["device"]: + 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) + +sys.exit(1) + + + + |