From 5dd7444aefca744d169104a827ca682e84fd7487 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Wed, 10 Aug 2022 16:22:07 +0200 Subject: [PATCH] specify lru_cache maxsize --- inventory_provider/db/ims_data.py | 2 +- inventory_provider/routes/msr.py | 4 ++-- inventory_provider/tasks/worker.py | 12 ++++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/inventory_provider/db/ims_data.py b/inventory_provider/db/ims_data.py index 308ba5a8..c0bd7a7b 100644 --- a/inventory_provider/db/ims_data.py +++ b/inventory_provider/db/ims_data.py @@ -170,7 +170,7 @@ def get_port_id_services(ds: IMS): c['circuit_type'] = _get_circuit_type(c) yield c - circuits = _get_circuits() + circuits = list(_get_circuits()) # order of preference # internalports (first and last sequencenumbers) diff --git a/inventory_provider/routes/msr.py b/inventory_provider/routes/msr.py index cbacaa97..a1828a20 100644 --- a/inventory_provider/routes/msr.py +++ b/inventory_provider/routes/msr.py @@ -883,7 +883,7 @@ def get_peering_services(): # TODO: @functools.cache is only available in py3.9 -@functools.lru_cache +@functools.lru_cache(maxsize=None) def _load_all_interfaces(): """ loads all ip interfaces in the network and returns as a dict @@ -911,7 +911,7 @@ def _load_all_interfaces(): # TODO: @functools.cache is only available in py3.9 -@functools.lru_cache +@functools.lru_cache(maxsize=None) def _load_redundant_access_peers(): """ load all peers that should be considered diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 3517bb03..76a8bfb3 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -722,11 +722,17 @@ def ims_task(self, use_current=False): def extract_ims_data(): - c = InventoryTask.config["ims"] + return _extract_ims_data( + ims_api_url=c['api'], + ims_username=c['username'], + ims_password=c['password']) + + +def _extract_ims_data(ims_api_url, ims_username, ims_password): def _ds() -> IMS: - return IMS(c['api'], c['username'], c['password']) + return IMS(ims_api_url, ims_username, ims_password) locations = {} lg_routers = [] @@ -1062,6 +1068,8 @@ def transform_ims_data(data): if sid_info not in sid_services[sid]: sid_services[sid].append(sid_info) + if k.startswith('MX1.LON.UK:XE-1/0/0'): + print('here') interface_services[k].extend(circuits) return { -- GitLab