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