Loading src/kpi_manager/database/KpiEngine.py +12 −17 Original line number Diff line number Diff line Loading @@ -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 src/kpi_manager/requirements-all.indeleted 100644 → 0 +0 −83 Original line number Diff line number Diff line 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 src/kpi_manager/requirements.in +0 −20 Original line number Diff line number Diff line Loading @@ -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 Loading
src/kpi_manager/database/KpiEngine.py +12 −17 Original line number Diff line number Diff line Loading @@ -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
src/kpi_manager/requirements-all.indeleted 100644 → 0 +0 −83 Original line number Diff line number Diff line 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
src/kpi_manager/requirements.in +0 −20 Original line number Diff line number Diff line Loading @@ -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