-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ST] KRaft to KRaft upgrades/downgrades in STs #9442
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few nits :) but this is a huge amount of work! Good Job! 👍
systemtest/src/main/java/io/strimzi/systemtest/resources/crd/KafkaNodePoolResource.java
Outdated
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/AbstractKRaftUpgradeST.java
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftStrimziDowngradeST.java
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Show resolved
Hide resolved
7a10e2d
to
6e4da64
Compare
Signed-off-by: Lukas Kral <lukywill16@gmail.com>
/azp run upgrade |
Azure Pipelines successfully started running 1 pipeline(s). |
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Outdated
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Outdated
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Outdated
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Outdated
Show resolved
Hide resolved
systemtest/src/test/java/io/strimzi/systemtest/upgrade/kraft/KRaftKafkaUpgradeDowngradeST.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Lukas Kral <lukywill16@gmail.com>
/azp run upgrade |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM assuming the tests pass. Should be reviewed by SMEs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for this PR @im-konge ! 💯
Type of change
Description
This PR adds STs for KRaft to KRaft upgrades/downgrades.
I decided to make a copy of our current tests that we have in our suite and create new package
kraft
for the KRaft to KRaft STs. As part of that, I moved the "regular" tests into theregular
package.As for the regular tests, for KRaft upgrades/downgrades I'm using the
AbstractKRaftUpgradeST
class, which extends theAbstractUpgradeST
. To keep the methods same as much as possible, I moved some parts to separate methods, which are then overriden in theAbstractKRaftUpgradeST
. So even if we are executing some method in theAbstractUpgradeST
, if there is some method in theAbstractKRaftUpgradeST
that overrides it, the test uses that one.KRaftKafkaUpgradeDowngradeST
works as expected, it does testing of just Kafka upgrade/downgrade. The two classes that are testing the Strimzi & Kafka upgrades/downgrades are implemented as well, theKRaftStrimziUpgradeST
works, but theKRaftStrimziDowngradeST
is currently disabled, as0.38.0
version of Strimzi doesn't support KRaft to KRaft upgrades/downgrades, so that scenario will not currently work. But after0.39.0
is released, it should be enabled -> and from my testing the tests inside the downgrade suite should work.As part of this PR I'm changing few classes regarding Kafka version (adding the
metadataVersion
), loaders for the upgrade/downgrade tests (possibility to specify "always enabled" FG -> used for KRaft, UTO, and KafkaNodePools FGs),and also adding some helper methods for the NodePools creation to the templates or LabelSelector for getting Pods for particular NodePool.
Finally, I'm adding these STs to AZP and updating our
pom.xml
withkraft_upgrade
profile + addingKRaftKafkaUpgradeDowngradeST
toazp_kafka_upgrade
profile.Checklist