Skip to content
Snippets Groups Projects
Commit acb62b0b authored by Robert Latta's avatar Robert Latta
Browse files

reduced related-services info to name and status; added top-level-services to related services

parent ab26874a
No related branches found
No related tags found
No related merge requests found
......@@ -73,11 +73,35 @@ def get_juniper_link_info(source_equipment, interface):
result = result.decode('utf-8')
else:
result = {}
top_level_services = []
def _get_top_level_services(circuit_id):
tls = []
results = r.get("opsdb:services:children:{}".format(circuit_id))
if results:
results = json.loads(results.decode('utf-8'))
for c in results:
if circuit_id == c['child_circuit_id']:
tls.append(
{'name': c['parent_circuit'],
'status': c['parent_circuit_status']})
else:
temp_parents = \
_get_top_level_services(c['child_circuit_id'])
if not temp_parents:
tls.append(
{'name': c['parent_circuit'],
'status': c['parent_circuit_status']})
tls.extend(temp_parents)
return tls
services = r.get(
'opsdb:interface_services:%s:%s' % (source_equipment, interface))
if services:
result['services'] = json.loads(services.decode('utf=8'))
for s in result['services']:
top_level_services.extend(_get_top_level_services(s['id']))
ifc_info = r.get(
'netconf-interfaces:%s:%s' % (source_equipment, interface))
......@@ -90,10 +114,13 @@ def get_juniper_link_info(source_equipment, interface):
% (source_equipment, related))
if rs:
for s in json.loads(rs.decode('utf-8')):
yield s
top_level_services.extend(
_get_top_level_services(s['id']))
yield {'name': s['name'], 'status': s['status']}
related_services = list(_related_services())
if related_services:
related_services.extend(top_level_services)
result['related-services'] = related_services
if not result:
......
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