From 3a00a55c67a4105fcadc6e9944bf8f598b6ed1b9 Mon Sep 17 00:00:00 2001
From: Waleed Akbar <wakbar@cttc.es>
Date: Fri, 12 Apr 2024 09:05:59 +0000
Subject: [PATCH] Improvement in Kafka deployment script

---
 deploy/kafka.sh | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/deploy/kafka.sh b/deploy/kafka.sh
index 976bec117..f2fb666b5 100755
--- a/deploy/kafka.sh
+++ b/deploy/kafka.sh
@@ -39,26 +39,31 @@ mkdir -p ${TMP_MANIFESTS_FOLDER}
 cp "${KFK_MANIFESTS_PATH}/${KFK_ZOOKEEPER_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}"
 cp "${KFK_MANIFESTS_PATH}/${KFK_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_MANIFEST}"
 
+echo "Apache Kafka Namespace"
+echo ">>> Delete Apache Kafka Namespace"
 kubectl delete namespace ${KFK_NAMESPACE} --ignore-not-found
+
+echo ">>> Create Apache Kafka Namespace"
 kubectl create namespace ${KFK_NAMESPACE}
-# sleep 2
-# echo "----"
 
+echo ">>> Deplying Apache Kafka Zookeeper"
 # Kafka zookeeper service should be deployed before the kafka service
 kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}"
-# kubectl get services --namespace ${KFK_NAMESPACE}
-# echo "----"
 
-KFK_ZOOKEEPER_SERVICE="zookeeper-service"    # this command may be replaced with command to get service name automatically
+KFK_ZOOKEEPER_SERVICE="zookeeper-service"    # this command may be replaced with command to extract service name automatically
 KFK_ZOOKEEPER_IP=$(kubectl --namespace ${KFK_NAMESPACE} get service ${KFK_ZOOKEEPER_SERVICE} -o 'jsonpath={.spec.clusterIP}')
-# echo $KFK_ZOOKEEPER_IP
-# echo "----"
 
 # Kafka service should be deployed after the zookeeper service
 sed -i "s/<ZOOKEEPER_INTERNAL_IP>/${KFK_ZOOKEEPER_IP}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
-# echo "----"
+
+echo ">>> Deploying Apache Kafka Broker"
 kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST"
-sleep 5
-kubectl --namespace ${KFK_NAMESPACE} get pods
 
-echo "--- Kafka service deployed sucessfully ---"
\ No newline at end of file
+echo ">>> Verifing Apache Kafka deployment"
+sleep 5
+KFK_PODS_STATUS=$(kubectl --namespace ${KFK_NAMESPACE} get pods)
+if echo "$KFK_PODS_STATUS" | grep -qEv 'STATUS|Running'; then
+    echo "Deployment Error: $KFK_PODS_STATUS"
+else
+    echo "$KFK_PODS_STATUS"
+fi
\ No newline at end of file
-- 
GitLab