Loading deploy/all.sh +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ export TFS_REGISTRY_IMAGES=${TFS_REGISTRY_IMAGES:-"http://localhost:32000/tfs/"} # If not already set, set the list of components, separated by spaces, you want to build images for, and deploy. # By default, only basic components are deployed export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice nbi webui load_generator"} export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice nbi webui load_generator kpi_manager"} # Uncomment to activate Monitoring #export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" Loading install_requirements.sh +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ ALL_COMPONENTS="context device service nbi monitoring webui interdomain slice" ALL_COMPONENTS="${ALL_COMPONENTS} dbscanserving opticalattackmitigator opticalattackdetector" ALL_COMPONENTS="${ALL_COMPONENTS} l3_attackmitigator l3_centralizedattackdetector l3_distributedattackdetector" ALL_COMPONENTS="${ALL_COMPONENTS} kpi_manager" TFS_COMPONENTS=${TFS_COMPONENTS:-$ALL_COMPONENTS} # Some components require libyang built from source code Loading src/kpi_manager/requirements-all.in 0 → 100644 +83 −0 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 +6 −36 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 certifi==2024.7.4 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 cryptography==42.0.8 googleapis-common-protos==1.63.2 greenlet==3.0.3 grpcio==1.47.5 Loading @@ -28,56 +17,37 @@ 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 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 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 typing_extensions==4.12.2 tzlocal==5.2 urllib3==1.26.18 urllib3==1.26.19 wcwidth==0.2.13 websockets==10.4 Werkzeug==2.3.7 xmltodict==0.12.0 yattag==1.15.2 src/kpi_value_writer/service/KpiValueWriter.py +2 −2 Original line number Diff line number Diff line Loading @@ -49,8 +49,8 @@ class KpiValueWriter: 'auto.offset.reset' : 'latest'} ) kafka_consumer.subscribe([KafkaTopic.VALUE.value]) LOGGER.debug("Kafka Consumer start listenng on topic: ".format(KafkaTopic.VALUE.value)) print("Kafka Consumer start listenng on topic: ".format(KafkaTopic.VALUE.value)) LOGGER.debug("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value)) print("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value)) while True: raw_kpi = kafka_consumer.poll(1.0) if raw_kpi is None: Loading Loading
deploy/all.sh +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ export TFS_REGISTRY_IMAGES=${TFS_REGISTRY_IMAGES:-"http://localhost:32000/tfs/"} # If not already set, set the list of components, separated by spaces, you want to build images for, and deploy. # By default, only basic components are deployed export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice nbi webui load_generator"} export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice nbi webui load_generator kpi_manager"} # Uncomment to activate Monitoring #export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" Loading
install_requirements.sh +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ ALL_COMPONENTS="context device service nbi monitoring webui interdomain slice" ALL_COMPONENTS="${ALL_COMPONENTS} dbscanserving opticalattackmitigator opticalattackdetector" ALL_COMPONENTS="${ALL_COMPONENTS} l3_attackmitigator l3_centralizedattackdetector l3_distributedattackdetector" ALL_COMPONENTS="${ALL_COMPONENTS} kpi_manager" TFS_COMPONENTS=${TFS_COMPONENTS:-$ALL_COMPONENTS} # Some components require libyang built from source code Loading
src/kpi_manager/requirements-all.in 0 → 100644 +83 −0 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 +6 −36 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 certifi==2024.7.4 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 cryptography==42.0.8 googleapis-common-protos==1.63.2 greenlet==3.0.3 grpcio==1.47.5 Loading @@ -28,56 +17,37 @@ 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 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 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 typing_extensions==4.12.2 tzlocal==5.2 urllib3==1.26.18 urllib3==1.26.19 wcwidth==0.2.13 websockets==10.4 Werkzeug==2.3.7 xmltodict==0.12.0 yattag==1.15.2
src/kpi_value_writer/service/KpiValueWriter.py +2 −2 Original line number Diff line number Diff line Loading @@ -49,8 +49,8 @@ class KpiValueWriter: 'auto.offset.reset' : 'latest'} ) kafka_consumer.subscribe([KafkaTopic.VALUE.value]) LOGGER.debug("Kafka Consumer start listenng on topic: ".format(KafkaTopic.VALUE.value)) print("Kafka Consumer start listenng on topic: ".format(KafkaTopic.VALUE.value)) LOGGER.debug("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value)) print("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value)) while True: raw_kpi = kafka_consumer.poll(1.0) if raw_kpi is None: Loading