You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by mi...@apache.org on 2025/07/22 14:28:53 UTC

(kafka) branch 4.1 updated: KAFKA-19501 Update OpenJDK base image from buster to bullseye (#20165)

This is an automated email from the ASF dual-hosted git repository.

mimaison pushed a commit to branch 4.1
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/4.1 by this push:
     new d5a3acda897 KAFKA-19501 Update OpenJDK base image from buster to bullseye (#20165)
d5a3acda897 is described below

commit d5a3acda897890379edb8819f15b144fcea564b0
Author: Tsung-Han Ho (Miles Ho) <my...@gmail.com>
AuthorDate: Thu Jul 17 03:27:07 2025 +0800

    KAFKA-19501 Update OpenJDK base image from buster to bullseye (#20165)
    
    The changes update the OpenJDK base image from 17-buster to 17-bullseye:
    - Updates tests/docker/Dockerfile to use openjdk:17-bullseye instead of
    openjdk:17-buster
      - Updates tests/docker/ducker-ak script to use the new default image
    - Updates documentation in tests/README.md with the new image name
    examples
    
    Reviewers: Federico Valeri <fe...@gmail.com>, TengYao Chi
    <ki...@gmail.com>, Ken Huang <s7...@gmail.com>, Chia-Ping Tsai
    <ch...@gmail.com>
---
 tests/README.md         | 5 +++--
 tests/docker/Dockerfile | 4 +---
 tests/docker/ducker-ak  | 9 +++++++--
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/tests/README.md b/tests/README.md
index 7a1d4e73394..a64946c892a 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -49,12 +49,13 @@ TC_PATHS="tests/kafkatest/tests/streams/streams_upgrade_test.py::StreamsUpgradeT
 ```
 * Run tests with a specific image name
 ```
-image_name="ducker-ak-openjdk:17-buster" bash tests/docker/run_tests.sh
+image_name="ducker-ak-openjdk:17" bash tests/docker/run_tests.sh
 ```
 * Run tests with a different JVM
 ```
-bash tests/docker/ducker-ak up -j 'openjdk:17-buster'; tests/docker/run_tests.sh
+bash tests/docker/ducker-ak up -j '<JDK_IMAGE>'; tests/docker/run_tests.sh
 ```
+  You can customize the OpenJDK base image using the `-j` or `--jdk` parameter, otherwise a default value will be used.
 * Remove ducker-ak containers
 ```
 bash tests/docker/ducker-ak down -f
diff --git a/tests/docker/Dockerfile b/tests/docker/Dockerfile
index 87078db195b..01c1a0533d3 100644
--- a/tests/docker/Dockerfile
+++ b/tests/docker/Dockerfile
@@ -13,9 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# The base image of openjdk:17 is typically oraclelinux:8-slim, which doesn't include apt-get. 
-# Therefore, use openjdk:17-buster instead.
-ARG jdk_version=openjdk:17-buster
+ARG jdk_version
 FROM $jdk_version AS build-native-image
 
 WORKDIR /build
diff --git a/tests/docker/ducker-ak b/tests/docker/ducker-ak
index 05af5ac9bb1..68aed30923f 100755
--- a/tests/docker/ducker-ak
+++ b/tests/docker/ducker-ak
@@ -45,7 +45,9 @@ docker_run_memory_limit="2000m"
 default_num_nodes=14
 
 # The default OpenJDK base image.
-default_jdk="openjdk:17-buster"
+# The base image of openjdk:17 is typically oraclelinux:8-slim, which doesn't include apt-get. 
+# Therefore, use openjdk:17-bullseye instead.
+default_jdk="openjdk:17-bullseye"
 
 # The default ducker-ak image name.
 default_image_name="ducker-ak"
@@ -70,7 +72,7 @@ help|-h|--help
     Display this help message
 
 up [-n|--num-nodes NUM_NODES] [-f|--force] [docker-image]
-        [-C|--custom-ducktape DIR] [-e|--expose-ports ports] [--ipv6]
+        [-C|--custom-ducktape DIR] [-e|--expose-ports ports] [-j|--jdk JDK_VERSION] [--ipv6]
     Bring up a cluster with the specified amount of nodes (defaults to ${default_num_nodes}).
     The docker image name defaults to ${default_image_name}.  If --force is specified, we will
     attempt to bring up an image even some parameters are not valid.
@@ -84,6 +86,9 @@ up [-n|--num-nodes NUM_NODES] [-f|--force] [docker-image]
     or a combination of port/port-range separated by comma (like 2181,9092 or 2181,5005-5008).
     By default no port is exposed. See README.md for more detail on this option.
 
+    If -j|--jdk is specified, you can customize the OpenJDK base image used for building
+    the ducker container. Defaults to ${default_jdk}. Example: -j openjdk:17-bullseye
+
     If --ipv6 is specified, we will create a Docker network with IPv6 enabled.
     
     Note that port 5678 will be automatically exposed for ducker01 node and will be mapped to 5678