From 7534fabd7526598e5fa680113e518eb9dbe0cdc8 Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 09:52:27 +0100 Subject: [PATCH 1/9] Update Kafka versions to mirror Strimzi kafka operator repository Signed-off-by: see-quick --- src/main/resources/kafka_versions.json | 10 +--------- .../io/strimzi/test/container/AbstractIT.java | 9 --------- .../StrimziKafkaKraftContainerIT.java | 20 ++++--------------- 3 files changed, 5 insertions(+), 34 deletions(-) diff --git a/src/main/resources/kafka_versions.json b/src/main/resources/kafka_versions.json index 77dafde..d8ced14 100644 --- a/src/main/resources/kafka_versions.json +++ b/src/main/resources/kafka_versions.json @@ -1,14 +1,6 @@ { "kafkaVersions": { - "2.8.2": "quay.io/strimzi-test-container/test-container:latest-kafka-2.8.2", - "3.0.2": "quay.io/strimzi-test-container/test-container:latest-kafka-3.0.2", - "3.1.2": "quay.io/strimzi-test-container/test-container:latest-kafka-3.1.2", - "3.2.3": "quay.io/strimzi-test-container/test-container:latest-kafka-3.2.3", - "3.3.2": "quay.io/strimzi-test-container/test-container:latest-kafka-3.3.2", - "3.4.1": "quay.io/strimzi-test-container/test-container:latest-kafka-3.4.1", - "3.5.2": "quay.io/strimzi-test-container/test-container:latest-kafka-3.5.2", - "3.6.2": "quay.io/strimzi-test-container/test-container:latest-kafka-3.6.2", - "3.7.1": "quay.io/strimzi-test-container/test-container:latest-kafka-3.7.1", + "3.8.0": "quay.io/strimzi-test-container/test-container:latest-kafka-3.8.0", "3.8.1": "quay.io/strimzi-test-container/test-container:latest-kafka-3.8.1", "3.9.0": "quay.io/strimzi-test-container/test-container:latest-kafka-3.9.0" } diff --git a/src/test/java/io/strimzi/test/container/AbstractIT.java b/src/test/java/io/strimzi/test/container/AbstractIT.java index d81ade7..eab0c01 100644 --- a/src/test/java/io/strimzi/test/container/AbstractIT.java +++ b/src/test/java/io/strimzi/test/container/AbstractIT.java @@ -11,7 +11,6 @@ import java.util.Map; import java.util.stream.Stream; -import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.params.provider.Arguments; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,12 +37,4 @@ protected static Stream retrieveKafkaVersionsFile() throws IOExceptio } return parameters.stream(); } - - protected void supportsKraftMode(final String imageName) { - Assumptions.assumeTrue(!imageName.contains("-kafka-2.")); - } - - protected boolean isLessThanKafka350(final String kafkaVersion) { - return KafkaVersionService.KafkaVersion.compareVersions(kafkaVersion, "3.5.0") == -1; - } } diff --git a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java index 095f8a8..fd80e77 100644 --- a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java +++ b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java @@ -49,8 +49,6 @@ public class StrimziKafkaKraftContainerIT extends AbstractIT { @ParameterizedTest(name = "testStartContainerWithEmptyConfiguration-{0}") @MethodSource("retrieveKafkaVersionsFile") void testStartContainerWithEmptyConfiguration(final String imageName, final String kafkaVersion) throws ExecutionException, InterruptedException, TimeoutException { - supportsKraftMode(imageName); - systemUnderTest = new StrimziKafkaContainer(imageName) .withBrokerId(1) .withKraft() @@ -60,12 +58,8 @@ void testStartContainerWithEmptyConfiguration(final String imageName, final Stri assertThat(systemUnderTest.getClusterId(), notNullValue()); String logsFromKafka = systemUnderTest.getLogs(); - if (isLessThanKafka350(kafkaVersion)) { - assertThat(logsFromKafka, containsString("RaftManager nodeId=1")); - } else { - assertThat(logsFromKafka, containsString("ControllerServer id=1")); - assertThat(logsFromKafka, containsString("SocketServer listenerType=CONTROLLER, nodeId=1")); - } + assertThat(logsFromKafka, containsString("ControllerServer id=1")); + assertThat(logsFromKafka, containsString("SocketServer listenerType=CONTROLLER, nodeId=1")); verify(); @@ -76,8 +70,6 @@ void testStartContainerWithEmptyConfiguration(final String imageName, final Stri @ParameterizedTest(name = "testStartContainerWithSomeConfiguration-{0}") @MethodSource("retrieveKafkaVersionsFile") void testStartContainerWithSomeConfiguration(final String imageName, final String kafkaVersion) throws ExecutionException, InterruptedException, TimeoutException { - supportsKraftMode(imageName); - Map kafkaConfiguration = new HashMap<>(); kafkaConfiguration.put("log.cleaner.enable", "false"); @@ -95,12 +87,8 @@ void testStartContainerWithSomeConfiguration(final String imageName, final Strin String logsFromKafka = systemUnderTest.getLogs(); - if (isLessThanKafka350(kafkaVersion)) { - assertThat(logsFromKafka, containsString("RaftManager nodeId=1")); - } else { - assertThat(logsFromKafka, containsString("ControllerServer id=1")); - assertThat(logsFromKafka, containsString("SocketServer listenerType=CONTROLLER, nodeId=1")); - } + assertThat(logsFromKafka, containsString("ControllerServer id=1")); + assertThat(logsFromKafka, containsString("SocketServer listenerType=CONTROLLER, nodeId=1")); assertThat(logsFromKafka, containsString("log.cleaner.enable = false")); assertThat(logsFromKafka, containsString("log.cleaner.backoff.ms = 1000")); assertThat(logsFromKafka, containsString("ssl.enabled.protocols = [TLSv1]")); From 149a6efc6703e609ae604333357cb04518de725b Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:05:46 +0100 Subject: [PATCH 2/9] update test case Signed-off-by: see-quick --- .../strimzi/test/container/StrimziKafkaContainerTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/io/strimzi/test/container/StrimziKafkaContainerTest.java b/src/test/java/io/strimzi/test/container/StrimziKafkaContainerTest.java index 47ba3ab..5fb1c66 100644 --- a/src/test/java/io/strimzi/test/container/StrimziKafkaContainerTest.java +++ b/src/test/java/io/strimzi/test/container/StrimziKafkaContainerTest.java @@ -90,13 +90,13 @@ void testBootstrapServersWithProxy() { } @Test - void testUnsupportedKraftVersionThrowsException() { + void testUnsupportedVersionThrowsException() { StrimziKafkaContainer kafkaContainer = new StrimziKafkaContainer() .withKafkaVersion("2.8.2") .withKraft(); - // "Specified Kafka version 2.8.2 is not supported in KRaft mode." - assertThrows(UnsupportedKraftKafkaVersionException.class, kafkaContainer::doStart); + // "Specified Kafka version 2.8.2 is not supported ." + assertThrows(UnknownKafkaVersionException.class, kafkaContainer::doStart); } @Test From ad2e21abadd5785de35fb59f657dfd174c0e8132 Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:19:45 +0100 Subject: [PATCH 3/9] a few updates to code Signed-off-by: see-quick --- .../test/container/StrimziKafkaCluster.java | 9 ++---- .../test/container/StrimziKafkaContainer.java | 8 ----- ...UnsupportedKraftKafkaVersionException.java | 32 ------------------- .../StrimziKafkaKraftContainerIT.java | 12 +------ 4 files changed, 3 insertions(+), 58 deletions(-) delete mode 100644 src/main/java/io/strimzi/test/container/UnsupportedKraftKafkaVersionException.java diff --git a/src/main/java/io/strimzi/test/container/StrimziKafkaCluster.java b/src/main/java/io/strimzi/test/container/StrimziKafkaCluster.java index 4a73bc4..d9dc102 100644 --- a/src/main/java/io/strimzi/test/container/StrimziKafkaCluster.java +++ b/src/main/java/io/strimzi/test/container/StrimziKafkaCluster.java @@ -335,13 +335,8 @@ public void start() { } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RuntimeException("Interrupted while starting Kafka containers", e); - } catch (ExecutionException | UnsupportedKraftKafkaVersionException e) { - Throwable cause = e.getCause(); - if (cause instanceof UnsupportedKraftKafkaVersionException) { - throw (UnsupportedKraftKafkaVersionException) cause; - } else { - throw new RuntimeException("Failed to start Kafka containers", e); - } + } catch (ExecutionException e) { + throw new RuntimeException("Failed to start Kafka containers", e); } catch (TimeoutException e) { throw new RuntimeException("Timed out while starting Kafka containers", e); } diff --git a/src/main/java/io/strimzi/test/container/StrimziKafkaContainer.java b/src/main/java/io/strimzi/test/container/StrimziKafkaContainer.java index 8d96cef..05494df 100644 --- a/src/main/java/io/strimzi/test/container/StrimziKafkaContainer.java +++ b/src/main/java/io/strimzi/test/container/StrimziKafkaContainer.java @@ -163,14 +163,6 @@ protected void doStart() { this.imageNameProvider.complete(KafkaVersionService.strimziTestContainerImageName(this.kafkaVersion)); } - try { - if (this.useKraft && ((this.kafkaVersion != null && this.kafkaVersion.startsWith("2.")) || this.imageNameProvider.get().contains("2.8.2"))) { - throw new UnsupportedKraftKafkaVersionException("Specified Kafka version " + this.kafkaVersion + " is not supported in KRaft mode."); - } - } catch (InterruptedException | ExecutionException e) { - LOGGER.error("Error occurred during retrieving of image name provider", e); - throw new RuntimeException(e); - } // exposing Kafka and port from the container if (!this.hasKraftOrExternalZooKeeperConfigured()) { // expose internal ZooKeeper internal port iff external ZooKeeper or KRaft is not specified/enabled diff --git a/src/main/java/io/strimzi/test/container/UnsupportedKraftKafkaVersionException.java b/src/main/java/io/strimzi/test/container/UnsupportedKraftKafkaVersionException.java deleted file mode 100644 index 72f0a41..0000000 --- a/src/main/java/io/strimzi/test/container/UnsupportedKraftKafkaVersionException.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Strimzi authors. - * License: Apache License 2.0 (see the file LICENSE or http://apache.org/licenses/LICENSE-2.0.html). - */ -package io.strimzi.test.container; - -/** - * Provides a handler, when user specifies unsupported Kafka version with Kraft mode enabled - * {@link StrimziKafkaContainer#withKraft()}. - */ -public class UnsupportedKraftKafkaVersionException extends RuntimeException { - - /** - * {@link UnsupportedKraftKafkaVersionException} used for handling situation, when - * user specifies unsupported Kafka version with Kraft mode enabled. - * - * @param message specific message to throw - */ - public UnsupportedKraftKafkaVersionException(String message) { - super(message); - } - - /** - * {@link UnsupportedKraftKafkaVersionException} used for handling situation, when - * user specifies unsupported Kafka version with Kraft mode enabled. - * - * @param cause specific cause to throw - */ - public UnsupportedKraftKafkaVersionException(Throwable cause) { - super(cause); - } -} diff --git a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java index fd80e77..416a724 100644 --- a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java +++ b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java @@ -105,17 +105,7 @@ void testUnsupportedKRaftUsingKafkaVersion() { .withKraft() .waitForRunning(); - assertThrows(UnsupportedKraftKafkaVersionException.class, () -> systemUnderTest.start()); - } - - @Test - void testUnsupportedKRaftUsingImageName() { - systemUnderTest = new StrimziKafkaContainer("quay.io/strimzi-test-container/test-container:latest-kafka-2.8.2") - .withBrokerId(1) - .withKraft() - .waitForRunning(); - - assertThrows(UnsupportedKraftKafkaVersionException.class, () -> systemUnderTest.start()); + assertThrows(UnknownKafkaVersionException.class, () -> systemUnderTest.start()); } @ParameterizedTest(name = "testStartContainerWithSomeConfiguration-{0}") From a30249ea01b3e2941a5462b4438ab57be3565342 Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:29:46 +0100 Subject: [PATCH 4/9] cache unique Signed-off-by: see-quick --- .azure/build-pipeline.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure/build-pipeline.yaml b/.azure/build-pipeline.yaml index de8a557..70e37b4 100644 --- a/.azure/build-pipeline.yaml +++ b/.azure/build-pipeline.yaml @@ -35,7 +35,7 @@ jobs: steps: - task: Cache@2 inputs: - key: 'maven-cache | $(System.JobName) | **/pom.xml' + key: 'maven-cache | $(System.JobName) | $(Build.SourceVersion) | **/pom.xml' restoreKeys: | maven-cache | $(System.JobName) maven-cache From bcedd94b38b399b5c07b75e3a81f4ed20d5dde5e Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:34:27 +0100 Subject: [PATCH 5/9] clear cache Signed-off-by: see-quick --- .azure/build-pipeline.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.azure/build-pipeline.yaml b/.azure/build-pipeline.yaml index 70e37b4..4a273ce 100644 --- a/.azure/build-pipeline.yaml +++ b/.azure/build-pipeline.yaml @@ -35,12 +35,14 @@ jobs: steps: - task: Cache@2 inputs: - key: 'maven-cache | $(System.JobName) | $(Build.SourceVersion) | **/pom.xml' + key: 'maven-cache | $(System.JobName) | **/pom.xml' restoreKeys: | maven-cache | $(System.JobName) maven-cache path: $(HOME)/.m2/repository displayName: Maven cache + - bash: rm -rf $(HOME)/.m2/repository + displayName: 'Clear Maven Cache' - template: 'templates/steps/setup_docker.yaml' - template: 'templates/steps/setup_java.yaml' parameters: From 930ada57bbfdcf65862ece6668a2fbe6fe309f00 Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:41:12 +0100 Subject: [PATCH 6/9] update cache key Signed-off-by: see-quick --- .azure/build-pipeline.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.azure/build-pipeline.yaml b/.azure/build-pipeline.yaml index 4a273ce..7e2a1c3 100644 --- a/.azure/build-pipeline.yaml +++ b/.azure/build-pipeline.yaml @@ -35,14 +35,9 @@ jobs: steps: - task: Cache@2 inputs: - key: 'maven-cache | $(System.JobName) | **/pom.xml' - restoreKeys: | - maven-cache | $(System.JobName) - maven-cache + key: 'maven-cache_v2' path: $(HOME)/.m2/repository displayName: Maven cache - - bash: rm -rf $(HOME)/.m2/repository - displayName: 'Clear Maven Cache' - template: 'templates/steps/setup_docker.yaml' - template: 'templates/steps/setup_java.yaml' parameters: From 910635ad5d17341f36a8af337733a1ab051aba5b Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 10:45:41 +0100 Subject: [PATCH 7/9] try Signed-off-by: see-quick --- .azure/build-pipeline.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.azure/build-pipeline.yaml b/.azure/build-pipeline.yaml index 7e2a1c3..6d8b0f0 100644 --- a/.azure/build-pipeline.yaml +++ b/.azure/build-pipeline.yaml @@ -33,11 +33,11 @@ jobs: vmImage: 'Ubuntu-22.04' # Pipeline steps steps: - - task: Cache@2 - inputs: - key: 'maven-cache_v2' - path: $(HOME)/.m2/repository - displayName: Maven cache +# - task: Cache@2 +# inputs: +# key: 'maven-cache_v2' +# path: $(HOME)/.m2/repository +# displayName: Maven cache - template: 'templates/steps/setup_docker.yaml' - template: 'templates/steps/setup_java.yaml' parameters: From bc7b6c7854c8b96e27a6d0e3fa78be5255a799c9 Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 11:21:54 +0100 Subject: [PATCH 8/9] back to Signed-off-by: see-quick --- .azure/build-pipeline.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.azure/build-pipeline.yaml b/.azure/build-pipeline.yaml index 6d8b0f0..de8a557 100644 --- a/.azure/build-pipeline.yaml +++ b/.azure/build-pipeline.yaml @@ -33,11 +33,14 @@ jobs: vmImage: 'Ubuntu-22.04' # Pipeline steps steps: -# - task: Cache@2 -# inputs: -# key: 'maven-cache_v2' -# path: $(HOME)/.m2/repository -# displayName: Maven cache + - task: Cache@2 + inputs: + key: 'maven-cache | $(System.JobName) | **/pom.xml' + restoreKeys: | + maven-cache | $(System.JobName) + maven-cache + path: $(HOME)/.m2/repository + displayName: Maven cache - template: 'templates/steps/setup_docker.yaml' - template: 'templates/steps/setup_java.yaml' parameters: From 485f6d0833fb063c932c37371de11b5723f7b55a Mon Sep 17 00:00:00 2001 From: see-quick Date: Wed, 8 Jan 2025 11:30:27 +0100 Subject: [PATCH 9/9] update Signed-off-by: see-quick --- .../io/strimzi/test/container/StrimziKafkaKraftContainerIT.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java index 416a724..dab4f67 100644 --- a/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java +++ b/src/test/java/io/strimzi/test/container/StrimziKafkaKraftContainerIT.java @@ -111,7 +111,6 @@ void testUnsupportedKRaftUsingKafkaVersion() { @ParameterizedTest(name = "testStartContainerWithSomeConfiguration-{0}") @MethodSource("retrieveKafkaVersionsFile") void testUnsupportedKraftAndIdsMismatch(final String imageName, final String kafkaVersion) { - supportsKraftMode(imageName); systemUnderTest = new StrimziKafkaContainer(imageName) .withNodeId(1) .withBrokerId(2)