From 3fd4fe15cc5164b7bbe41072aa892df2c8097c8d Mon Sep 17 00:00:00 2001 From: Robert Latta <robert.latta@geant.org> Date: Fri, 4 Jan 2019 16:05:42 +0000 Subject: [PATCH] Corrected update_interfaces_to_services function --- inventory_provider/storage/external_inventory.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/inventory_provider/storage/external_inventory.py b/inventory_provider/storage/external_inventory.py index a32fed4a..e31e43bb 100644 --- a/inventory_provider/storage/external_inventory.py +++ b/inventory_provider/storage/external_inventory.py @@ -1,4 +1,5 @@ import json +from collections import defaultdict from inventory_provider import db @@ -20,14 +21,17 @@ def update_services_to_monitor(services): def update_interfaces_to_services(services): r = db.get_redis() - mapped_interfaces = {} + mapped_interfaces = defaultdict(list) r.delete(interfaces_key) for service in services: key = "{}::{}".format( service['equipment'], service['interface_name'] ) - r.hset(interfaces_key, key, json.dumps(mapped_interfaces[key])) + mapped_interfaces[key].append(service) + + for key, value in mapped_interfaces.items(): + r.hset(interfaces_key, key, json.dumps(value)) def update_service_hierarchy(records): -- GitLab