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

updated get_ims_equipment_name

parent 52462beb
No related branches found
No related tags found
No related merge requests found
......@@ -102,10 +102,15 @@ def after_request(resp):
return common.after_request(resp)
def get_ims_equipment_name(equipment_name: str) -> str:
def get_ims_equipment_name(equipment_name: str, r: Redis=None) -> str:
if not r:
r = common.get_current_redis()
ims_equipment_name = equipment_name.upper()
if ims_equipment_name.startswith('MX'):
ims_equipment_name = ims_equipment_name.split('.GEANT.NET')[0]
most_likely = ims_equipment_name.split('.GEANT.')[0]
loc_key = 'ims:location:{}'
if r.exists(loc_key.format(most_likely)) \
or not r.exists(loc_key.format(ims_equipment_name)):
ims_equipment_name = most_likely
return ims_equipment_name
......@@ -133,7 +138,7 @@ def get_related_services(source_equipment: str, interface: str, r) -> dict:
:param r: redis connection
:return: Dict
"""
ims_source_equipment = get_ims_equipment_name(source_equipment)
ims_source_equipment = get_ims_equipment_name(source_equipment, r)
ims_interface = get_ims_interface(interface)
if_services = r.get(f'ims:interface_services:{ims_source_equipment}:'
f'{ims_interface}')
......@@ -256,11 +261,11 @@ def get_juniper_link_info(source_equipment: str, interface: str) -> Response:
:return:
"""
ims_source_equipment = get_ims_equipment_name(source_equipment)
ims_interface = get_ims_interface(interface)
r = common.get_current_redis()
ims_source_equipment = get_ims_equipment_name(source_equipment, r)
ims_interface = get_ims_interface(interface)
cache_key = \
f'classifier-cache:juniper:{ims_source_equipment}:{ims_interface}'
......@@ -534,14 +539,15 @@ def peer_info(address_str: str) -> Response:
result['locations'].append(build_locations(
_location_from_equipment(
get_ims_equipment_name(
ix_peering_info['peer']['router']), r)))
ix_peering_info['peer']['router'], r), r)))
vpn_rr_peering_info = _vpn_rr_peering_info(r, address_str)
if vpn_rr_peering_info:
result['vpn-rr-peer-info'] = vpn_rr_peering_info
result['locations'].append(build_locations(
_location_from_equipment(
get_ims_equipment_name(vpn_rr_peering_info['router']), r)))
get_ims_equipment_name(vpn_rr_peering_info['router'], r)
, r)))
asn_group_info = _asn_group_info(r, address_str)
if asn_group_info:
......@@ -549,7 +555,7 @@ def peer_info(address_str: str) -> Response:
contacts = set()
for interface in find_interfaces(address):
ims_equipment = get_ims_equipment_name(interface["router"])
ims_equipment = get_ims_equipment_name(interface["router"], r)
ims_interface = get_ims_interface(interface["interface name"])
services_and_locs = get_interface_services_and_loc(
......@@ -608,12 +614,12 @@ def get_trap_metadata(source_equipment: str, interface: str, circuit_id: str) \
:return:
"""
ims_source_equipment = get_ims_equipment_name(source_equipment)
r = common.get_current_redis()
ims_source_equipment = get_ims_equipment_name(source_equipment, r)
ims_interface = get_ims_interface(interface)
cache_key = f'classifier-cache:infinera:{source_equipment}:{interface}'
r = common.get_current_redis()
result = _ignore_cache_or_retrieve(request, cache_key, r)
......@@ -822,7 +828,7 @@ def get_coriant_info(equipment_name: str, entity_string: str) -> Response:
r = common.get_current_redis()
ims_source_equipment = get_ims_equipment_name(equipment_name)
ims_source_equipment = get_ims_equipment_name(equipment_name, r)
ims_interface = get_ims_interface(entity_string)
cache_key = 'classifier-cache:coriant:' \
......
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