From 26b6c5e84d655a627e84c282500c22498fe8ab50 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 22 Apr 2025 09:49:51 +0000
Subject: [PATCH] Fix GitLab CI/CD pipeline

---
 src/analytics/.gitlab-ci.yml                  | 6 ++++--
 src/analytics/frontend/tests/test_frontend.py | 2 +-
 src/kpi_value_api/.gitlab-ci.yml              | 3 ++-
 src/kpi_value_writer/.gitlab-ci.yml           | 3 ++-
 src/nbi/.gitlab-ci.yml                        | 3 ++-
 src/telemetry/.gitlab-ci.yml                  | 6 ++++--
 src/telemetry/frontend/tests/test_frontend.py | 2 +-
 7 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/analytics/.gitlab-ci.yml b/src/analytics/.gitlab-ci.yml
index 79e6fb23d..496d86867 100644
--- a/src/analytics/.gitlab-ci.yml
+++ b/src/analytics/.gitlab-ci.yml
@@ -86,7 +86,8 @@ unit_test analytics-backend:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP    
@@ -180,7 +181,8 @@ unit_test analytics-frontend:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP
diff --git a/src/analytics/frontend/tests/test_frontend.py b/src/analytics/frontend/tests/test_frontend.py
index 7d8a08d3a..526fa3c60 100644
--- a/src/analytics/frontend/tests/test_frontend.py
+++ b/src/analytics/frontend/tests/test_frontend.py
@@ -41,7 +41,7 @@ from apscheduler.triggers.interval                       import IntervalTrigger
 
 LOCAL_HOST = '127.0.0.1'
 
-ANALYTICS_FRONTEND_PORT = str(get_service_port_grpc(ServiceNameEnum.ANALYTICS))
+ANALYTICS_FRONTEND_PORT = 10000 + int(get_service_port_grpc(ServiceNameEnum.ANALYTICS))
 os.environ[get_env_var_name(ServiceNameEnum.ANALYTICS, ENVVAR_SUFIX_SERVICE_HOST     )] = str(LOCAL_HOST)
 os.environ[get_env_var_name(ServiceNameEnum.ANALYTICS, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(ANALYTICS_FRONTEND_PORT)
 
diff --git a/src/kpi_value_api/.gitlab-ci.yml b/src/kpi_value_api/.gitlab-ci.yml
index 4c7f9f9f6..55d6c3504 100644
--- a/src/kpi_value_api/.gitlab-ci.yml
+++ b/src/kpi_value_api/.gitlab-ci.yml
@@ -76,7 +76,8 @@ unit_test kpi-value-api:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP
diff --git a/src/kpi_value_writer/.gitlab-ci.yml b/src/kpi_value_writer/.gitlab-ci.yml
index 39c174d75..4393bf556 100644
--- a/src/kpi_value_writer/.gitlab-ci.yml
+++ b/src/kpi_value_writer/.gitlab-ci.yml
@@ -76,7 +76,8 @@ unit_test kpi-value-writer:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP
diff --git a/src/nbi/.gitlab-ci.yml b/src/nbi/.gitlab-ci.yml
index 141d87c26..0edeac5e1 100644
--- a/src/nbi/.gitlab-ci.yml
+++ b/src/nbi/.gitlab-ci.yml
@@ -76,7 +76,8 @@ unit_test nbi:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP
diff --git a/src/telemetry/.gitlab-ci.yml b/src/telemetry/.gitlab-ci.yml
index 43d729292..35a5a005e 100644
--- a/src/telemetry/.gitlab-ci.yml
+++ b/src/telemetry/.gitlab-ci.yml
@@ -86,7 +86,8 @@ unit_test telemetry-backend:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP    
@@ -180,7 +181,8 @@ unit_test telemetry-frontend:
       --env KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       --env KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
       bitnami/kafka:latest
-    - sleep 20 # Wait for Kafka to start
+    - while ! docker logs kafka 2>&1 | grep -q 'Kafka Server started'; do sleep 1; done
+    - sleep 5 # Give extra time to Kafka to get stabilized
     - docker inspect kafka --format "{{.NetworkSettings.Networks}}"
     - KAFKA_IP=$(docker inspect kafka --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}")
     - echo $KAFKA_IP
diff --git a/src/telemetry/frontend/tests/test_frontend.py b/src/telemetry/frontend/tests/test_frontend.py
index 767a1f73f..0e5e7d47f 100644
--- a/src/telemetry/frontend/tests/test_frontend.py
+++ b/src/telemetry/frontend/tests/test_frontend.py
@@ -37,7 +37,7 @@ from telemetry.frontend.service.TelemetryFrontendServiceServicerImpl import Tele
 
 LOCAL_HOST = '127.0.0.1'
 
-TELEMETRY_FRONTEND_PORT = str(get_service_port_grpc(ServiceNameEnum.TELEMETRY))
+TELEMETRY_FRONTEND_PORT = 10000 + int(get_service_port_grpc(ServiceNameEnum.TELEMETRY))
 os.environ[get_env_var_name(ServiceNameEnum.TELEMETRY, ENVVAR_SUFIX_SERVICE_HOST     )] = str(LOCAL_HOST)
 os.environ[get_env_var_name(ServiceNameEnum.TELEMETRY, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(TELEMETRY_FRONTEND_PORT)
 
-- 
GitLab