From 0e65288a2e69855a96065df4fba29dfa4ccf4dd3 Mon Sep 17 00:00:00 2001
From: Robert Latta <robert.latta@geant.org>
Date: Fri, 15 May 2020 09:52:41 +0000
Subject: [PATCH] added option to add ims lg data to current redis rather than
 next

---
 inventory_provider/routes/testing.py   |  2 +-
 inventory_provider/tasks/ims_worker.py | 11 +++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/inventory_provider/routes/testing.py b/inventory_provider/routes/testing.py
index 8900bfd8..60073eae 100644
--- a/inventory_provider/routes/testing.py
+++ b/inventory_provider/routes/testing.py
@@ -23,7 +23,7 @@ def flushdb():
 
 @routes.route("update-lg-routers-ims", methods=['GET', 'POST'])
 def update_lg_routers_ims():
-    ims_worker.update_lg_routers_ims.delay()
+    ims_worker.update_lg_routers_ims.delay(use_current=True)
     return Response('OK')
 
 # End of IMS routes
diff --git a/inventory_provider/tasks/ims_worker.py b/inventory_provider/tasks/ims_worker.py
index b589ebc7..d71c5b89 100644
--- a/inventory_provider/tasks/ims_worker.py
+++ b/inventory_provider/tasks/ims_worker.py
@@ -11,7 +11,7 @@ from inventory_provider.db import ims_data
 from inventory_provider.db.ims import IMS
 from inventory_provider import environment
 from inventory_provider.tasks.app import app
-from inventory_provider.tasks.common import get_next_redis
+from inventory_provider.tasks.common import get_current_redis, get_next_redis
 from inventory_provider.tasks.worker import InventoryTask, \
     log_task_entry_and_exit
 
@@ -22,10 +22,11 @@ logger = logging.getLogger(__name__)
 
 @app.task(base=InventoryTask, bind=True, name='update_lg_routers_ims')
 @log_task_entry_and_exit
-def update_lg_routers_ims(self):
-    logger.debug('>>> update_lg_routers_ims')
+def update_lg_routers_ims(self, use_current=False):
+
+    r = get_current_redis(InventoryTask.config) if use_current \
+        else get_next_redis(InventoryTask.config)
 
-    r = get_next_redis(InventoryTask.config)
     for k in r.scan_iter('ims:lg:*'):
         r.delete(k)
     c = InventoryTask.config["ims"]
@@ -34,8 +35,6 @@ def update_lg_routers_ims(self):
     for router in ims_data.lookup_lg_routers(ds):
         r.set(f'ims:lg:{router["equipment name"]}', json.dumps(router))
 
-    logger.debug('<<< update_lg_routers_ims')
-
 
 class OTRSFiles(IntFlag):
     CUSTOMER_COMPANIES = 1
-- 
GitLab