diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index cb94623040cbb619b5c51a6e2f55b656704978ac..deb983a6e63506aac48ca3c74e783d6fc8c3d334 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -604,8 +604,16 @@ def update_circuit_hierarchy_and_port_id_services(self, use_current=False): s['logical_unit'] = '' # this is redundant I believe if 'port_b_id' in s: pd_b = port_id_details[s['port_b_id']][0] - loc_b = locations[pd_b['equipment_name']]['pop'] - s['other_end_pop_name'] = loc_a['name'] + location_b = locations.get(pd_b['equipment_name'], None) + if location_b: + loc_b = location_b['pop'] + else: + loc_b = locations['UNKNOWN_LOC']['pop'] + logger.warning( + f'Unable to find location for {pd_b["equipment_name"]} - ' + f'Service ID {s["id"]}') + + s['other_end_pop_name'] = loc_b['name'] s['other_end_pop_abbreviation'] = loc_b['abbreviation'] s['other_end_equipment'] = pd_b['equipment_name'] s['other_end_port'] = pd_b['interface_name']