From c8d99dcbafccd112385d34467bf0a52e54fbbfef Mon Sep 17 00:00:00 2001 From: Waleed Akbar <wakbar@cttc.es> Date: Mon, 30 Sep 2024 17:14:07 +0000 Subject: [PATCH] DB_NAME is moved to Generic_Engine class. --- src/analytics/database/Analyzer_DB.py | 2 +- src/analytics/frontend/service/__main__.py | 5 +---- src/analytics/frontend/tests/test_frontend.py | 2 +- src/common/tools/database/GenericDatabase.py | 5 ++--- src/common/tools/database/GenericEngine.py | 4 ++-- src/kpi_manager/service/__main__.py | 5 +---- src/telemetry/frontend/service/__main__.py | 5 +---- 7 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/analytics/database/Analyzer_DB.py b/src/analytics/database/Analyzer_DB.py index 99e9c62f6..ab0b50f2e 100644 --- a/src/analytics/database/Analyzer_DB.py +++ b/src/analytics/database/Analyzer_DB.py @@ -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) diff --git a/src/analytics/frontend/service/__main__.py b/src/analytics/frontend/service/__main__.py index cc324e2dc..1df996785 100644 --- a/src/analytics/frontend/service/__main__.py +++ b/src/analytics/frontend/service/__main__.py @@ -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() diff --git a/src/analytics/frontend/tests/test_frontend.py b/src/analytics/frontend/tests/test_frontend.py index f7a25f4c7..44e84e468 100644 --- a/src/analytics/frontend/tests/test_frontend.py +++ b/src/analytics/frontend/tests/test_frontend.py @@ -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) diff --git a/src/common/tools/database/GenericDatabase.py b/src/common/tools/database/GenericDatabase.py index 9868401ec..bc73581e3 100644 --- a/src/common/tools/database/GenericDatabase.py +++ b/src/common/tools/database/GenericDatabase.py @@ -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)]) diff --git a/src/common/tools/database/GenericEngine.py b/src/common/tools/database/GenericEngine.py index ff3def466..8c458285d 100644 --- a/src/common/tools/database/GenericEngine.py +++ b/src/common/tools/database/GenericEngine.py @@ -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') diff --git a/src/kpi_manager/service/__main__.py b/src/kpi_manager/service/__main__.py index 6a3d078e2..05e32bb58 100644 --- a/src/kpi_manager/service/__main__.py +++ b/src/kpi_manager/service/__main__.py @@ -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() diff --git a/src/telemetry/frontend/service/__main__.py b/src/telemetry/frontend/service/__main__.py index c18f7ba4c..6697ff5f1 100644 --- a/src/telemetry/frontend/service/__main__.py +++ b/src/telemetry/frontend/service/__main__.py @@ -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() -- GitLab