From 97e445471ca6294134c03c476b17d8e578878cd9 Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Sun, 3 Feb 2019 20:28:19 +0100
Subject: [PATCH] use new redis schema for classifier routes

---
 inventory_provider/routes/classifier.py | 31 ++++++-------------------
 1 file changed, 7 insertions(+), 24 deletions(-)

diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index 0069a77e..fba68d95 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -27,28 +27,11 @@ def coriant_addresses():
 @routes.route("/juniper-server-addresses", methods=['GET', 'POST'])
 @common.require_accepts_json
 def juniper_addresses():
-    backend_data_schema = {
-        "$schema": "http://json-schema.org/draft-07/schema#",
-        "type": "array",
-        "items": {
-            "type": "object",
-            "properties": {
-                "ip_address": {"type": "string"}
-            },
-            "required": ["ip_address"]
-        }
-    }
-
-    servers = common.get_redis().get('alarmsdb:juniper_servers')
-    if not servers:
-        return Response(
-            response="no juniper server data found",
-            status=404,
-            mimetype="text/html")
-
-    servers = json.loads(servers.decode('utf-8'))
-    jsonschema.validate(servers, backend_data_schema)
-    return jsonify([s['ip_address'] for s in servers])
+    # TODO: definitive way of returning these addresses
+    # TODO: probably this (and corant, infinera routes) can be removed
+    routers = current_app.config[
+        "INVENTORY_PROVIDER_CONFIG"]["routers"]
+    return jsonify([r['hostname'] for r in routers])
 
 
 @routes.route("/trap-metadata/<trap_type>/<source_equipment>/<path:interface>",
@@ -64,8 +47,8 @@ def get_trap_metadata(trap_type, source_equipment, interface):
     # This could be different calls dependant on vendor, in which case we may
     # need to check the trap type, or it could be a case of a key check for
     # each possible data source
-    interface_info = r.hget(interface_info_key,
-                            "{}::{}".format(source_equipment, interface))
+    interface_info = r.get(
+        'opsdb:interface_services:%s:%s' % (source_equipment, interface))
 
     if not interface_info:
         return Response(
-- 
GitLab