From b29a24bd962f107702b2b902765b4a1c8b138afa Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 14:19:18 +0100 Subject: [PATCH 1/6] fix test failure --- cassandra_nodetool/tests/compose/config/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cassandra_nodetool/tests/compose/config/Dockerfile b/cassandra_nodetool/tests/compose/config/Dockerfile index 95cf03814d829..1c1a5cda2372b 100644 --- a/cassandra_nodetool/tests/compose/config/Dockerfile +++ b/cassandra_nodetool/tests/compose/config/Dockerfile @@ -1,4 +1,4 @@ -ARG CASSANDRA_VERSION +ARG CASSANDRA_VERSION=2.1.14 FROM cassandra:${CASSANDRA_VERSION} COPY jmxremote.password /etc/cassandra/jmxremote.password RUN chown cassandra:cassandra /etc/cassandra/jmxremote.password From 1a6f0bc348c365126a12e39582e324145c109dfe Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 14:49:19 +0100 Subject: [PATCH 2/6] fix unit test --- cassandra_nodetool/tests/compose/config/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/cassandra_nodetool/tests/compose/config/Dockerfile b/cassandra_nodetool/tests/compose/config/Dockerfile index 1c1a5cda2372b..4a6ab5fbe431f 100644 --- a/cassandra_nodetool/tests/compose/config/Dockerfile +++ b/cassandra_nodetool/tests/compose/config/Dockerfile @@ -1,3 +1,4 @@ +# syntax=docker/dockerfile:1.3 ARG CASSANDRA_VERSION=2.1.14 FROM cassandra:${CASSANDRA_VERSION} COPY jmxremote.password /etc/cassandra/jmxremote.password From 1dedc401d8da82a8d78a32def8beb7a52dba1203 Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 16:08:39 +0100 Subject: [PATCH 3/6] fix test --- cassandra_nodetool/tests/compose/docker-compose.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/cassandra_nodetool/tests/compose/docker-compose.yaml b/cassandra_nodetool/tests/compose/docker-compose.yaml index afc3786c4dc09..6ac630e9f6fd9 100644 --- a/cassandra_nodetool/tests/compose/docker-compose.yaml +++ b/cassandra_nodetool/tests/compose/docker-compose.yaml @@ -4,6 +4,7 @@ services: context: ./config args: CASSANDRA_VERSION: ${CASSANDRA_VERSION} + no_cache: true container_name: dd-test-cassandra ports: - ${CONTAINER_PORT}:${CONTAINER_PORT} From 263deb072c3eccb044765c38ae9a1278c6e065ff Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 16:22:54 +0100 Subject: [PATCH 4/6] fix test --- cassandra_nodetool/tests/compose/config/Dockerfile | 1 - cassandra_nodetool/tests/compose/docker-compose.yaml | 1 - cassandra_nodetool/tests/conftest.py | 11 +++++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cassandra_nodetool/tests/compose/config/Dockerfile b/cassandra_nodetool/tests/compose/config/Dockerfile index 4a6ab5fbe431f..1c1a5cda2372b 100644 --- a/cassandra_nodetool/tests/compose/config/Dockerfile +++ b/cassandra_nodetool/tests/compose/config/Dockerfile @@ -1,4 +1,3 @@ -# syntax=docker/dockerfile:1.3 ARG CASSANDRA_VERSION=2.1.14 FROM cassandra:${CASSANDRA_VERSION} COPY jmxremote.password /etc/cassandra/jmxremote.password diff --git a/cassandra_nodetool/tests/compose/docker-compose.yaml b/cassandra_nodetool/tests/compose/docker-compose.yaml index 6ac630e9f6fd9..afc3786c4dc09 100644 --- a/cassandra_nodetool/tests/compose/docker-compose.yaml +++ b/cassandra_nodetool/tests/compose/docker-compose.yaml @@ -4,7 +4,6 @@ services: context: ./config args: CASSANDRA_VERSION: ${CASSANDRA_VERSION} - no_cache: true container_name: dd-test-cassandra ports: - ${CONTAINER_PORT}:${CONTAINER_PORT} diff --git a/cassandra_nodetool/tests/conftest.py b/cassandra_nodetool/tests/conftest.py index 445e4f2303b9a..b1a6265e55636 100644 --- a/cassandra_nodetool/tests/conftest.py +++ b/cassandra_nodetool/tests/conftest.py @@ -36,6 +36,17 @@ def dd_environment(): else: log_patterns = ['Starting listening for CQL clients', 'All sessions completed'] + # Workaround for Docker 29.1.x BuildKit cache validation bug with old images + # 1. Pre-pull base image + subprocess.run( + ['docker', 'pull', f"cassandra:{env['CASSANDRA_VERSION']}"], + check=False, # Don't fail if pull has issues, let build try + capture_output=True + ) + + # 2. Disable BuildKit to use legacy builder which doesn't have this bug + env['DOCKER_BUILDKIT'] = '0' + with docker_run( compose_file, service_name=common.CASSANDRA_CONTAINER_NAME, From 7a5dec7c1c509aae70cb94973a34e8121acb605f Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 16:28:39 +0100 Subject: [PATCH 5/6] fix test --- cassandra_nodetool/tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cassandra_nodetool/tests/conftest.py b/cassandra_nodetool/tests/conftest.py index b1a6265e55636..6b7716f646a18 100644 --- a/cassandra_nodetool/tests/conftest.py +++ b/cassandra_nodetool/tests/conftest.py @@ -41,7 +41,7 @@ def dd_environment(): subprocess.run( ['docker', 'pull', f"cassandra:{env['CASSANDRA_VERSION']}"], check=False, # Don't fail if pull has issues, let build try - capture_output=True + capture_output=True, ) # 2. Disable BuildKit to use legacy builder which doesn't have this bug From 49dbeb8fc9e01bd86607bb9747db05f853fa0045 Mon Sep 17 00:00:00 2001 From: HadhemiDD Date: Fri, 13 Feb 2026 16:49:00 +0100 Subject: [PATCH 6/6] fix test --- cassandra_nodetool/tests/conftest.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cassandra_nodetool/tests/conftest.py b/cassandra_nodetool/tests/conftest.py index 6b7716f646a18..98e544bcf74b5 100644 --- a/cassandra_nodetool/tests/conftest.py +++ b/cassandra_nodetool/tests/conftest.py @@ -36,17 +36,20 @@ def dd_environment(): else: log_patterns = ['Starting listening for CQL clients', 'All sessions completed'] - # Workaround for Docker 29.1.x BuildKit cache validation bug with old images - # 1. Pre-pull base image + # Workaround for Docker 29.1.x issues with old images + # 1. Pre-pull base image with explicit platform to avoid multi-arch issues subprocess.run( - ['docker', 'pull', f"cassandra:{env['CASSANDRA_VERSION']}"], + ['docker', 'pull', '--platform', 'linux/amd64', f"cassandra:{env['CASSANDRA_VERSION']}"], check=False, # Don't fail if pull has issues, let build try capture_output=True, ) - # 2. Disable BuildKit to use legacy builder which doesn't have this bug + # 2. Disable BuildKit to use legacy builder (BuildKit has cache validation bug) env['DOCKER_BUILDKIT'] = '0' + # 3. Force legacy builder to use specific platform + env['DOCKER_DEFAULT_PLATFORM'] = 'linux/amd64' + with docker_run( compose_file, service_name=common.CASSANDRA_CONTAINER_NAME,