From b58af6fec73c911245c768e8932e50791357c024 Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Fri, 12 Apr 2019 21:29:00 +0200
Subject: [PATCH] try to fix function call in worker

---
 inventory_provider/tasks/worker.py | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 26dfbba5..0b691f7f 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -141,11 +141,19 @@ def update_equipment_locations():
     logger.debug('>>> update_equipment_locations')
 
     r = get_redis(InventoryTask.config)
-    for key in r.scan_iter('opsdb:location:*'):
-        r.delete(key)
+    for k in r.scan_iter('opsdb:location:*'):
+        r.delete(k)
+
+    hostnames = []
+    for k in r.keys('netconf:*'):
+        m = re.match('^netconf:(.+)$', k.decode('utf-8'))
+        assert m
+        hostnames.append(m.group(1))
+
     with db.connection(InventoryTask.config["ops-db"]) as cx:
-        for ld in opsdb.lookup_pop_info(cx):
-            r.set('opsdb:location:%s' % ld['equipment_name'], json.dumps(ld))
+        for h in hostnames:
+            for ld in opsdb.lookup_pop_info(cx, h):
+                r.set('opsdb:location:%s' % h, json.dumps(ld))
 
     logger.debug('<<< update_equipment_locations')
 
-- 
GitLab