Skip to content
Snippets Groups Projects
Commit 1f9d9e92 authored by Erik Reid's avatar Erik Reid
Browse files

save pivoted logical-system & group peering lists

parent 7d587b59
No related branches found
No related tags found
No related merge requests found
......@@ -742,6 +742,8 @@ def _build_juniper_peering_db(update_callback=lambda s: None):
peerings_per_address = {}
ix_peerings = []
peerings_per_asn = {}
peerings_per_logical_system = {}
peerings_per_group = {}
# scan with bigger batches, to mitigate network latency effects
key_prefix = 'juniper-peerings:hosts:'
......@@ -758,6 +760,13 @@ def _build_juniper_peering_db(update_callback=lambda s: None):
asn = p.get('remote-asn', None)
if asn:
peerings_per_asn.setdefault(asn, []).append(p)
logical_system = p.get('logical-system', None)
if logical_system:
peerings_per_logical_system.setdefault(
logical_system, []).append(p)
group = p.get('group', None)
if group:
peerings_per_group.setdefault(group, []).append(p)
# sort ix peerings by group
ix_groups = {}
......@@ -784,6 +793,19 @@ def _build_juniper_peering_db(update_callback=lambda s: None):
for k, v in peerings_per_asn.items():
rp.set(f'juniper-peerings:peer-asn:{k}', json.dumps(v))
# create pivoted logical-systems peering lists
update_callback(
f'saving {len(peerings_per_logical_system)}'
' logical-system peering lists')
for k, v in peerings_per_logical_system.items():
rp.set(f'juniper-peerings:logical-system:{k}', json.dumps(v))
# create pivoted group peering lists
update_callback(
f'saving {len(peerings_per_group)} group peering lists')
for k, v in peerings_per_group.items():
rp.set(f'juniper-peerings:group:{k}', json.dumps(v))
rp.execute()
......
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