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