To test for controller switch connectivity, add a test flow and check for switch availability in controller instead of checking for default flows.
The default flows might not be added for static configurations to ONOS devices.
Change-Id: Iab7205147b3fae44fe25b30faa026ba362760ed9
diff --git a/src/test/utils/OnosCtrl.py b/src/test/utils/OnosCtrl.py
index 1c49325..6401a18 100644
--- a/src/test/utils/OnosCtrl.py
+++ b/src/test/utils/OnosCtrl.py
@@ -92,8 +92,10 @@
return resp.ok, resp.status_code
@classmethod
- def get_devices(cls):
- url = 'http://%s:8181/onos/v1/devices' %(cls.controller)
+ def get_devices(cls, controller = None):
+ if controller is None:
+ controller = cls.controller
+ url = 'http://%s:8181/onos/v1/devices' %(controller)
result = requests.get(url, auth = cls.auth)
if result.ok:
devices = result.json()['devices']
@@ -102,12 +104,12 @@
return None
@classmethod
- def get_device_id(cls):
+ def get_device_id(cls, controller = None):
'''If running under olt, we get the first switch connected to onos'''
olt = OltConfig()
did = 'of:' + get_mac()
if olt.on_olt():
- devices = cls.get_devices()
+ devices = cls.get_devices(controller = controller)
if devices:
dids = map(lambda d: d['id'], devices)
if len(dids) == 1:
@@ -119,13 +121,13 @@
return did
@classmethod
- def get_device_ids(cls):
+ def get_device_ids(cls, controller = None):
'''If running under olt, we get the first switch connected to onos'''
olt = OltConfig()
did = 'of:' + get_mac()
device_ids = []
if olt.on_olt():
- devices = cls.get_devices()
+ devices = cls.get_devices(controller = controller)
if devices:
device_ids = map(lambda d: d['id'], devices)
else:
@@ -136,10 +138,9 @@
@classmethod
def get_flows(cls, device_id,controller=None):
if controller is None:
- url = 'http://%s:8181/onos/v1/flows/' %(cls.controller) + device_id
+ url = 'http://%s:8181/onos/v1/flows/' %(cls.controller) + device_id
else:
- url = 'http://%s:8181/onos/v1/flows/' %(controller) + device_id
- print('get flows url is %s'%url)
+ url = 'http://%s:8181/onos/v1/flows/' %(controller) + device_id
result = requests.get(url, auth = cls.auth)
if result.ok:
return result.json()['flows']
@@ -163,9 +164,9 @@
olt_port_map, _ = olt_config.olt_port_map()
switches = olt_port_map['switches']
if len(switches) > 1:
- device_ids = cls.get_device_ids()
+ device_ids = cls.get_device_ids(controller = controller)
else:
- did = cls.get_device_id()
+ did = cls.get_device_id(controller = controller)
if did is None:
return olt_device_list
uplink_dict = {}