From 9113242281ba9e720d3774186d9f417ad0371309 Mon Sep 17 00:00:00 2001
From: Robert Latta <robert.latta@geant.org>
Date: Fri, 4 Jan 2019 13:28:37 +0000
Subject: [PATCH] Added deletion of data from redis before storing new data

---
 inventory_provider/storage/external_inventory.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/inventory_provider/storage/external_inventory.py b/inventory_provider/storage/external_inventory.py
index 4e538930..a32fed4a 100644
--- a/inventory_provider/storage/external_inventory.py
+++ b/inventory_provider/storage/external_inventory.py
@@ -12,6 +12,7 @@ service_parent_to_children_key = "inv_service_parent_to_children"
 def update_services_to_monitor(services):
     r = db.get_redis()
     relevant_types = ('path', 'service', 'l2circuit')
+    r.delete(services_key)
     for service in services:
         if service['circuit_type'].lower() in relevant_types:
             r.hset(services_key, service['id'], json.dumps(service))
@@ -20,6 +21,7 @@ def update_services_to_monitor(services):
 def update_interfaces_to_services(services):
     r = db.get_redis()
     mapped_interfaces = {}
+    r.delete(interfaces_key)
     for service in services:
         key = "{}::{}".format(
             service['equipment'],
@@ -42,13 +44,18 @@ def update_service_hierarchy(records):
 
         parents_to_children[parent_id].append(relation)
         children_to_parents[child_id].append(relation)
+
+    r.delete(service_child_to_parents_key)
     for child, parents in children_to_parents.items():
         r.hset(service_child_to_parents_key, child, json.dumps(parents))
+
+    r.delete(service_parent_to_children_key)
     for parent, children in parents_to_children.items():
         r.hset(service_parent_to_children_key, parent, json.dumps(children))
 
 
 def update_equipment_locations(equipment_location_data):
     r = db.get_redis()
+    r.delete(equipment_locations_key)
     for ld in equipment_location_data:
         r.hset(equipment_locations_key, ld['equipment_name'], json.dumps(ld))
-- 
GitLab