diff --git a/deploy/all.sh b/deploy/all.sh
index cedbb5b8bfc7ef363c1d60a9d8f2b6cef63be384..99058b96e10648d1f7816a5d57652a74e14a97d2 100755
--- a/deploy/all.sh
+++ b/deploy/all.sh
@@ -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"
diff --git a/install_requirements.sh b/install_requirements.sh
index cbd378eca81af17386100fc0ceb3757912d0ebf5..f1ae278c667b86a458a3db6c1d92ad84bac019a9 100755
--- a/install_requirements.sh
+++ b/install_requirements.sh
@@ -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
diff --git a/src/kpi_manager/requirements-all.in b/src/kpi_manager/requirements-all.in
new file mode 100644
index 0000000000000000000000000000000000000000..c4a1c21204cdad01ddf344b7ce348701d04c0114
--- /dev/null
+++ b/src/kpi_manager/requirements-all.in
@@ -0,0 +1,83 @@
+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 c4a1c21204cdad01ddf344b7ce348701d04c0114..b961116dc64e17fb3d4a3fe987a1b464b7e7382a 100644
--- a/src/kpi_manager/requirements.in
+++ b/src/kpi_manager/requirements.in
@@ -1,23 +1,12 @@
-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
@@ -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
diff --git a/src/kpi_value_writer/service/KpiValueWriter.py b/src/kpi_value_writer/service/KpiValueWriter.py
index 1385ac5644b547e20b72ea23bdf73fdf25a31838..ae75f777a6831588e87835781a768a719241d212 100644
--- a/src/kpi_value_writer/service/KpiValueWriter.py
+++ b/src/kpi_value_writer/service/KpiValueWriter.py
@@ -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:
diff --git a/src/kpi_value_writer/tests/test_kpi_value_writer.py b/src/kpi_value_writer/tests/test_kpi_value_writer.py
index e528f1dbb9c527f3394876f36074ec80fdb22c1c..bec193a9e53d1a3c2039ba4d5abac94977f73ab5 100755
--- a/src/kpi_value_writer/tests/test_kpi_value_writer.py
+++ b/src/kpi_value_writer/tests/test_kpi_value_writer.py
@@ -30,5 +30,5 @@ def test_KafkaConsumer():
     LOGGER.debug(" --->>> test_validate_kafka_topics: START <<<--- ")
     KpiValueWriter.RunKafkaConsumer()
 
-def test_metric_composer_and_writer():
-    LOGGER.debug(" --->>> test_metric_composer_and_writer: START <<<--- ")
+# def test_metric_composer_and_writer():
+#     LOGGER.debug(" --->>> test_metric_composer_and_writer: START <<<--- ")