Skip to content
Snippets Groups Projects
Commit 11a1a9d7 authored by Erik Reid's avatar Erik Reid
Browse files

removed alarmsdb module

parent ba92d945
No related branches found
No related tags found
No related merge requests found
# 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))
......@@ -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(
......
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"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment