From 11a1a9d77f0ccadf2722fbf2426229c7325fe1dc Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Fri, 17 May 2019 15:20:21 +0200
Subject: [PATCH] removed alarmsdb module

---
 inventory_provider/db/alarmsdb.py  | 75 ------------------------
 inventory_provider/tasks/worker.py | 24 +-------
 test/test_alarmsdb.py              | 91 ------------------------------
 3 files changed, 1 insertion(+), 189 deletions(-)
 delete mode 100644 inventory_provider/db/alarmsdb.py
 delete mode 100644 test/test_alarmsdb.py

diff --git a/inventory_provider/db/alarmsdb.py b/inventory_provider/db/alarmsdb.py
deleted file mode 100644
index f638acda..00000000
--- a/inventory_provider/db/alarmsdb.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# TODO: remove all of this, as well as config parameters,
-#         ...  and from puppet
-from inventory_provider.db import db
-
-
-def get_last_known_infinera_interface_status(crs, equipment, interface):
-    query = "SELECT status FROM infinera_alarms" \
-            " WHERE" \
-            " CONCAT(ne_name, '-', REPLACE(object_name, 'T', '')) = %s" \
-            " ORDER BY ne_init_time DESC, ne_clear_time DESC LIMIT 1"
-    search_string = equipment + "-" + interface
-    crs.execute(query, (search_string,))
-    result = crs.fetchone()
-    if not result:
-        return "unknown"
-    elif result[0] == "Raised":
-        return "down"
-    else:
-        return "up"
-
-
-def get_last_known_coriant_interface_status(crs, equipment, interface):
-    query = "SELECT status FROM coriant_alarms" \
-            " WHERE ne_id_name = %s AND entity_string LIKE %s" \
-            " ORDER BY last_event_time DESC LIMIT 1"
-    crs.execute(query, (equipment, interface + "-%"))
-    result = crs.fetchone()
-    if not result:
-        return "unknown"
-    elif result[0] == "Raised":
-        return "down"
-    else:
-        return "up"
-
-
-def get_last_known_juniper_link_interface_status(
-        crs, equipment, interface):
-    query = "SELECT IF(link_admin_status = 'up'" \
-            " AND link_oper_status = 'up', 1, 0) AS up FROM juniper_alarms" \
-            " WHERE equipment_name = %s AND link_interface_name = %s" \
-            " ORDER BY alarm_id DESC LIMIT 1"
-    crs.execute(query, ('lo0.' + equipment, interface))
-    result = crs.fetchone()
-    if not result:
-        return "unknown"
-    elif result[0] == 0:
-        return "down"
-    else:
-        return "up"
-
-
-def get_last_known_interface_status(crs, equipment, interface):
-    result = get_last_known_infinera_interface_status(
-        crs, equipment, interface)
-    if result == "unknown":
-        result = get_last_known_coriant_interface_status(
-            crs, equipment, interface)
-    if result == "unknown":
-        result = get_last_known_juniper_link_interface_status(
-            crs, equipment, interface)
-    return result
-
-
-def _load_juniper_servers_table(connection):
-    with db.cursor(connection) as crs:
-        crs.execute('select ip_address, project_name from juniper_servers')
-        for row in crs.fetchall():
-            yield {
-                'ip_address': row[0],
-                'project_name': row[1]
-            }
-
-
-# def load_cache(connection):
-#     yield "juniper_servers", list(_load_juniper_servers_table(connection))
diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index a3fd3a27..d1800813 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -12,7 +12,7 @@ from inventory_provider.tasks.app import app
 from inventory_provider.tasks.common import get_redis
 from inventory_provider import config
 from inventory_provider import environment
-from inventory_provider.db import db, opsdb, alarmsdb
+from inventory_provider.db import db, opsdb
 from inventory_provider import snmp
 from inventory_provider import juniper
 
@@ -183,27 +183,6 @@ def update_circuit_hierarchy():
     logger.debug('<<< update_circuit_hierarchy')
 
 
