Skip to content
Snippets Groups Projects
Commit bd873955 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

PathComp component - Frontend:

- Added debug log messages in ComputeSubServices to track issues
parent 03d7ade6
No related branches found
No related tags found
1 merge request!142Release TeraFlowSDN 2.1
......@@ -67,6 +67,7 @@ def convert_explicit_path_hops_to_connections(
prv_res_class : Tuple[Optional[int], Optional[DeviceTypeEnum], Optional[str]] = None, None, None
for path_hop in path_hops:
LOGGER.debug('path_hop={:s}'.format(str(path_hop)))
device_uuid = path_hop['device']
if prv_device_uuid == device_uuid: continue
device_tuple = device_dict.get(device_uuid)
......@@ -74,24 +75,33 @@ def convert_explicit_path_hops_to_connections(
_,grpc_device = device_tuple
res_class = get_resource_classification(grpc_device, device_dict)
if res_class[1] in IGNORED_DEVICE_TYPES: continue
LOGGER.debug(' prv_res_class={:s}'.format(str(prv_res_class)))
LOGGER.debug(' res_class={:s}'.format(str(res_class)))
if res_class[1] in IGNORED_DEVICE_TYPES:
LOGGER.debug(' ignored')
continue
if prv_res_class[0] is None:
# path ingress
LOGGER.debug(' path ingress')
connection_stack.put((main_service_uuid, main_service_type, [path_hop], []))
elif prv_res_class[0] > res_class[0]:
# create underlying connection
LOGGER.debug(' create underlying connection')
connection_uuid = str(uuid.uuid4())
prv_service_type = connection_stack.queue[-1][1]
service_type = get_service_type(res_class[1], prv_service_type)
connection_stack.put((connection_uuid, service_type, [path_hop], []))
elif prv_res_class[0] == res_class[0]:
# same resource group kind
LOGGER.debug(' same resource group kind')
if prv_res_class[1] == res_class[1] and prv_res_class[2] == res_class[2]:
# same device type and device controller: connection continues
LOGGER.debug(' connection continues')
connection_stack.queue[-1][2].append(path_hop)
else:
# different device type or device controller: chain connections
LOGGER.debug(' chain connections')
connection = connection_stack.get()
connections.append(connection)
connection_stack.queue[-1][3].append(connection[0])
......@@ -102,6 +112,7 @@ def convert_explicit_path_hops_to_connections(
connection_stack.put((connection_uuid, service_type, [path_hop], []))
elif prv_res_class[0] < res_class[0]:
# underlying connection ended
LOGGER.debug(' underlying connection ended')
connection = connection_stack.get()
connections.append(connection)
connection_stack.queue[-1][3].append(connection[0])
......@@ -113,6 +124,7 @@ def convert_explicit_path_hops_to_connections(
prv_res_class = res_class
# path egress
LOGGER.debug(' path egress')
connections.append(connection_stack.get())
LOGGER.debug('connections={:s}'.format(str(connections)))
assert connection_stack.empty()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment