diff --git a/.azure/templates/jobs/system-tests/feature_gates_regression_jobs.yaml b/.azure/templates/jobs/system-tests/feature_gates_regression_jobs.yaml index 1f5369aaa5b..3842d657b39 100644 --- a/.azure/templates/jobs/system-tests/feature_gates_regression_jobs.yaml +++ b/.azure/templates/jobs/system-tests/feature_gates_regression_jobs.yaml @@ -6,7 +6,6 @@ jobs: profile: 'azp_kafka_oauth' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -18,7 +17,6 @@ jobs: profile: 'azp_security' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -30,7 +28,6 @@ jobs: profile: 'azp_dynconfig_listeners_tracing_watcher' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -42,7 +39,6 @@ jobs: profile: 'azp_operators' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -54,7 +50,6 @@ jobs: profile: 'azp_rolling_update_bridge' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -66,7 +61,6 @@ jobs: profile: 'azp_connect_mirrormaker' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -78,7 +72,6 @@ jobs: profile: 'azp_remaining' cluster_operator_install_type: 'bundle' strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" timeout: 360 releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' diff --git a/.azure/templates/jobs/system-tests/feature_gates_regression_namespace_rbac_jobs.yaml b/.azure/templates/jobs/system-tests/feature_gates_regression_namespace_rbac_jobs.yaml index ea4b35fcadd..d2816a5ad2b 100644 --- a/.azure/templates/jobs/system-tests/feature_gates_regression_namespace_rbac_jobs.yaml +++ b/.azure/templates/jobs/system-tests/feature_gates_regression_namespace_rbac_jobs.yaml @@ -9,7 +9,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -23,7 +22,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -37,7 +35,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -51,7 +48,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -65,7 +61,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -79,7 +74,6 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' @@ -93,6 +87,5 @@ jobs: timeout: 360 strimzi_rbac_scope: NAMESPACE strimzi_feature_gates: '-ContinueReconciliationOnManualRollingUpdateFailure' - strimzi_use_node_pools_in_tests: "false" releaseVersion: '${{ parameters.releaseVersion }}' kafkaVersion: '${{ parameters.kafkaVersion }}' diff --git a/.azure/templates/jobs/system-tests/zookeeper_regression_jobs.yaml b/.azure/templates/jobs/system-tests/zookeeper_regression_jobs.yaml new file mode 100644 index 00000000000..27be5f9d09e --- /dev/null +++ b/.azure/templates/jobs/system-tests/zookeeper_regression_jobs.yaml @@ -0,0 +1,84 @@ +jobs: + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_kafka_oauth' + display_name: 'zookeeper-regression-bundle I. - kafka + oauth' + profile: 'azp_kafka_oauth' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_security' + display_name: 'zookeeper-regression-bundle II. - security' + profile: 'azp_security' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_dynconfig_listeners_tracing_watcher' + display_name: 'zookeeper-regression-bundle III. - dynconfig + tracing + watcher' + profile: 'azp_dynconfig_listeners_tracing_watcher' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_operators' + display_name: 'zookeeper-regression-bundle IV. - operators' + profile: 'azp_operators' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_rollingupdate_bridge' + display_name: 'zookeeper-regression-bundle V. - rollingupdate' + profile: 'azp_rolling_update_bridge' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_connect_mirrormaker' + display_name: 'zookeeper-regression-bundle VI. - connect + mirrormaker' + profile: 'azp_connect_mirrormaker' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' + + - template: '../../steps/system_test_general.yaml' + parameters: + name: 'zookeeper_regression_all_remaining' + display_name: 'zookeeper-regression-bundle VII. - remaining system tests' + profile: 'azp_remaining' + cluster_operator_install_type: 'bundle' + strimzi_use_node_pools_in_tests: "false" + strimzi_use_kraft_in_tests: "false" + timeout: 360 + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' diff --git a/.azure/templates/steps/system_test_general.yaml b/.azure/templates/steps/system_test_general.yaml index 1a3a6696b2c..70770b1c2bb 100644 --- a/.azure/templates/steps/system_test_general.yaml +++ b/.azure/templates/steps/system_test_general.yaml @@ -12,7 +12,7 @@ parameters: parallel: '1' run_parallel: false releaseVersion: "latest" - strimzi_use_kraft_in_tests: "false" + strimzi_use_kraft_in_tests: "true" strimzi_use_node_pools_in_tests: "true" jobs: diff --git a/.azure/zookeeper-regression-pipeline.yaml b/.azure/zookeeper-regression-pipeline.yaml new file mode 100644 index 00000000000..4b498426f63 --- /dev/null +++ b/.azure/zookeeper-regression-pipeline.yaml @@ -0,0 +1,28 @@ +# Triggers +# This pipeline will be triggered manually for a release or by github comment +trigger: none +pr: + autoCancel: false + branches: + include: + - '*' + +parameters: + - name: releaseVersion + displayName: Release Version + type: string + # If releaseVersion == latest then images will be built as part of the pipeline + default: "latest" + - name: kafkaVersion + displayName: Kafka Version + type: string + # If kafkaVersion == latest, the latest supported version of Kafka is used + default: "latest" + +# Regression tests are split into 6 jobs because of timeout set to 360 minutes for each job +jobs: + - template: 'templates/jobs/system-tests/zookeeper_regression_jobs.yaml' + # This is needed to propagate releaseVersion parameter down to system_test_general.yaml + parameters: + releaseVersion: '${{ parameters.releaseVersion }}' + kafkaVersion: '${{ parameters.kafkaVersion }}' diff --git a/systemtest/src/main/java/io/strimzi/systemtest/Environment.java b/systemtest/src/main/java/io/strimzi/systemtest/Environment.java index fd6162144ba..0a8e1d645dd 100644 --- a/systemtest/src/main/java/io/strimzi/systemtest/Environment.java +++ b/systemtest/src/main/java/io/strimzi/systemtest/Environment.java @@ -234,7 +234,7 @@ public class Environment { public static final boolean SKIP_TEARDOWN = getOrDefault(SKIP_TEARDOWN_ENV, Boolean::parseBoolean, false); public static final String STRIMZI_RBAC_SCOPE = getOrDefault(STRIMZI_RBAC_SCOPE_ENV, STRIMZI_RBAC_SCOPE_DEFAULT); public static final String STRIMZI_FEATURE_GATES = getOrDefault(STRIMZI_FEATURE_GATES_ENV, STRIMZI_FEATURE_GATES_DEFAULT); - public static final boolean STRIMZI_USE_KRAFT_IN_TESTS = getOrDefault(STRIMZI_USE_KRAFT_IN_TESTS_ENV, Boolean::parseBoolean, false); + public static final boolean STRIMZI_USE_KRAFT_IN_TESTS = getOrDefault(STRIMZI_USE_KRAFT_IN_TESTS_ENV, Boolean::parseBoolean, true); public static final boolean STRIMZI_USE_NODE_POOLS_IN_TESTS = getOrDefault(STRIMZI_USE_NODE_POOLS_IN_TESTS_ENV, Boolean::parseBoolean, true); public static final NodePoolsRoleMode STRIMZI_NODE_POOLS_ROLE_MODE = getOrDefault(STRIMZI_NODE_POOLS_ROLE_MODE_ENV, value -> NodePoolsRoleMode.valueOf(value.toUpperCase(Locale.ENGLISH)), NodePoolsRoleMode.SEPARATE); diff --git a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/AbstractUpgradeST.java b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/AbstractUpgradeST.java index c34cb2dcd31..28f5cb55b04 100644 --- a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/AbstractUpgradeST.java +++ b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/AbstractUpgradeST.java @@ -496,7 +496,7 @@ protected void deployKafkaClusterWithWaitForReadiness(final String componentsNam // Deploy a Kafka cluster if (upgradeData.getFromExamples().equals("HEAD")) { resourceManager.createResourceWithWait(KafkaNodePoolTemplates.brokerPoolPersistentStorage(componentsNamespaceName, poolName, clusterName, 3).build()); - resourceManager.createResourceWithWait(KafkaTemplates.kafkaPersistent(componentsNamespaceName, clusterName, 3, 3) + resourceManager.createResourceWithWait(KafkaTemplates.kafkaPersistentNodePools(componentsNamespaceName, clusterName, 3, 3) .editSpec() .editKafka() .withVersion(upgradeKafkaVersion.getVersion()) diff --git a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/KafkaUpgradeDowngradeST.java b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/KafkaUpgradeDowngradeST.java index f5ddea5f743..f0140625211 100644 --- a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/KafkaUpgradeDowngradeST.java +++ b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/KafkaUpgradeDowngradeST.java @@ -8,7 +8,6 @@ import io.strimzi.api.kafka.model.kafka.KafkaBuilder; import io.strimzi.api.kafka.model.kafka.KafkaResources; import io.strimzi.systemtest.annotations.IsolatedTest; -import io.strimzi.systemtest.annotations.KRaftNotSupported; import io.strimzi.systemtest.kafkaclients.internalClients.KafkaClients; import io.strimzi.systemtest.resources.ResourceManager; import io.strimzi.systemtest.resources.crd.KafkaResource; @@ -42,7 +41,6 @@ * Metadata for upgrade/downgrade procedure are loaded from kafka-versions.yaml in root dir of this repository. */ @Tag(UPGRADE) -@KRaftNotSupported("Strimzi and Kafka downgrade is not supported with KRaft mode") public class KafkaUpgradeDowngradeST extends AbstractUpgradeST { private static final Logger LOGGER = LogManager.getLogger(KafkaUpgradeDowngradeST.class); @@ -168,7 +166,7 @@ void runVersionChange(TestStorage testStorage, TestKafkaVersion initialVersion, if (KafkaResource.kafkaClient().inNamespace(testStorage.getNamespaceName()).withName(clusterName).get() == null) { LOGGER.info("Deploying initial Kafka version {} with logMessageFormat={} and interBrokerProtocol={}", initialVersion.version(), initLogMsgFormat, initInterBrokerProtocol); - KafkaBuilder kafka = KafkaTemplates.kafkaPersistent(testStorage.getNamespaceName(), clusterName, kafkaReplicas, zkReplicas) + KafkaBuilder kafka = KafkaTemplates.kafkaPersistentNodePools(testStorage.getNamespaceName(), clusterName, kafkaReplicas, zkReplicas) .editSpec() .editKafka() .withVersion(initialVersion.version()) diff --git a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/OlmUpgradeST.java b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/OlmUpgradeST.java index c7b7ea8d59d..246980f6c72 100644 --- a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/OlmUpgradeST.java +++ b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/OlmUpgradeST.java @@ -10,7 +10,6 @@ import io.strimzi.api.kafka.model.topic.KafkaTopicBuilder; import io.strimzi.systemtest.Environment; import io.strimzi.systemtest.annotations.IsolatedTest; -import io.strimzi.systemtest.annotations.KRaftNotSupported; import io.strimzi.systemtest.kafkaclients.internalClients.KafkaClients; import io.strimzi.systemtest.kafkaclients.internalClients.KafkaClientsBuilder; import io.strimzi.systemtest.resources.ResourceManager; @@ -49,11 +48,11 @@ * Tests in this class use OLM for install cluster operator. */ @Tag(OLM_UPGRADE) -@KRaftNotSupported("Strimzi and Kafka downgrade is not supported with KRaft mode") public class OlmUpgradeST extends AbstractUpgradeST { private static final Logger LOGGER = LogManager.getLogger(OlmUpgradeST.class); private final OlmVersionModificationData olmUpgradeData = new VersionModificationDataLoader(ModificationType.OLM_UPGRADE).getOlmUpgradeData(); + @IsolatedTest void testStrimziUpgrade() throws IOException { final TestStorage testStorage = new TestStorage(ResourceManager.getTestContext(), CO_NAMESPACE); diff --git a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziDowngradeST.java b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziDowngradeST.java index 895ea3ff91c..f1dda8f7298 100644 --- a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziDowngradeST.java +++ b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziDowngradeST.java @@ -5,7 +5,6 @@ package io.strimzi.systemtest.upgrade.regular; import io.strimzi.systemtest.annotations.IsolatedTest; -import io.strimzi.systemtest.annotations.KRaftNotSupported; import io.strimzi.systemtest.annotations.KindIPv6NotSupported; import io.strimzi.systemtest.annotations.MicroShiftNotSupported; import io.strimzi.systemtest.resources.NamespaceManager; @@ -39,7 +38,6 @@ * Kafka upgrade is done as part of those tests as well, but the tests for Kafka upgrade/downgrade are in {@link KafkaUpgradeDowngradeST}. */ @Tag(UPGRADE) -@KRaftNotSupported("Strimzi and Kafka downgrade is not supported with KRaft mode") public class StrimziDowngradeST extends AbstractUpgradeST { private static final Logger LOGGER = LogManager.getLogger(StrimziDowngradeST.class); diff --git a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziUpgradeST.java b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziUpgradeST.java index 77e0d64e63f..4480d5c1c3e 100644 --- a/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziUpgradeST.java +++ b/systemtest/src/test/java/io/strimzi/systemtest/upgrade/regular/StrimziUpgradeST.java @@ -6,7 +6,6 @@ import io.strimzi.api.kafka.model.kafka.KafkaResources; import io.strimzi.systemtest.annotations.IsolatedTest; -import io.strimzi.systemtest.annotations.KRaftNotSupported; import io.strimzi.systemtest.annotations.KindIPv6NotSupported; import io.strimzi.systemtest.annotations.MicroShiftNotSupported; import io.strimzi.systemtest.resources.NamespaceManager; @@ -47,7 +46,6 @@ * Kafka upgrade is done as part of those tests as well, but the tests for Kafka upgrade/downgrade are in {@link KafkaUpgradeDowngradeST}. */ @Tag(UPGRADE) -@KRaftNotSupported("Strimzi and Kafka upgrade is not supported with KRaft mode") public class StrimziUpgradeST extends AbstractUpgradeST { private static final Logger LOGGER = LogManager.getLogger(StrimziUpgradeST.class);