-@app.task
-def update_interface_statuses():
-    logger = logging.getLogger(__name__)
-    logger.debug('>>> update_interface_statuses')
-
-    with db.connection(InventoryTask.config["ops-db"]) as cx:
-        services = opsdb.get_circuits(cx)
-    with db.connection(InventoryTask.config["alarms-db"]) as cx:
-        with db.cursor(cx) as csr:
-            for service in services:
-                key = 'alarmsdb:interface_status:%s:%s' \
-                      % (service['equipment'], service['interface_name'])
-                status = alarmsdb.get_last_known_interface_status(
-                    csr,
-                    service["equipment"],
-                    service["interface_name"])
-                _save_value(key, status)
-
-    logger.debug('<<< update_interface_statuses')
-
-
 @app.task
 def update_geant_lambdas():
     logger = logging.getLogger(__name__)
@@ -493,7 +472,6 @@ def launch_refresh_cache_all(config):
     #   juniper netconf & snmp data
     subtasks = [
         update_equipment_locations.s(),
-        # update_interface_statuses.s()
     ]
     for hostname in _derive_router_hostnames(config):
         logger.debug(
diff --git a/test/test_alarmsdb.py b/test/test_alarmsdb.py
deleted file mode 100644
index 6e6b3369..00000000
--- a/test/test_alarmsdb.py
+++ /dev/null
@@ -1,91 +0,0 @@
-import inventory_provider.db.alarmsdb as alarmsdb
-
-
-def test_infinera_interface_status(mocker):
-    mock = mocker.Mock()
-    mock.fetchone.return_value = ('Raised',)
-    assert alarmsdb.get_last_known_infinera_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "down"
-
-    mock.fetchone.return_value = ("Clear",)
-    assert alarmsdb.get_last_known_infinera_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "up"
-
-    mock.fetchone.return_value = ()
-    assert alarmsdb.get_last_known_infinera_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "unknown"
-
-    mock.execute.assert_called_with(
-        "SELECT status FROM infinera_alarms WHERE"
-        " CONCAT(ne_name, '-', REPLACE(object_name, 'T', '')) = %s"
-        " ORDER BY ne_init_time DESC, ne_clear_time DESC LIMIT 1",
-        ("eq1-intfc1",))
-
-
-def test_coriant_interface_status(mocker):
-    mock = mocker.Mock()
-    mock.fetchone.return_value = ('Raised',)
-    assert alarmsdb.get_last_known_coriant_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "down"
-
-    mock.fetchone.return_value = ("Clear",)
-    assert alarmsdb.get_last_known_coriant_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "up"
-
-    mock.fetchone.return_value = ()
-    assert alarmsdb.get_last_known_coriant_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "unknown"
-
-    mock.execute.assert_called_with(
-        "SELECT status FROM coriant_alarms"
-        " WHERE ne_id_name = %s AND entity_string LIKE %s"
-        " ORDER BY last_event_time DESC LIMIT 1",
-        ("eq1", "intfc1-%"))
-
-
-def test_juniper_interface_status(mocker):
-    mock = mocker.Mock()
-    mock.fetchone.return_value = (0,)
-    assert alarmsdb.get_last_known_juniper_link_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "down"
-
-    mock.fetchone.return_value = (1,)
-    assert alarmsdb.get_last_known_juniper_link_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "up"
-
-    mock.fetchone.return_value = ()
-    assert alarmsdb.get_last_known_juniper_link_interface_status(
-        mock, 'eq1', 'intfc1'
-    ) == "unknown"
-
-    mock.execute.assert_called_with(
-                "SELECT IF(link_admin_status = 'up'"
-                " AND link_oper_status = 'up', 1, 0)"
-                " AS up FROM juniper_alarms"
-                " WHERE equipment_name = %s AND link_interface_name = %s"
-                " ORDER BY alarm_id DESC LIMIT 1",
-                ("lo0.eq1", "intfc1"))
-
-
-def test_interface_status(mocker):
-    mocked_infinera = mocker.patch(
-        'inventory_provider.db.alarmsdb'
-        '.get_last_known_infinera_interface_status')
-    mocked_infinera.return_value = "unknown"
-    mocked_coriant = mocker.patch(
-        'inventory_provider.db.alarmsdb'
-        '.get_last_known_coriant_interface_status')
-    mocked_coriant.return_value = "unknown"
-    mocked_juniper = mocker.patch(
-        'inventory_provider.db.alarmsdb.'
-        'get_last_known_juniper_link_interface_status')
-    mocked_juniper.return_value = "unknown"
-    assert alarmsdb.get_last_known_interface_status(None, '', '') == "unknown"
-- 
GitLab