From 246266adc286e1034cf1a22bf848beb9655d0d8b Mon Sep 17 00:00:00 2001 From: Jakub Scholz Date: Thu, 11 Jan 2024 21:25:36 +0100 Subject: [PATCH 1/2] Add support for Kafka 3.7.0 and remove Kafka 3.5.2 Signed-off-by: Jakub Scholz --- CHANGELOG.md | 3 +- .../assembly/KafkaConnectApiImpl.java | 10 +++--- .../cluster/KafkaVersionTestUtils.java | 22 ++++++------- .../model/KafkaConfigurationTests.java | 2 +- ...afkaConnectAssemblyOperatorPodSetTest.java | 4 +-- config-model-generator/pom.xml | 5 +++ .../kafka-thirdparty-libs/3.6.x/pom.xml | 2 +- .../{3.5.x => 3.7.x}/ignorelist | 0 .../{3.5.x => 3.7.x}/pom.xml | 33 ++++++++++++++++++- .../kafka-thirdparty-libs/cc/pom.xml | 2 +- documentation/modules/snip-images.adoc | 2 +- .../modules/snip-kafka-versions.adoc | 2 +- documentation/shared/attributes.adoc | 18 +++++----- .../shared/version-dependent-attrs.adoc | 2 +- kafka-versions.yaml | 12 ++++++- .../examples/connect/kafka-connect-build.yaml | 6 ++-- packaging/examples/connect/kafka-connect.yaml | 2 +- .../kafka-cruise-control-with-goals.yaml | 4 +-- .../cruise-control/kafka-cruise-control.yaml | 4 +-- .../kafka/kafka-ephemeral-single.yaml | 4 +-- packaging/examples/kafka/kafka-ephemeral.yaml | 4 +-- packaging/examples/kafka/kafka-jbod.yaml | 4 +-- .../kafka/kafka-persistent-single.yaml | 4 +-- .../examples/kafka/kafka-persistent.yaml | 4 +-- .../examples/kafka/kafka-with-node-pools.yaml | 2 +- .../examples/kafka/kraft/kafka-ephemeral.yaml | 4 +-- .../kraft/kafka-with-dual-role-nodes.yaml | 4 +-- packaging/examples/kafka/kraft/kafka.yaml | 4 +-- .../metrics/kafka-connect-metrics.yaml | 2 +- .../metrics/kafka-cruise-control-metrics.yaml | 4 +-- packaging/examples/metrics/kafka-metrics.yaml | 4 +-- .../metrics/kafka-mirror-maker-2-metrics.yaml | 2 +- ...ror-maker-2-custom-replication-policy.yaml | 2 +- .../kafka-mirror-maker-2-sync-groups.yaml | 2 +- .../kafka-mirror-maker-2-tls.yaml | 2 +- .../mirror-maker/kafka-mirror-maker-2.yaml | 2 +- .../mirror-maker/kafka-mirror-maker-tls.yaml | 2 +- .../mirror-maker/kafka-mirror-maker.yaml | 2 +- .../examples/mirror-maker/kafka-source.yaml | 4 +-- .../examples/mirror-maker/kafka-target.yaml | 4 +-- ...l-oauth-single-keycloak-authz-metrics.yaml | 4 +-- ...ephemeral-oauth-single-keycloak-authz.yaml | 4 +-- .../security/scram-sha-512-auth/connect.yaml | 2 +- .../security/scram-sha-512-auth/kafka.yaml | 4 +-- .../scram-sha-512-auth/mirror-maker-2.yaml | 10 +++--- .../examples/security/tls-auth/connect.yaml | 2 +- .../examples/security/tls-auth/kafka.yaml | 4 +-- .../security/tls-auth/mirror-maker-2.yaml | 10 +++--- .../templates/_kafka_image_map.tpl | 14 ++++---- ...0-Deployment-strimzi-cluster-operator.yaml | 14 ++++---- pom.xml | 16 ++++++++- .../resources/upgrade/BundleDowngrade.yaml | 8 ++--- .../test/resources/upgrade/BundleUpgrade.yaml | 12 +++---- topic-operator/pom.xml | 12 +++++++ .../topic/TopicOperatorReplicationIT.java | 2 +- 55 files changed, 197 insertions(+), 122 deletions(-) rename docker-images/artifacts/kafka-thirdparty-libs/{3.5.x => 3.7.x}/ignorelist (100%) rename docker-images/artifacts/kafka-thirdparty-libs/{3.5.x => 3.7.x}/pom.xml (90%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63180c805ba..9406111a50f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## 0.40.0 -* Remove support for Apache Kafka 3.5.0 and 3.5.1 +* Add support for Apache Kafka 3.7.0. + Remove support for Apache Kafka 3.5.0, 3.5.1, and 3.5.2. * The `UseKRaft` feature gate moves to beta stage and is enabled by default. If needed, `UseKRaft` can be disabled in the feature gates configuration in the Cluster Operator. * Add support for moving from dedicated controller-only KRaft nodes to mixed KRaft nodes diff --git a/cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectApiImpl.java b/cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectApiImpl.java index 5195ed31217..84383bf9fb6 100644 --- a/cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectApiImpl.java +++ b/cluster-operator/src/main/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectApiImpl.java @@ -443,11 +443,13 @@ public Future> listConnectLoggers(Reconciliation reconciliat Map> fetchedLoggers = mapper.readValue(buffer.getBytes(), MAP_OF_MAP_OF_STRINGS); Map loggerMap = new HashMap<>(fetchedLoggers.size()); for (var e : fetchedLoggers.entrySet()) { - String level = e.getValue().get("level"); - if (level != null && e.getValue().size() == 1) { - loggerMap.put(e.getKey(), level); + if (Set.of("level", "last_modified").containsAll(e.getValue().keySet())) { + String level = e.getValue().get("level"); + if (level != null) { + loggerMap.put(e.getKey(), level); + } } else { - result.tryFail("Inner map has unexpected keys " + e.getValue().keySet()); + result.tryFail(new RuntimeException("Inner map has unexpected keys " + e.getValue().keySet())); break; } } diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java index dbfd5203658..2af85ac2ce4 100644 --- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java +++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java @@ -21,25 +21,25 @@ public class KafkaVersionTestUtils { private static final Set SUPPORTED_VERSIONS = new KafkaVersion.Lookup(Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap()).supportedVersions(); - public static final String LATEST_KAFKA_VERSION = "3.6.1"; - public static final String LATEST_FORMAT_VERSION = "3.6"; - public static final String LATEST_PROTOCOL_VERSION = "3.6"; - public static final String LATEST_METADATA_VERSION = "3.6-IV2"; + public static final String LATEST_KAFKA_VERSION = "3.7.0"; + public static final String LATEST_FORMAT_VERSION = "3.7"; + public static final String LATEST_PROTOCOL_VERSION = "3.7"; + public static final String LATEST_METADATA_VERSION = "3.7-IV4"; public static final String LATEST_ZOOKEEPER_VERSION = "3.8.3"; public static final String LATEST_CHECKSUM = "ABCD1234"; - public static final String LATEST_THIRD_PARTY_VERSION = "3.6.x"; + public static final String LATEST_THIRD_PARTY_VERSION = "3.7.x"; public static final String LATEST_KAFKA_IMAGE = KAFKA_IMAGE_STR + LATEST_KAFKA_VERSION; public static final String LATEST_KAFKA_CONNECT_IMAGE = KAFKA_CONNECT_IMAGE_STR + LATEST_KAFKA_VERSION; public static final String LATEST_KAFKA_MIRROR_MAKER_IMAGE = KAFKA_MIRROR_MAKER_IMAGE_STR + LATEST_KAFKA_VERSION; public static final String LATEST_KAFKA_MIRROR_MAKER_2_IMAGE = KAFKA_MIRROR_MAKER_2_IMAGE_STR + LATEST_KAFKA_VERSION; - public static final String PREVIOUS_KAFKA_VERSION = "3.5.2"; - public static final String PREVIOUS_FORMAT_VERSION = "3.5"; - public static final String PREVIOUS_PROTOCOL_VERSION = "3.5"; - public static final String PREVIOUS_METADATA_VERSION = "3.5-IV2"; - public static final String PREVIOUS_ZOOKEEPER_VERSION = "3.6.4"; + public static final String PREVIOUS_KAFKA_VERSION = "3.6.0"; + public static final String PREVIOUS_FORMAT_VERSION = "3.6"; + public static final String PREVIOUS_PROTOCOL_VERSION = "3.6"; + public static final String PREVIOUS_METADATA_VERSION = "3.6-IV2"; + public static final String PREVIOUS_ZOOKEEPER_VERSION = "3.8.3"; public static final String PREVIOUS_CHECKSUM = "ABCD1234"; - public static final String PREVIOUS_THIRD_PARTY_VERSION = "3.4.x"; + public static final String PREVIOUS_THIRD_PARTY_VERSION = "3.6.x"; public static final String PREVIOUS_KAFKA_IMAGE = KAFKA_IMAGE_STR + PREVIOUS_KAFKA_VERSION; public static final String PREVIOUS_KAFKA_CONNECT_IMAGE = KAFKA_CONNECT_IMAGE_STR + PREVIOUS_KAFKA_VERSION; public static final String PREVIOUS_KAFKA_MIRROR_MAKER_IMAGE = KAFKA_MIRROR_MAKER_IMAGE_STR + PREVIOUS_KAFKA_VERSION; diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaConfigurationTests.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaConfigurationTests.java index f0fb0d1acb4..f550fcf6443 100644 --- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaConfigurationTests.java +++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaConfigurationTests.java @@ -89,7 +89,7 @@ public void passwordType() { @ParallelTest public void invalidVersion() { assertConfigError("inter.broker.protocol.version", "dclncswn", - "inter.broker.protocol.version has value 'dclncswn' which does not match the required pattern: \\Q0.8.0\\E(\\.[0-9]+)*|\\Q0.8.0\\E|\\Q0.8.1\\E(\\.[0-9]+)*|\\Q0.8.1\\E|\\Q0.8.2\\E(\\.[0-9]+)*|\\Q0.8.2\\E|\\Q0.9.0\\E(\\.[0-9]+)*|\\Q0.9.0\\E|\\Q0.10.0\\E(\\.[0-9]+)*|\\Q0.10.0-IV0\\E|\\Q0.10.0-IV1\\E|\\Q0.10.1\\E(\\.[0-9]+)*|\\Q0.10.1-IV0\\E|\\Q0.10.1-IV1\\E|\\Q0.10.1-IV2\\E|\\Q0.10.2\\E(\\.[0-9]+)*|\\Q0.10.2-IV0\\E|\\Q0.11.0\\E(\\.[0-9]+)*|\\Q0.11.0-IV0\\E|\\Q0.11.0-IV1\\E|\\Q0.11.0-IV2\\E|\\Q1.0\\E(\\.[0-9]+)*|\\Q1.0-IV0\\E|\\Q1.1\\E(\\.[0-9]+)*|\\Q1.1-IV0\\E|\\Q2.0\\E(\\.[0-9]+)*|\\Q2.0-IV0\\E|\\Q2.0-IV1\\E|\\Q2.1\\E(\\.[0-9]+)*|\\Q2.1-IV0\\E|\\Q2.1-IV1\\E|\\Q2.1-IV2\\E|\\Q2.2\\E(\\.[0-9]+)*|\\Q2.2-IV0\\E|\\Q2.2-IV1\\E|\\Q2.3\\E(\\.[0-9]+)*|\\Q2.3-IV0\\E|\\Q2.3-IV1\\E|\\Q2.4\\E(\\.[0-9]+)*|\\Q2.4-IV0\\E|\\Q2.4-IV1\\E|\\Q2.5\\E(\\.[0-9]+)*|\\Q2.5-IV0\\E|\\Q2.6\\E(\\.[0-9]+)*|\\Q2.6-IV0\\E|\\Q2.7\\E(\\.[0-9]+)*|\\Q2.7-IV0\\E|\\Q2.7-IV1\\E|\\Q2.7-IV2\\E|\\Q2.8\\E(\\.[0-9]+)*|\\Q2.8-IV0\\E|\\Q2.8-IV1\\E|\\Q3.0\\E(\\.[0-9]+)*|\\Q3.0-IV0\\E|\\Q3.0-IV1\\E|\\Q3.1\\E(\\.[0-9]+)*|\\Q3.1-IV0\\E|\\Q3.2\\E(\\.[0-9]+)*|\\Q3.2-IV0\\E|\\Q3.3\\E(\\.[0-9]+)*|\\Q3.3-IV0\\E|\\Q3.3-IV1\\E|\\Q3.3-IV2\\E|\\Q3.3-IV3\\E|\\Q3.4\\E(\\.[0-9]+)*|\\Q3.4-IV0\\E|\\Q3.5\\E(\\.[0-9]+)*|\\Q3.5-IV0\\E|\\Q3.5-IV1\\E|\\Q3.5-IV2\\E|\\Q3.6\\E(\\.[0-9]+)*|\\Q3.6-IV0\\E|\\Q3.6-IV1\\E|\\Q3.6-IV2\\E"); + "inter.broker.protocol.version has value 'dclncswn' which does not match the required pattern: \\Q0.8.0\\E(\\.[0-9]+)*|\\Q0.8.0\\E|\\Q0.8.1\\E(\\.[0-9]+)*|\\Q0.8.1\\E|\\Q0.8.2\\E(\\.[0-9]+)*|\\Q0.8.2\\E|\\Q0.9.0\\E(\\.[0-9]+)*|\\Q0.9.0\\E|\\Q0.10.0\\E(\\.[0-9]+)*|\\Q0.10.0-IV0\\E|\\Q0.10.0-IV1\\E|\\Q0.10.1\\E(\\.[0-9]+)*|\\Q0.10.1-IV0\\E|\\Q0.10.1-IV1\\E|\\Q0.10.1-IV2\\E|\\Q0.10.2\\E(\\.[0-9]+)*|\\Q0.10.2-IV0\\E|\\Q0.11.0\\E(\\.[0-9]+)*|\\Q0.11.0-IV0\\E|\\Q0.11.0-IV1\\E|\\Q0.11.0-IV2\\E|\\Q1.0\\E(\\.[0-9]+)*|\\Q1.0-IV0\\E|\\Q1.1\\E(\\.[0-9]+)*|\\Q1.1-IV0\\E|\\Q2.0\\E(\\.[0-9]+)*|\\Q2.0-IV0\\E|\\Q2.0-IV1\\E|\\Q2.1\\E(\\.[0-9]+)*|\\Q2.1-IV0\\E|\\Q2.1-IV1\\E|\\Q2.1-IV2\\E|\\Q2.2\\E(\\.[0-9]+)*|\\Q2.2-IV0\\E|\\Q2.2-IV1\\E|\\Q2.3\\E(\\.[0-9]+)*|\\Q2.3-IV0\\E|\\Q2.3-IV1\\E|\\Q2.4\\E(\\.[0-9]+)*|\\Q2.4-IV0\\E|\\Q2.4-IV1\\E|\\Q2.5\\E(\\.[0-9]+)*|\\Q2.5-IV0\\E|\\Q2.6\\E(\\.[0-9]+)*|\\Q2.6-IV0\\E|\\Q2.7\\E(\\.[0-9]+)*|\\Q2.7-IV0\\E|\\Q2.7-IV1\\E|\\Q2.7-IV2\\E|\\Q2.8\\E(\\.[0-9]+)*|\\Q2.8-IV0\\E|\\Q2.8-IV1\\E|\\Q3.0\\E(\\.[0-9]+)*|\\Q3.0-IV0\\E|\\Q3.0-IV1\\E|\\Q3.1\\E(\\.[0-9]+)*|\\Q3.1-IV0\\E|\\Q3.2\\E(\\.[0-9]+)*|\\Q3.2-IV0\\E|\\Q3.3\\E(\\.[0-9]+)*|\\Q3.3-IV0\\E|\\Q3.3-IV1\\E|\\Q3.3-IV2\\E|\\Q3.3-IV3\\E|\\Q3.4\\E(\\.[0-9]+)*|\\Q3.4-IV0\\E|\\Q3.5\\E(\\.[0-9]+)*|\\Q3.5-IV0\\E|\\Q3.5-IV1\\E|\\Q3.5-IV2\\E|\\Q3.6\\E(\\.[0-9]+)*|\\Q3.6-IV0\\E|\\Q3.6-IV1\\E|\\Q3.6-IV2\\E|\\Q3.7\\E(\\.[0-9]+)*|\\Q3.7-IV0\\E|\\Q3.7-IV1\\E|\\Q3.7-IV2\\E|\\Q3.7-IV3\\E|\\Q3.7-IV4\\E|\\Q3.8\\E(\\.[0-9]+)*|\\Q3.8-IV0\\E"); } @ParallelTest diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectAssemblyOperatorPodSetTest.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectAssemblyOperatorPodSetTest.java index b08c414e3ea..efcf1c10437 100644 --- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectAssemblyOperatorPodSetTest.java +++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/operator/assembly/KafkaConnectAssemblyOperatorPodSetTest.java @@ -1453,12 +1453,12 @@ public void testBuildChangedCluster(VertxTestContext context) { assertThat(capturesPodSets.size(), is(1)); StrimziPodSet podSet = capturesPodSets.get(0); assertThat(podSet.getMetadata().getName(), is(COMPONENT_NAME)); - assertThat(podSet.getMetadata().getAnnotations().get(Annotations.STRIMZI_IO_CONNECT_BUILD_REVISION), is("4e105c43751944b0")); + assertThat(podSet.getMetadata().getAnnotations().get(Annotations.STRIMZI_IO_CONNECT_BUILD_REVISION), is("28987d00751944b0")); assertThat(podSet.getMetadata().getAnnotations().get(Annotations.STRIMZI_IO_CONNECT_BUILD_IMAGE), is("my-connect-build@sha256:blablabla")); assertThat(podSet.getSpec().getPods().size(), is(3)); for (Pod pod : PodSetUtils.podSetToPods(podSet)) { - assertThat(pod.getMetadata().getAnnotations().get(Annotations.STRIMZI_IO_CONNECT_BUILD_REVISION), is("4e105c43751944b0")); + assertThat(pod.getMetadata().getAnnotations().get(Annotations.STRIMZI_IO_CONNECT_BUILD_REVISION), is("28987d00751944b0")); assertThat(pod.getSpec().getContainers().get(0).getImage(), is("my-connect-build@sha256:blablabla")); } diff --git a/config-model-generator/pom.xml b/config-model-generator/pom.xml index f058cf1a944..a97ad0b22ed 100644 --- a/config-model-generator/pom.xml +++ b/config-model-generator/pom.xml @@ -37,6 +37,11 @@ kafka-raft ${kafka-metadata-version} + + org.apache.kafka + kafka-server-common + ${kafka-metadata-version} + diff --git a/docker-images/artifacts/kafka-thirdparty-libs/3.6.x/pom.xml b/docker-images/artifacts/kafka-thirdparty-libs/3.6.x/pom.xml index 04577a4a4c5..42bf4228e47 100644 --- a/docker-images/artifacts/kafka-thirdparty-libs/3.6.x/pom.xml +++ b/docker-images/artifacts/kafka-thirdparty-libs/3.6.x/pom.xml @@ -18,7 +18,7 @@ 0.14.0 2.9.0 - 2.5.135 + 2.5.137 1.5.1 0.2.0 1.2.0 diff --git a/docker-images/artifacts/kafka-thirdparty-libs/3.5.x/ignorelist b/docker-images/artifacts/kafka-thirdparty-libs/3.7.x/ignorelist similarity index 100% rename from docker-images/artifacts/kafka-thirdparty-libs/3.5.x/ignorelist rename to docker-images/artifacts/kafka-thirdparty-libs/3.7.x/ignorelist diff --git a/docker-images/artifacts/kafka-thirdparty-libs/3.5.x/pom.xml b/docker-images/artifacts/kafka-thirdparty-libs/3.7.x/pom.xml similarity index 90% rename from docker-images/artifacts/kafka-thirdparty-libs/3.5.x/pom.xml rename to docker-images/artifacts/kafka-thirdparty-libs/3.7.x/pom.xml index 668b7f88eca..4e9a332d0fe 100644 --- a/docker-images/artifacts/kafka-thirdparty-libs/3.5.x/pom.xml +++ b/docker-images/artifacts/kafka-thirdparty-libs/3.7.x/pom.xml @@ -18,7 +18,7 @@ 0.14.0 2.9.0 - 2.5.135 + 2.5.137 1.5.1 0.2.0 1.2.0 @@ -56,6 +56,9 @@ + com.google.guava guava @@ -296,6 +299,14 @@ com.google.code.findbugs jsr305 + + com.google.errorprone + error_prone_annotations + + + org.checkerframework + checker-qual + @@ -332,8 +343,28 @@ com.fasterxml.jackson.core jackson-databind + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + 2.16.0 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.16.0 + io.strimzi diff --git a/docker-images/artifacts/kafka-thirdparty-libs/cc/pom.xml b/docker-images/artifacts/kafka-thirdparty-libs/cc/pom.xml index 82c1b415f89..027da643915 100644 --- a/docker-images/artifacts/kafka-thirdparty-libs/cc/pom.xml +++ b/docker-images/artifacts/kafka-thirdparty-libs/cc/pom.xml @@ -16,7 +16,7 @@ - 2.5.135 + 2.5.137 diff --git a/documentation/modules/snip-images.adoc b/documentation/modules/snip-images.adoc index 146d48de2f3..e3493b6181e 100644 --- a/documentation/modules/snip-images.adoc +++ b/documentation/modules/snip-images.adoc @@ -6,9 +6,9 @@ |Kafka a| -* {DockerOrg}/kafka:{DockerTag}-kafka-3.5.2 * {DockerOrg}/kafka:{DockerTag}-kafka-3.6.0 * {DockerOrg}/kafka:{DockerTag}-kafka-3.6.1 +* {DockerOrg}/kafka:{DockerTag}-kafka-3.7.0 a| Strimzi image for running Kafka, including: diff --git a/documentation/modules/snip-kafka-versions.adoc b/documentation/modules/snip-kafka-versions.adoc index 7e9fe064ce0..df056ca137e 100644 --- a/documentation/modules/snip-kafka-versions.adoc +++ b/documentation/modules/snip-kafka-versions.adoc @@ -6,7 +6,7 @@ [options="header"] |================= |Kafka version |Inter-broker protocol version |Log message format version| ZooKeeper version -| 3.5.2 | 3.5 | 3.5 | 3.6.4 | 3.6.0 | 3.6 | 3.6 | 3.8.2 | 3.6.1 | 3.6 | 3.6 | 3.8.3 +| 3.7.0 | 3.7 | 3.7 | 3.8.3 |================= diff --git a/documentation/shared/attributes.adoc b/documentation/shared/attributes.adoc index 6e8ecab78a1..e6ed97c54a3 100644 --- a/documentation/shared/attributes.adoc +++ b/documentation/shared/attributes.adoc @@ -23,18 +23,18 @@ :KubernetesVersion: 1.23 and later // Kafka upgrade attributes used in kafka upgrades section -:DefaultKafkaVersion: 3.6.1 -:DefaultKafkaMetadataVersion: 3.6 -:KafkaMetadataVersionLower: 3.5-IV2 -:KafkaMetadataVersionHigher: 3.6-IV2 -:KafkaVersionLower: 3.5.1 -:KafkaVersionHigher: 3.6.1 +:DefaultKafkaVersion: 3.7.0 +:DefaultKafkaMetadataVersion: 3.7 +:KafkaMetadataVersionLower: 3.6-IV2 +:KafkaMetadataVersionHigher: 3.7-IV4 +:KafkaVersionLower: 3.6.1 +:KafkaVersionHigher: 3.7.0 :ExampleImageTagUpgrades: quay.io/strimzi/kafka:{ProductVersion}-kafka-{KafkaVersionHigher} //inter-broker protocol and log message version -:DefaultInterBrokerVersion: 3.6 -:InterBrokerVersionLower: 3.5 -:InterBrokerVersionHigher: 3.6 +:DefaultInterBrokerVersion: 3.7 +:InterBrokerVersionLower: 3.6 +:InterBrokerVersionHigher: 3.7 // Bridge version :BridgeVersion: 0.27.0 diff --git a/documentation/shared/version-dependent-attrs.adoc b/documentation/shared/version-dependent-attrs.adoc index 91742a84ebb..0a08a1d7968 100644 --- a/documentation/shared/version-dependent-attrs.adoc +++ b/documentation/shared/version-dependent-attrs.adoc @@ -1,3 +1,3 @@ // Generated by documentation/version-dependent-attrs.sh during the build // DO NOT EDIT BY HAND -:DefaultKafkaVersion: 3.6.1 +:DefaultKafkaVersion: 3.7.0 diff --git a/kafka-versions.yaml b/kafka-versions.yaml index ccfd370bc32..d795a9ae930 100644 --- a/kafka-versions.yaml +++ b/kafka-versions.yaml @@ -283,7 +283,7 @@ checksum: 229CCC5E3E6B3B9845F59F6E829D70711C5A5A2293F32B6BCABC37350666F874BC7D8F08130F712A1B32915205C10F2847F04908C20D5F7FDB4B62D058C9DEFE zookeeper: 3.6.4 third-party-libs: 3.5.x - supported: true + supported: false default: false - version: 3.6.0 format: 3.6 @@ -304,4 +304,14 @@ zookeeper: 3.8.3 third-party-libs: 3.6.x supported: true + default: false +- version: 3.7.0 + format: 3.7 + protocol: 3.7 + metadata: 3.7 + url: https://archive.apache.org/dist/kafka/3.7.0/kafka_2.13-3.7.0.tgz + checksum: B8679283A2D8DAB86E7C636B2C688FE9D9E64AC437241F65EF7A1733F4D26A2BD415EEFA04F09F1911373BCD2A5DBC3838C76347F68656425C09202CD290CE91 + zookeeper: 3.8.3 + third-party-libs: 3.7.x + supported: true default: true \ No newline at end of file diff --git a/packaging/examples/connect/kafka-connect-build.yaml b/packaging/examples/connect/kafka-connect-build.yaml index 4429e0a3195..5c1ea3e53fd 100644 --- a/packaging/examples/connect/kafka-connect-build.yaml +++ b/packaging/examples/connect/kafka-connect-build.yaml @@ -8,7 +8,7 @@ metadata: # # needing to call the Connect REST API directly # strimzi.io/use-connector-resources: "true" spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 bootstrapServers: my-cluster-kafka-bootstrap:9093 tls: @@ -33,11 +33,11 @@ spec: # it should not happen that you pull someone else's container image. However, we # recommend changing this to your own container registry or using a different # image name for any other than demo purposes. - image: ttl.sh/strimzi-connect-example-3.6.1:24h + image: ttl.sh/strimzi-connect-example-3.7.0:24h plugins: - name: kafka-connect-file artifacts: - type: maven group: org.apache.kafka artifact: connect-file - version: 3.6.1 + version: 3.7.0 diff --git a/packaging/examples/connect/kafka-connect.yaml b/packaging/examples/connect/kafka-connect.yaml index ea7662a379e..0838ccb434c 100644 --- a/packaging/examples/connect/kafka-connect.yaml +++ b/packaging/examples/connect/kafka-connect.yaml @@ -8,7 +8,7 @@ metadata: # # needing to call the Connect REST API directly # strimzi.io/use-connector-resources: "true" spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 bootstrapServers: my-cluster-kafka-bootstrap:9093 tls: diff --git a/packaging/examples/cruise-control/kafka-cruise-control-with-goals.yaml b/packaging/examples/cruise-control/kafka-cruise-control-with-goals.yaml index eac880b21e4..f69b75b6e06 100644 --- a/packaging/examples/cruise-control/kafka-cruise-control-with-goals.yaml +++ b/packaging/examples/cruise-control/kafka-cruise-control-with-goals.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/cruise-control/kafka-cruise-control.yaml b/packaging/examples/cruise-control/kafka-cruise-control.yaml index edb18e32f9f..5ad4d679eb9 100644 --- a/packaging/examples/cruise-control/kafka-cruise-control.yaml +++ b/packaging/examples/cruise-control/kafka-cruise-control.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/kafka/kafka-ephemeral-single.yaml b/packaging/examples/kafka/kafka-ephemeral-single.yaml index 808d0332340..df865d00345 100644 --- a/packaging/examples/kafka/kafka-ephemeral-single.yaml +++ b/packaging/examples/kafka/kafka-ephemeral-single.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/kafka/kafka-ephemeral.yaml b/packaging/examples/kafka/kafka-ephemeral.yaml index 99e985e0911..8a9f095ae5d 100644 --- a/packaging/examples/kafka/kafka-ephemeral.yaml +++ b/packaging/examples/kafka/kafka-ephemeral.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/kafka/kafka-jbod.yaml b/packaging/examples/kafka/kafka-jbod.yaml index 230ee3b3585..e1d5d0a07e4 100644 --- a/packaging/examples/kafka/kafka-jbod.yaml +++ b/packaging/examples/kafka/kafka-jbod.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/kafka/kafka-persistent-single.yaml b/packaging/examples/kafka/kafka-persistent-single.yaml index e69200db995..2e401055d4b 100644 --- a/packaging/examples/kafka/kafka-persistent-single.yaml +++ b/packaging/examples/kafka/kafka-persistent-single.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/kafka/kafka-persistent.yaml b/packaging/examples/kafka/kafka-persistent.yaml index d386d7ca0ab..9f515f1b238 100644 --- a/packaging/examples/kafka/kafka-persistent.yaml +++ b/packaging/examples/kafka/kafka-persistent.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/kafka/kafka-with-node-pools.yaml b/packaging/examples/kafka/kafka-with-node-pools.yaml index ef8346d7119..1371305e9e6 100644 --- a/packaging/examples/kafka/kafka-with-node-pools.yaml +++ b/packaging/examples/kafka/kafka-with-node-pools.yaml @@ -60,7 +60,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" zookeeper: replicas: 3 storage: diff --git a/packaging/examples/kafka/kraft/kafka-ephemeral.yaml b/packaging/examples/kafka/kraft/kafka-ephemeral.yaml index 2faff4e329f..7a342c8d709 100644 --- a/packaging/examples/kafka/kraft/kafka-ephemeral.yaml +++ b/packaging/examples/kafka/kraft/kafka-ephemeral.yaml @@ -35,8 +35,8 @@ metadata: strimzi.io/kraft: enabled spec: kafka: - version: 3.6.1 - metadataVersion: 3.6-IV2 + version: 3.7.0 + metadataVersion: 3.7-IV4 listeners: - name: plain port: 9092 diff --git a/packaging/examples/kafka/kraft/kafka-with-dual-role-nodes.yaml b/packaging/examples/kafka/kraft/kafka-with-dual-role-nodes.yaml index bc547543ae4..5c3b3b4fe89 100644 --- a/packaging/examples/kafka/kraft/kafka-with-dual-role-nodes.yaml +++ b/packaging/examples/kafka/kraft/kafka-with-dual-role-nodes.yaml @@ -27,8 +27,8 @@ metadata: strimzi.io/kraft: enabled spec: kafka: - version: 3.6.1 - metadataVersion: 3.6-IV2 + version: 3.7.0 + metadataVersion: 3.7-IV4 listeners: - name: plain port: 9092 diff --git a/packaging/examples/kafka/kraft/kafka.yaml b/packaging/examples/kafka/kraft/kafka.yaml index 115f80063ae..da975bb3081 100644 --- a/packaging/examples/kafka/kraft/kafka.yaml +++ b/packaging/examples/kafka/kraft/kafka.yaml @@ -45,8 +45,8 @@ metadata: strimzi.io/kraft: enabled spec: kafka: - version: 3.6.1 - metadataVersion: 3.6-IV2 + version: 3.7.0 + metadataVersion: 3.7-IV4 listeners: - name: plain port: 9092 diff --git a/packaging/examples/metrics/kafka-connect-metrics.yaml b/packaging/examples/metrics/kafka-connect-metrics.yaml index 43985600a5e..4024e28c35e 100644 --- a/packaging/examples/metrics/kafka-connect-metrics.yaml +++ b/packaging/examples/metrics/kafka-connect-metrics.yaml @@ -5,7 +5,7 @@ metadata: labels: app: my-connect-cluster spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 bootstrapServers: my-cluster-kafka-bootstrap:9092 metricsConfig: diff --git a/packaging/examples/metrics/kafka-cruise-control-metrics.yaml b/packaging/examples/metrics/kafka-cruise-control-metrics.yaml index e2cfcfc5be3..8ac9da3fa24 100644 --- a/packaging/examples/metrics/kafka-cruise-control-metrics.yaml +++ b/packaging/examples/metrics/kafka-cruise-control-metrics.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -19,7 +19,7 @@ spec: offsets.topic.replication.factor: 3 transaction.state.log.replication.factor: 3 transaction.state.log.min.isr: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/metrics/kafka-metrics.yaml b/packaging/examples/metrics/kafka-metrics.yaml index 7b448131054..e0e4f7330e0 100644 --- a/packaging/examples/metrics/kafka-metrics.yaml +++ b/packaging/examples/metrics/kafka-metrics.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/metrics/kafka-mirror-maker-2-metrics.yaml b/packaging/examples/metrics/kafka-mirror-maker-2-metrics.yaml index d33a3751168..94da118cb46 100644 --- a/packaging/examples/metrics/kafka-mirror-maker-2-metrics.yaml +++ b/packaging/examples/metrics/kafka-mirror-maker-2-metrics.yaml @@ -5,7 +5,7 @@ metadata: labels: app: my-mm2-cluster spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "my-cluster-target" clusters: diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker-2-custom-replication-policy.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker-2-custom-replication-policy.yaml index 9da71b394a7..141083b90de 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker-2-custom-replication-policy.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker-2-custom-replication-policy.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker-2-sync-groups.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker-2-sync-groups.yaml index 9b0536a9d02..2957bef36cf 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker-2-sync-groups.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker-2-sync-groups.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker-2-tls.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker-2-tls.yaml index 6109be55c24..c8042fc1da7 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker-2-tls.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker-2-tls.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker-2.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker-2.yaml index b941b4ea1b1..f1868e99a26 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker-2.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker-2.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker-tls.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker-tls.yaml index b3d04665149..caf31ce7a2f 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker-tls.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker-tls.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker metadata: name: my-mirror-maker spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 consumer: bootstrapServers: cluster-a-kafka-bootstrap:9093 # Source cluster diff --git a/packaging/examples/mirror-maker/kafka-mirror-maker.yaml b/packaging/examples/mirror-maker/kafka-mirror-maker.yaml index 23bc9e98367..1632c4ecba7 100644 --- a/packaging/examples/mirror-maker/kafka-mirror-maker.yaml +++ b/packaging/examples/mirror-maker/kafka-mirror-maker.yaml @@ -3,7 +3,7 @@ kind: KafkaMirrorMaker metadata: name: my-mirror-maker spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 consumer: bootstrapServers: cluster-a-kafka-bootstrap:9092 # Source cluster diff --git a/packaging/examples/mirror-maker/kafka-source.yaml b/packaging/examples/mirror-maker/kafka-source.yaml index fc34593abbd..62b59abe2d8 100644 --- a/packaging/examples/mirror-maker/kafka-source.yaml +++ b/packaging/examples/mirror-maker/kafka-source.yaml @@ -4,7 +4,7 @@ metadata: name: cluster-a spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/mirror-maker/kafka-target.yaml b/packaging/examples/mirror-maker/kafka-target.yaml index d2634669566..5d49ede3a6f 100644 --- a/packaging/examples/mirror-maker/kafka-target.yaml +++ b/packaging/examples/mirror-maker/kafka-target.yaml @@ -4,7 +4,7 @@ metadata: name: cluster-b spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: plain @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml b/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml index 90f76255494..93a248e3680 100644 --- a/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml +++ b/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz-metrics.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -42,7 +42,7 @@ spec: offsets.topic.replication.factor: 1 transaction.state.log.replication.factor: 1 transaction.state.log.min.isr: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral metricsConfig: diff --git a/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml b/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml index 15bcc985198..4b2c8661a8f 100644 --- a/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml +++ b/packaging/examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -40,7 +40,7 @@ spec: offsets.topic.replication.factor: 1 transaction.state.log.replication.factor: 1 transaction.state.log.min.isr: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: ephemeral zookeeper: diff --git a/packaging/examples/security/scram-sha-512-auth/connect.yaml b/packaging/examples/security/scram-sha-512-auth/connect.yaml index ad64d48602d..6bd616e56ce 100644 --- a/packaging/examples/security/scram-sha-512-auth/connect.yaml +++ b/packaging/examples/security/scram-sha-512-auth/connect.yaml @@ -66,7 +66,7 @@ metadata: # # needing to call the Connect REST API directly # strimzi.io/use-connector-resources: "true" spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 bootstrapServers: my-cluster-kafka-bootstrap:9093 tls: diff --git a/packaging/examples/security/scram-sha-512-auth/kafka.yaml b/packaging/examples/security/scram-sha-512-auth/kafka.yaml index d6d4433be74..f7ed5d371b6 100644 --- a/packaging/examples/security/scram-sha-512-auth/kafka.yaml +++ b/packaging/examples/security/scram-sha-512-auth/kafka.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: tls @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/security/scram-sha-512-auth/mirror-maker-2.yaml b/packaging/examples/security/scram-sha-512-auth/mirror-maker-2.yaml index 181938884b4..d8398fcc524 100644 --- a/packaging/examples/security/scram-sha-512-auth/mirror-maker-2.yaml +++ b/packaging/examples/security/scram-sha-512-auth/mirror-maker-2.yaml @@ -4,7 +4,7 @@ metadata: name: cluster-a spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: @@ -46,7 +46,7 @@ metadata: name: cluster-b spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -63,7 +63,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: @@ -218,7 +218,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/examples/security/tls-auth/connect.yaml b/packaging/examples/security/tls-auth/connect.yaml index 9c20c29d67d..6c52f103b58 100644 --- a/packaging/examples/security/tls-auth/connect.yaml +++ b/packaging/examples/security/tls-auth/connect.yaml @@ -66,7 +66,7 @@ metadata: # # needing to call the Connect REST API directly # strimzi.io/use-connector-resources: "true" spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 bootstrapServers: my-cluster-kafka-bootstrap:9093 tls: diff --git a/packaging/examples/security/tls-auth/kafka.yaml b/packaging/examples/security/tls-auth/kafka.yaml index bc947c45a28..6392524dd50 100644 --- a/packaging/examples/security/tls-auth/kafka.yaml +++ b/packaging/examples/security/tls-auth/kafka.yaml @@ -4,7 +4,7 @@ metadata: name: my-cluster spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 3 listeners: - name: tls @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: diff --git a/packaging/examples/security/tls-auth/mirror-maker-2.yaml b/packaging/examples/security/tls-auth/mirror-maker-2.yaml index eb3ed50dba4..039bc3097c7 100644 --- a/packaging/examples/security/tls-auth/mirror-maker-2.yaml +++ b/packaging/examples/security/tls-auth/mirror-maker-2.yaml @@ -4,7 +4,7 @@ metadata: name: cluster-a spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -21,7 +21,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: @@ -46,7 +46,7 @@ metadata: name: cluster-b spec: kafka: - version: 3.6.1 + version: 3.7.0 replicas: 1 listeners: - name: tls @@ -63,7 +63,7 @@ spec: transaction.state.log.min.isr: 1 default.replication.factor: 1 min.insync.replicas: 1 - inter.broker.protocol.version: "3.6" + inter.broker.protocol.version: "3.7" storage: type: jbod volumes: @@ -209,7 +209,7 @@ kind: KafkaMirrorMaker2 metadata: name: my-mirror-maker-2 spec: - version: 3.6.1 + version: 3.7.0 replicas: 1 connectCluster: "cluster-b" # Must be the target custer clusters: diff --git a/packaging/helm-charts/helm3/strimzi-kafka-operator/templates/_kafka_image_map.tpl b/packaging/helm-charts/helm3/strimzi-kafka-operator/templates/_kafka_image_map.tpl index 914646dff49..40aa50f3695 100644 --- a/packaging/helm-charts/helm3/strimzi-kafka-operator/templates/_kafka_image_map.tpl +++ b/packaging/helm-charts/helm3/strimzi-kafka-operator/templates/_kafka_image_map.tpl @@ -6,29 +6,29 @@ {{/* Generate the kafka image map */}} {{- define "strimzi.kafka.image.map" }} - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: {{ template "strimzi.image" (merge . (dict "key" "tlsSidecarEntityOperator" "tagSuffix" "-kafka-3.6.1")) }} + value: {{ template "strimzi.image" (merge . (dict "key" "tlsSidecarEntityOperator" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE - value: {{ template "strimzi.image" (merge . (dict "key" "kafkaExporter" "tagSuffix" "-kafka-3.6.1")) }} + value: {{ template "strimzi.image" (merge . (dict "key" "kafkaExporter" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE - value: {{ template "strimzi.image" (merge . (dict "key" "cruiseControl" "tagSuffix" "-kafka-3.6.1")) }} + value: {{ template "strimzi.image" (merge . (dict "key" "cruiseControl" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_KAFKA_IMAGES value: | - 3.5.2={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.5.2")) }} 3.6.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.6.0")) }} 3.6.1={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.6.1")) }} + 3.7.0={{ template "strimzi.image" (merge . (dict "key" "kafka" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_KAFKA_CONNECT_IMAGES value: | - 3.5.2={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.5.2")) }} 3.6.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.6.0")) }} 3.6.1={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.6.1")) }} + 3.7.0={{ template "strimzi.image" (merge . (dict "key" "kafkaConnect" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES value: | - 3.5.2={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.5.2")) }} 3.6.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.6.0")) }} 3.6.1={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.6.1")) }} + 3.7.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker" "tagSuffix" "-kafka-3.7.0")) }} - name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES value: | - 3.5.2={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.5.2")) }} 3.6.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.6.0")) }} 3.6.1={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.6.1")) }} + 3.7.0={{ template "strimzi.image" (merge . (dict "key" "kafkaMirrorMaker2" "tagSuffix" "-kafka-3.7.0")) }} {{- end -}} diff --git a/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml b/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml index ece890da9ea..85c1784ebae 100644 --- a/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml +++ b/packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml @@ -48,31 +48,31 @@ spec: - name: STRIMZI_OPERATION_TIMEOUT_MS value: "300000" - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE - value: quay.io/strimzi/kafka:latest-kafka-3.6.1 + value: quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE - value: quay.io/strimzi/kafka:latest-kafka-3.6.1 + value: quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE - value: quay.io/strimzi/kafka:latest-kafka-3.6.1 + value: quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_KAFKA_IMAGES value: | - 3.5.2=quay.io/strimzi/kafka:latest-kafka-3.5.2 3.6.0=quay.io/strimzi/kafka:latest-kafka-3.6.0 3.6.1=quay.io/strimzi/kafka:latest-kafka-3.6.1 + 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_KAFKA_CONNECT_IMAGES value: | - 3.5.2=quay.io/strimzi/kafka:latest-kafka-3.5.2 3.6.0=quay.io/strimzi/kafka:latest-kafka-3.6.0 3.6.1=quay.io/strimzi/kafka:latest-kafka-3.6.1 + 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES value: | - 3.5.2=quay.io/strimzi/kafka:latest-kafka-3.5.2 3.6.0=quay.io/strimzi/kafka:latest-kafka-3.6.0 3.6.1=quay.io/strimzi/kafka:latest-kafka-3.6.1 + 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES value: | - 3.5.2=quay.io/strimzi/kafka:latest-kafka-3.5.2 3.6.0=quay.io/strimzi/kafka:latest-kafka-3.6.0 3.6.1=quay.io/strimzi/kafka:latest-kafka-3.6.1 + 3.7.0=quay.io/strimzi/kafka:latest-kafka-3.7.0 - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE value: quay.io/strimzi/operator:latest - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE diff --git a/pom.xml b/pom.xml index 53e1aed0219..6e58a64c636 100644 --- a/pom.xml +++ b/pom.xml @@ -136,9 +136,10 @@ 2.16.1 4.5.4 4.5.4 - 3.6.1 + 3.7.0 2.2.0 3.8.3 + 1.1.10.5 0.11 1.7.36 2.17.2 @@ -422,6 +423,12 @@ kafka-clients ${kafka.version} + + org.apache.kafka + kafka-tools + ${kafka.version} + test + org.apache.kafka kafka_2.13 @@ -484,6 +491,13 @@ + + + org.xerial.snappy + snappy-java + ${snappy.version} + test + org.apache.zookeeper zookeeper-jute diff --git a/systemtest/src/test/resources/upgrade/BundleDowngrade.yaml b/systemtest/src/test/resources/upgrade/BundleDowngrade.yaml index 7a1abc610da..c719f23367b 100644 --- a/systemtest/src/test/resources/upgrade/BundleDowngrade.yaml +++ b/systemtest/src/test/resources/upgrade/BundleDowngrade.yaml @@ -39,8 +39,8 @@ fromKafkaVersionsUrl: HEAD additionalTopics: 2 imagesAfterOperations: - zookeeper: strimzi/kafka:0.39.0-kafka-3.5.2 - kafka: strimzi/kafka:0.39.0-kafka-3.5.2 + zookeeper: strimzi/kafka:0.39.0-kafka-3.6.0 + kafka: strimzi/kafka:0.39.0-kafka-3.6.0 topicOperator: strimzi/operator:0.39.0 userOperator: strimzi/operator:0.39.0 deployKafkaVersion: 3.6.1 @@ -67,8 +67,8 @@ fromKafkaVersionsUrl: HEAD additionalTopics: 2 imagesAfterOperations: - zookeeper: strimzi/kafka:0.39.0-kafka-3.5.2 - kafka: strimzi/kafka:0.39.0-kafka-3.5.2 + zookeeper: strimzi/kafka:0.39.0-kafka-3.6.0 + kafka: strimzi/kafka:0.39.0-kafka-3.6.0 topicOperator: strimzi/operator:0.39.0 userOperator: strimzi/operator:0.39.0 deployKafkaVersion: 3.6.1 diff --git a/systemtest/src/test/resources/upgrade/BundleUpgrade.yaml b/systemtest/src/test/resources/upgrade/BundleUpgrade.yaml index 4828e6af2b6..b1617ac59e7 100644 --- a/systemtest/src/test/resources/upgrade/BundleUpgrade.yaml +++ b/systemtest/src/test/resources/upgrade/BundleUpgrade.yaml @@ -31,13 +31,13 @@ - fromVersion: 0.39.0 fromExamples: strimzi-0.39.0 - oldestKafka: 3.5.2 + oldestKafka: 3.6.0 fromUrl: https://github.com/strimzi/strimzi-kafka-operator/releases/download/0.39.0/strimzi-0.39.0.zip fromKafkaVersionsUrl: https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/0.39.0/kafka-versions.yaml additionalTopics: 2 imagesAfterOperations: - zookeeper: strimzi/kafka:latest-kafka-3.6.1 - kafka: strimzi/kafka:latest-kafka-3.6.1 + zookeeper: strimzi/kafka:latest-kafka-3.7.0 + kafka: strimzi/kafka:latest-kafka-3.7.0 topicOperator: strimzi/operator:latest userOperator: strimzi/operator:latest client: @@ -56,13 +56,13 @@ kafkaKRaftAfter: "/examples/kafka/kraft/kafka.yaml" - fromVersion: 0.39.0 fromExamples: strimzi-0.39.0 - oldestKafka: 3.5.2 + oldestKafka: 3.6.0 fromUrl: https://github.com/strimzi/strimzi-kafka-operator/releases/download/0.39.0/strimzi-0.39.0.zip fromKafkaVersionsUrl: https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/0.39.0/kafka-versions.yaml additionalTopics: 2 imagesAfterOperations: - zookeeper: strimzi/kafka:latest-kafka-3.6.1 - kafka: strimzi/kafka:latest-kafka-3.6.1 + zookeeper: strimzi/kafka:latest-kafka-3.7.0 + kafka: strimzi/kafka:latest-kafka-3.7.0 topicOperator: strimzi/operator:latest userOperator: strimzi/operator:latest client: diff --git a/topic-operator/pom.xml b/topic-operator/pom.xml index da7d748d911..bff870c5e59 100644 --- a/topic-operator/pom.xml +++ b/topic-operator/pom.xml @@ -97,6 +97,12 @@ org.apache.zookeeper zookeeper-jute + + + org.xerial.snappy + snappy-java + test + com.fasterxml.jackson.core jackson-core @@ -200,6 +206,11 @@ kafka_2.13 test + + org.apache.kafka + kafka-tools + test + io.strimzi operator-common @@ -258,6 +269,7 @@ io.fabric8:kubernetes-httpclient-jdk org.apache.logging.log4j:log4j-slf4j-impl org.mockito:mockito-inline + org.xerial.snappy:snappy-java diff --git a/topic-operator/src/test/java/io/strimzi/operator/topic/TopicOperatorReplicationIT.java b/topic-operator/src/test/java/io/strimzi/operator/topic/TopicOperatorReplicationIT.java index 7cc14cec437..1e19126d415 100644 --- a/topic-operator/src/test/java/io/strimzi/operator/topic/TopicOperatorReplicationIT.java +++ b/topic-operator/src/test/java/io/strimzi/operator/topic/TopicOperatorReplicationIT.java @@ -10,7 +10,7 @@ import io.strimzi.api.kafka.model.topic.KafkaTopic; import io.strimzi.api.kafka.model.topic.KafkaTopicBuilder; import io.strimzi.test.container.StrimziKafkaCluster; -import kafka.admin.ReassignPartitionsCommand; +import org.apache.kafka.tools.reassign.ReassignPartitionsCommand; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.jupiter.api.AfterAll; From 11132029a2b200ec73e2fd854f351fe487f15261 Mon Sep 17 00:00:00 2001 From: Jakub Scholz Date: Tue, 27 Feb 2024 10:07:44 +0100 Subject: [PATCH 2/2] Review comment PP Signed-off-by: Jakub Scholz --- .../java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java b/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java index 2af85ac2ce4..85cfde1acbb 100644 --- a/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java +++ b/cluster-operator/src/test/java/io/strimzi/operator/cluster/KafkaVersionTestUtils.java @@ -33,7 +33,7 @@ public class KafkaVersionTestUtils { public static final String LATEST_KAFKA_MIRROR_MAKER_IMAGE = KAFKA_MIRROR_MAKER_IMAGE_STR + LATEST_KAFKA_VERSION; public static final String LATEST_KAFKA_MIRROR_MAKER_2_IMAGE = KAFKA_MIRROR_MAKER_2_IMAGE_STR + LATEST_KAFKA_VERSION; - public static final String PREVIOUS_KAFKA_VERSION = "3.6.0"; + public static final String PREVIOUS_KAFKA_VERSION = "3.6.1"; public static final String PREVIOUS_FORMAT_VERSION = "3.6"; public static final String PREVIOUS_PROTOCOL_VERSION = "3.6"; public static final String PREVIOUS_METADATA_VERSION = "3.6-IV2";