Skip to content
Snippets Groups Projects
Commit c8d99dcb authored by Waleed Akbar's avatar Waleed Akbar
Browse files

DB_NAME is moved to Generic_Engine class.

parent e30c0353
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!267Resolve "(CTTC) Generalize Service Database management"
......@@ -53,4 +53,4 @@ class AnalyzerDB(Database):
LOGGER.error(f"Error creating filter of {model.__name__} table. ERROR: {e}")
raise OperationFailedException ("CreateKpiDescriptorFilter", extra_details=["unable to create the filter {:}".format(e)])
return super().select_with_filter(query, session, model)
\ No newline at end of file
return super().select_with_filter(query, session, model)
......@@ -18,10 +18,7 @@ from common.Settings import get_log_level, get_metrics_port
from .AnalyticsFrontendService import AnalyticsFrontendService
from analytics.database.AnalyzerModel import Analyzer as Model
from common.tools.database.GenericDatabase import Database
from common.Settings import get_setting
DB_NAME = get_setting('CRDB_DATABASE', default=None)
terminate = threading.Event()
LOGGER = None
......@@ -42,7 +39,7 @@ def main():
LOGGER.info('Starting...')
# To create DB
kpiDBobj = Database(DB_NAME, Model)
kpiDBobj = Database(Model)
kpiDBobj.create_database()
kpiDBobj.create_tables()
......
......@@ -123,4 +123,4 @@ def test_SelectAnalytics(analyticsFrontend_client):
# class_obj = AnalyticsFrontendServiceServicerImpl()
# for response in class_obj.StartResponseListener(analyzer_id.analyzer_id.uuid):
# LOGGER.debug(response)
# assert isinstance(response, tuple)
\ No newline at end of file
# assert isinstance(response, tuple)
......@@ -23,11 +23,10 @@ from common.Settings import get_setting
from common.method_wrappers.ServiceExceptions import (OperationFailedException, AlreadyExistsException)
LOGGER = logging.getLogger(__name__)
DB_NAME = get_setting('CRDB_DATABASE', default=None)
class Database:
def __init__(self, model):
self.db_engine = Engine.get_engine(DB_NAME)
self.db_engine = Engine.get_engine()
if self.db_engine is None:
LOGGER.error('Unable to get SQLAlchemy DB Engine...')
raise Exception('Failed to initialize the database engine.')
......@@ -48,7 +47,7 @@ class Database:
def create_tables(self):
try:
self.db_model.metadata.create_all(self.db_engine)
LOGGER.debug("Tables created in the database: {:}".format(self.db_name))
LOGGER.debug("Tables created in the database: {:}".format(self.db_table))
except Exception as e:
LOGGER.debug("Tables cannot be created in the database. {:s}".format(str(e)))
raise OperationFailedException ("Tables can't be created", extra_details=["unable to create table {:}".format(e)])
......
......@@ -20,12 +20,12 @@ CRDB_URI_TEMPLATE = 'cockroachdb://{:s}:{:s}@cockroachdb-public.{:s}.svc.cluster
class Engine:
@staticmethod
def get_engine(db_name) -> sqlalchemy.engine.Engine:
def get_engine() -> sqlalchemy.engine.Engine:
crdb_uri = get_setting('CRDB_URI', default=None)
if crdb_uri is None:
CRDB_NAMESPACE = get_setting('CRDB_NAMESPACE')
CRDB_SQL_PORT = get_setting('CRDB_SQL_PORT')
CRDB_DATABASE = db_name
CRDB_DATABASE = get_setting('CRDB_DATABASE', default=None)
CRDB_USERNAME = get_setting('CRDB_USERNAME')
CRDB_PASSWORD = get_setting('CRDB_PASSWORD')
CRDB_SSLMODE = get_setting('CRDB_SSLMODE')
......
......@@ -18,10 +18,7 @@ from .KpiManagerService import KpiManagerService
from kpi_manager.database.KpiModel import Kpi as Model
from common.tools.database.GenericDatabase import Database
from common.Settings import get_setting
DB_NAME = get_setting('CRDB_DATABASE', default=None)
terminate = threading.Event()
LOGGER = None
......@@ -42,7 +39,7 @@ def main():
LOGGER.debug('Starting...')
# To create DB
kpiDBobj = Database(DB_NAME, Model)
kpiDBobj = Database(Model)
kpiDBobj.create_database()
kpiDBobj.create_tables()
......
......@@ -18,10 +18,7 @@ from common.Settings import get_log_level, get_metrics_port
from .TelemetryFrontendService import TelemetryFrontendService
from telemetry.database.TelemetryModel import Collector as Model
from common.tools.database.GenericDatabase import Database
from common.Settings import get_setting
DB_NAME = get_setting('CRDB_DATABASE', default=None)
terminate = threading.Event()
LOGGER = None
......@@ -42,7 +39,7 @@ def main():
LOGGER.info('Starting...')
# To create DB
kpiDBobj = Database(DB_NAME, Model)
kpiDBobj = Database(Model)
kpiDBobj.create_database()
kpiDBobj.create_tables()
......
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