From 286adbebf53811bdd18855a5021fc46d24e6ff1b Mon Sep 17 00:00:00 2001
From: Yuri Shkuro <yurishkuro@users.noreply.github.com>
Date: Fri, 27 Dec 2024 13:21:41 -0400
Subject: [PATCH] Do not test with Kafka 2.x (#6427)

## Which problem is this PR solving?
- Resolves #3068
- According to https://endoflife.date/apache-kafka the support for Kafka
2.x ended 2yrs ago. There is no reason to waste CI resources testing
against it.
- Our documentation only mentions 3.x
https://www.jaegertracing.io/docs/2.1/kafka/

## Description of the changes
- Remove Kafka 2.x from the test matrix
- Remove the corresponding docker-compose file

## How was this change tested?
- CI

---------

Signed-off-by: Yuri Shkuro <github@ysh.us>
---
 .github/workflows/ci-e2e-kafka.yml         |  2 +-
 docker-compose/kafka/v2/docker-compose.yml | 21 -------------------
 scripts/kafka-integration-test.sh          | 24 ++++++++--------------
 3 files changed, 9 insertions(+), 38 deletions(-)
 delete mode 100644 docker-compose/kafka/v2/docker-compose.yml

diff --git a/.github/workflows/ci-e2e-kafka.yml b/.github/workflows/ci-e2e-kafka.yml
index c79af13d1bcf..d07062d85477 100644
--- a/.github/workflows/ci-e2e-kafka.yml
+++ b/.github/workflows/ci-e2e-kafka.yml
@@ -18,7 +18,7 @@ jobs:
       fail-fast: false
       matrix:
         jaeger-version: [v1, v2]
-        kafka-version: ["3.x", "2.x"]
+        kafka-version: ["3.x"]
     name: kafka ${{matrix.kafka-version }} ${{ matrix.jaeger-version }}
     steps:
     - name: Harden Runner
diff --git a/docker-compose/kafka/v2/docker-compose.yml b/docker-compose/kafka/v2/docker-compose.yml
deleted file mode 100644
index 5eb0b1d287ce..000000000000
--- a/docker-compose/kafka/v2/docker-compose.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-services:
-  zookeeper:
-    image: bitnami/zookeeper:3.9.3
-    ports:
-      - "2181:2181"
-    environment:
-      - ALLOW_ANONYMOUS_LOGIN=yes
-
-  kafka:
-    image: bitnami/kafka:2.8.0
-    ports:
-      - "9092:9092"
-    environment:
-      - KAFKA_BROKER_ID=1
-      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
-      - KAFKA_LISTENERS=PLAINTEXT://:9092
-      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
-      - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
-      - ALLOW_PLAINTEXT_LISTENER=yes
-    depends_on:
-      - zookeeper
\ No newline at end of file
diff --git a/scripts/kafka-integration-test.sh b/scripts/kafka-integration-test.sh
index c62f73a44f55..cc794023c37a 100755
--- a/scripts/kafka-integration-test.sh
+++ b/scripts/kafka-integration-test.sh
@@ -6,28 +6,21 @@
 set -euf -o pipefail
 
 compose_file=""
-jaeger_version=""
-kafka_version=""
+jaeger_version="v2"
+kafka_version="v3"
 manage_kafka="true"
 success="false"
 
 usage() {
-  echo "Usage: $0 [-K] -j <jaeger_version> -v <kafka_version>"
-  echo "  -K: do not start or stop Kafka container (useful for local testing)"
-  echo "  -j: major version of Jaeger to test (v1|v2)"
-  echo "  -v: kafka major version (3.x|2.x)"
+  echo "Usage: $0 [-S] [-j <jaeger_version>] [-v <kafka_version>]"
+  echo "  -S: 'no storage' - do not start or stop Kafka container (useful for local testing)"
+  echo "  -j: major version of Jaeger to test (v1|v2); default: v2"
+  echo "  -v: kafka major version (3.x); default: 3.x"
   exit 1
 }
 
-check_arg() {
-  if [ ! $# -eq 3 ]; then
-      echo "ERROR: need exactly three arguments"
-      usage
-    fi
-}
-
 parse_args() {
-  while getopts "j:v:Kh" opt; do
+  while getopts "j:v:Sh" opt; do
     case "${opt}" in
     j)
       jaeger_version=${OPTARG}
@@ -46,7 +39,7 @@ parse_args() {
         ;;
       esac
       ;;
-    K)
+    S)
       manage_kafka="false"
       ;;
     *)
@@ -61,7 +54,6 @@ parse_args() {
   compose_file="docker-compose/kafka/${kafka_version}/docker-compose.yml"
 }
 
-
 setup_kafka() {
   echo "Starting Kafka using Docker Compose..."
   docker compose -f "${compose_file}" up -d kafka