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

added node_pair_services to chorded update

parent 1f3cb149
No related branches found
No related tags found
No related merge requests found
...@@ -1692,6 +1692,8 @@ def transform_ims_data(data): ...@@ -1692,6 +1692,8 @@ def transform_ims_data(data):
services_by_type = {} services_by_type = {}
interface_services = defaultdict(list) interface_services = defaultdict(list)
# using a dict to ensure no duplicates
node_pair_services = defaultdict(dict)
for key, value in port_id_details.items(): for key, value in port_id_details.items():
for details in value: for details in value:
...@@ -1723,13 +1725,18 @@ def transform_ims_data(data): ...@@ -1723,13 +1725,18 @@ def transform_ims_data(data):
type_services = services_by_type.setdefault( type_services = services_by_type.setdefault(
ims_sorted_service_type_key(circ['service_type']), dict()) ims_sorted_service_type_key(circ['service_type']), dict())
type_services[circ['id']] = circ type_services[circ['id']] = circ
if circ['other_end_equipment']:
node_pair_services[
f"{circ['equipment']}/{circ['other_end_equipment']}"
][circ['id']] = circ
interface_services[k].extend(circuits) interface_services[k].extend(circuits)
return { return {
'hierarchy': hierarchy, 'hierarchy': hierarchy,
'interface_services': interface_services, 'interface_services': interface_services,
'services_by_type': services_by_type 'services_by_type': services_by_type,
'node_pair_services': node_pair_services
} }
...@@ -1740,6 +1747,7 @@ def persist_ims_data(data, use_current=False): ...@@ -1740,6 +1747,7 @@ def persist_ims_data(data, use_current=False):
lg_routers = data['lg_routers'] lg_routers = data['lg_routers']
interface_services = data['interface_services'] interface_services = data['interface_services']
services_by_type = data['services_by_type'] services_by_type = data['services_by_type']
node_pair_services = data['node_pair_services']
if use_current: if use_current:
r = get_current_redis(InventoryTask.config) r = get_current_redis(InventoryTask.config)
...@@ -1752,7 +1760,8 @@ def persist_ims_data(data, use_current=False): ...@@ -1752,7 +1760,8 @@ def persist_ims_data(data, use_current=False):
'ims:circuit_hierarchy:*', 'ims:circuit_hierarchy:*',
'ims:interface_services:*', 'ims:interface_services:*',
'ims:access_services:*', 'ims:access_services:*',
'ims:gws_indirect:*' 'ims:gws_indirect:*',
'ims:node_pair_services:*'
]: ]:
rp = r.pipeline() rp = r.pipeline()
for k in r.scan_iter(key_pattern, count=1000): for k in r.scan_iter(key_pattern, count=1000):
...@@ -1778,6 +1787,13 @@ def persist_ims_data(data, use_current=False): ...@@ -1778,6 +1787,13 @@ def persist_ims_data(data, use_current=False):
f'ims:interface_services:{k}', f'ims:interface_services:{k}',
json.dumps(v)) json.dumps(v))
rp.execute() rp.execute()
rp = r.pipeline()
for k, v in node_pair_services.items():
rp.set(
f'ims:node_pair_services:{k}',
json.dumps(list(v.values())))
rp.execute()
rp = r.pipeline() rp = r.pipeline()
populate_poller_cache(interface_services, r) populate_poller_cache(interface_services, r)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment