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

Merge branch 'feature/add-all-top-level-services' into develop

parents 1696fe0c acb62b0b
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): ...@@ -73,11 +73,35 @@ def get_juniper_link_info(source_equipment, interface):
result = result.decode('utf-8') result = result.decode('utf-8')
else: else:
result = {} 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( services = r.get(
'opsdb:interface_services:%s:%s' % (source_equipment, interface)) 'opsdb:interface_services:%s:%s' % (source_equipment, interface))
if services: if services:
result['services'] = json.loads(services.decode('utf=8')) 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( ifc_info = r.get(
'netconf-interfaces:%s:%s' % (source_equipment, interface)) 'netconf-interfaces:%s:%s' % (source_equipment, interface))
...@@ -90,10 +114,13 @@ def get_juniper_link_info(source_equipment, interface): ...@@ -90,10 +114,13 @@ def get_juniper_link_info(source_equipment, interface):
% (source_equipment, related)) % (source_equipment, related))
if rs: if rs:
for s in json.loads(rs.decode('utf-8')): 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()) related_services = list(_related_services())
if related_services: if related_services:
related_services.extend(top_level_services)
result['related-services'] = related_services result['related-services'] = related_services
if not result: if not result:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment