Skip to content

Conversation

@PaulRMellor
Copy link
Contributor

@PaulRMellor PaulRMellor commented Oct 24, 2025

Documentation

Adds instructions for the Strimzi API conversion tool.

Notes:

  • Content sits outside the upgrade section so it can be found easily in the table of contents and referenced independently of the general upgrade content.
  • Some of the more complex manual changes (for example, KafkaConnect and KafkaMirrorMaker2) could include configuration examples, but the current draft keeps the content concise and focused.
  • The StrimziPodSet section may not be required.
  • Resource updates are presented as reference lists rather than procedures to reduce repetition and complexity. The content in these sections assumes the conversion tool is being used, rather than a manual approach (So the tool Adds, Replaces, Removes etc).
image

Checklist

Please go through this checklist and make sure all applicable tasks have been done

  • Write tests
  • Make sure all tests pass
  • Update documentation
  • Check RBAC rights for Kubernetes / OpenShift roles
  • Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
  • Reference relevant issue(s) and close them after merging
  • Update CHANGELOG.md
  • Supply screenshots for visual changes, such as Grafana dashboards

@PaulRMellor PaulRMellor added this to the 0.49.0 milestone Oct 24, 2025
@PaulRMellor PaulRMellor requested a review from a team October 24, 2025 18:52
@PaulRMellor PaulRMellor self-assigned this Oct 24, 2025
@codecov
Copy link

codecov bot commented Oct 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.79%. Comparing base (1ee54de) to head (c0a2a5f).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main   #12072   +/-   ##
=========================================
  Coverage     74.78%   74.79%           
- Complexity     6614     6616    +2     
=========================================
  Files           376      376           
  Lines         25325    25325           
  Branches       3389     3389           
=========================================
+ Hits          18939    18941    +2     
  Misses         4998     4998           
+ Partials       1388     1386    -2     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@scholzj scholzj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @PaulRMellor. I left few nits, but looks good otherwise.

* A later release (planned for 0.52 or 1.0.0) removes the `v1beta2` API and updates all components to use `v1`.

Complete the conversion of custom resources and CRDs after upgrading to version 0.49 or later, and before upgrading to the later release that removes the `v1beta2` API (Strimzi 0.52 / 1.0.0).
Resources converted to `v1` are compatible with Strimzi versions 0.49, 0.50, and 0.51.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we say something like this instead:

Suggested change
Resources converted to `v1` are compatible with Strimzi versions 0.49, 0.50, and 0.51.
Resources converted to `v1` are compatible with Strimzi versions 0.49 and higher.

The v1 resources will be compatible with the future versions as well.

Comment on lines +19 to +23
IMPORTANT: When upgrading to Strimzi version 0.49 or later, convert all custom resources and CRDs to the `v1` API.
The `v1beta2` API is deprecated and will be removed in a future release.
Conversion must be performed after upgrading the Cluster Operator, so that the Cluster Operator can interpret the resources.
Custom resources can be updated before or after the Kafka upgrade.
For more information, see xref:assembly-api-conversion-{context}[Converting Strimzi custom resources to the `v1` API].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a bit confusing as when upgrading to Strimzi might be read as before or directly with the upgrade. But it cannot be done before as the old version does not have the new fields etc.

So we need to say the following:

  • If you have KafkaUser resources using the .spec.authorization.acls[]operation fields, they should be updated to use .spec.authorization.acls[]operations before upgrading to 0.49.0 or later.
  • All other resource updates should be done only after the upgrade to 0.49. And they can be done at any point in time before upgrade to 0.52/1.0.0.

Comment on lines +30 to +32
Kubernetes `Job`::
Runs the conversion tool as a Kubernetes job inside the cluster.
Use this command when local access to the cluster is unavailable or restricted.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a command of the conversion tool. But as an alternative to running the tool locally, users can run it as Kubernetes Job. So I would for example add it to the end as a note saying something like ...

NOTE: You can also run the tool as a Kubernetes Job instead of running it locally from your computer.
For more information, check the `README.md` file in the Conversion Tool.

Comment on lines +42 to +49
. Verify that the converted resources now use the `kafka.strimzi.io/v1` API version:
+
[source,shell]
----
kubectl get kafkas,kafkaconnects,kafkabridges,kafkamirrormaker2s,kafkarebalances,kafkatopics,kafkausers,kafkanodepools -A \
-o custom-columns="VERSION:.apiVersion,KIND:.kind,NAMESPACE:.metadata.namespace,NAME:.metadata.name" \
| grep "kafka.strimzi.io/v1"
----
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would IMHO always show v1, even if the resources are not converted. So I would remove this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should add here a clarification that this should be really used just before upgrading to 0.52 / 1.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants