diff --git a/src/kpi_manager/database/KpiEngine.py b/src/kpi_manager/database/KpiEngine.py index 1d4015ff24b89a9cf17a879e6aebcc47ef0b2409..42bda9527dfcb1e5cef0e229d260fd67f4b4a6d5 100644 --- a/src/kpi_manager/database/KpiEngine.py +++ b/src/kpi_manager/database/KpiEngine.py @@ -13,37 +13,32 @@ # limitations under the License. import logging, sqlalchemy -# from common.Settings import get_setting +from common.Settings import get_setting LOGGER = logging.getLogger(__name__) -APP_NAME = 'tfs' -ECHO = False # False: No dump SQL commands and transactions executed # CRDB_URI_TEMPLATE = 'cockroachdb://{:s}:{:s}@127.0.0.1:{:s}/{:s}?sslmode={:s}' -CRDB_NAMESPACE = "crdb" -CRDB_SQL_PORT = "26257" -CRDB_DATABASE = "kpi" -CRDB_USERNAME = "tfs" -CRDB_PASSWORD = "tfs123" -CRDB_SSLMODE = "require" CRDB_URI_TEMPLATE = 'cockroachdb://{:s}:{:s}@cockroachdb-public.{:s}.svc.cluster.local:{:s}/{:s}?sslmode={:s}' class KpiEngine: - # def __init__(self): - # self.engine = self.get_engine() - @staticmethod def get_engine() -> sqlalchemy.engine.Engine: - # crdb_uri = CRDB_URI_TEMPLATE.format( - # CRDB_USERNAME, CRDB_PASSWORD, CRDB_SQL_PORT, CRDB_DATABASE, CRDB_SSLMODE) + 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 = get_setting('CRDB_DATABASE') + CRDB_USERNAME = get_setting('CRDB_USERNAME') + CRDB_PASSWORD = get_setting('CRDB_PASSWORD') + CRDB_SSLMODE = get_setting('CRDB_SSLMODE') crdb_uri = CRDB_URI_TEMPLATE.format( CRDB_USERNAME, CRDB_PASSWORD, CRDB_NAMESPACE, CRDB_SQL_PORT, CRDB_DATABASE, CRDB_SSLMODE) + # crdb_uri = CRDB_URI_TEMPLATE.format( + # CRDB_USERNAME, CRDB_PASSWORD, CRDB_SQL_PORT, CRDB_DATABASE, CRDB_SSLMODE) try: - # engine = sqlalchemy.create_engine( - # crdb_uri, connect_args={'application_name': APP_NAME}, echo=ECHO, future=True) engine = sqlalchemy.create_engine(crdb_uri, echo=False) LOGGER.info(' KpiDBmanager initalized with DB URL: {:}'.format(crdb_uri)) except: # pylint: disable=bare-except # pragma: no cover LOGGER.exception('Failed to connect to database: {:s}'.format(str(crdb_uri))) return None # type: ignore - return engine # type: ignore + return engine diff --git a/src/kpi_manager/requirements-all.in b/src/kpi_manager/requirements-all.in deleted file mode 100644 index c4a1c21204cdad01ddf344b7ce348701d04c0114..0000000000000000000000000000000000000000 --- a/src/kpi_manager/requirements-all.in +++ /dev/null @@ -1,83 +0,0 @@ -aniso8601==9.0.1 -anytree==2.8.0 -APScheduler==3.10.1 -attrs==23.2.0 -bcrypt==4.1.3 -certifi==2024.2.2 -cffi==1.16.0 -charset-normalizer==2.0.12 -click==8.1.7 -colorama==0.4.6 -confluent-kafka==2.3.0 -coverage==6.3 -cryptography==36.0.2 -deepdiff==6.7.1 -deepmerge==1.1.1 -enum34==1.1.10 -Flask==2.1.3 -Flask-HTTPAuth==4.5.0 -Flask-RESTful==0.3.9 -future-fstrings==1.2.0 -googleapis-common-protos==1.63.2 -greenlet==3.0.3 -grpcio==1.47.5 -grpcio-health-checking==1.47.5 -grpcio-tools==1.47.5 -grpclib==0.4.4 -h2==4.1.0 -hpack==4.0.0 -hyperframe==6.0.1 -idna==3.7 -influx-line-protocol==0.1.4 -iniconfig==2.0.0 -ipaddress==1.0.23 -itsdangerous==2.2.0 -Jinja2==3.0.3 -kafka-python==2.0.2 -lxml==5.2.2 -macaddress==2.0.2 -MarkupSafe==2.1.5 -multidict==6.0.5 -ncclient==0.6.15 -networkx==2.8.8 -numpy==2.0.0 -ordered-set==4.1.0 -p4runtime==1.3.0 -packaging==24.0 -pandas==1.5.3 -paramiko==2.9.2 -pluggy==1.5.0 -prettytable==3.5.0 -prometheus-client==0.13.0 -protobuf==3.20.3 -psycopg2-binary==2.9.3 -py==1.11.0 -py-cpuinfo==9.0.0 -pyang==2.6.0 -pyangbind @ git+https://github.com/robshakir/pyangbind.git@daf530f882c14bdb1bae4dc94fb4b4ad04d1295c -pycparser==2.22 -PyNaCl==1.5.0 -pytest==6.2.5 -pytest-benchmark==3.4.1 -pytest-depends==1.0.1 -python-dateutil==2.8.2 -python-json-logger==2.0.2 -pytz==2024.1 -questdb==1.0.1 -regex==2024.5.15 -requests==2.27.1 -requests-mock==1.9.3 -six==1.16.0 -SQLAlchemy==1.4.52 -sqlalchemy-cockroachdb==1.4.4 -SQLAlchemy-Utils==0.38.3 -tabulate==0.9.0 -toml==0.10.2 -typing_extensions==4.12.0 -tzlocal==5.2 -urllib3==1.26.18 -wcwidth==0.2.13 -websockets==10.4 -Werkzeug==2.3.7 -xmltodict==0.12.0 -yattag==1.15.2 diff --git a/src/kpi_manager/requirements.in b/src/kpi_manager/requirements.in index b961116dc64e17fb3d4a3fe987a1b464b7e7382a..f4e54a174b86769c240751b89fa5a2213a56e022 100644 --- a/src/kpi_manager/requirements.in +++ b/src/kpi_manager/requirements.in @@ -5,49 +5,29 @@ bcrypt==4.1.3 certifi==2024.7.4 cffi==1.16.0 charset-normalizer==2.0.12 -coverage==6.3 cryptography==42.0.8 googleapis-common-protos==1.63.2 greenlet==3.0.3 -grpcio==1.47.5 -grpcio-health-checking==1.47.5 -grpcio-tools==1.47.5 -grpclib==0.4.4 -h2==4.1.0 -hpack==4.0.0 -hyperframe==6.0.1 idna==3.7 -iniconfig==2.0.0 Jinja2==3.0.3 lxml==5.2.2 macaddress==2.0.2 MarkupSafe==2.1.5 -multidict==6.0.5 ncclient==0.6.15 p4runtime==1.3.0 -packaging==24.1 paramiko==3.4.0 -pluggy==1.5.0 -prettytable==3.5.0 -prometheus-client==0.13.0 -protobuf==3.20.3 psycopg2-binary==2.9.3 -py==1.11.0 pycparser==2.22 PyNaCl==1.5.0 -pytest==6.2.5 pytz==2024.1 requests==2.27.1 -six==1.16.0 SQLAlchemy==1.4.52 sqlalchemy-cockroachdb==1.4.4 SQLAlchemy-Utils==0.38.3 tabulate==0.9.0 -toml==0.10.2 typing_extensions==4.12.2 tzlocal==5.2 urllib3==1.26.19 -wcwidth==0.2.13 websockets==10.4 xmltodict==0.12.0 yattag==1.15.2