diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 33cbab6f1185c8b608f53ac5b2f544077ba3f3de..1d41d539eb8a5586e5f3cbcc4df789c37f052154 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -22,7 +22,7 @@ from inventory_provider.db import ims_data from inventory_provider.db.ims import IMS from inventory_provider.routes.classifier import get_ims_interface, \ get_ims_equipment_name -from inventory_provider.routes.common import load_json_docs, load_snmp_indexes +from inventory_provider.routes.common import load_snmp_indexes from inventory_provider.routes.poller import _load_interfaces, \ _load_interface_bundles, _get_dashboard_data, _get_dashboards, \ _load_services @@ -1850,6 +1850,10 @@ def populate_poller_interfaces_cache(): ) snmp_indexes = load_snmp_indexes(use_next_redis=True) + services = _load_services(InventoryTask.config, use_next_redis=True) + + r = get_next_redis(InventoryTask.config) + def _get_populated_interfaces(interfaces): for ifc in interfaces: @@ -1862,8 +1866,8 @@ def populate_poller_interfaces_cache(): base_ifc = ifc['name'].split('.')[0] ifc['bundle-parents'] = router_bundle.get(base_ifc, []) - router_services = _load_services( - InventoryTask.config, use_next_redis=True) + router_services = services.get( + get_ims_equipment_name(ifc['router'], r), None) if router_services: ifc['circuits'] = router_services.get( get_ims_interface(ifc['name']), [] @@ -1877,11 +1881,10 @@ def populate_poller_interfaces_cache(): non_lab_populated_interfaces = \ list(_get_populated_interfaces(standard_interfaces)) - r = get_next_redis(InventoryTask.config) cache_key = 'classifier-cache:poller-interfaces:no-lab' - r.set(cache_key, json.dumps(non_lab_populated_interfaces).encode('utf-8')) + r.set(cache_key, json.dumps(non_lab_populated_interfaces)) all_populated_interfaces = non_lab_populated_interfaces + \ list(_get_populated_interfaces(lab_interfaces)) - cache_key = 'classifier-cache:poller-interfaces:all:all' - r.set(cache_key, json.dumps(all_populated_interfaces).encode('utf-8')) + cache_key = 'classifier-cache:poller-interfaces:all' + r.set(cache_key, json.dumps(all_populated_interfaces))