Skip to content

[HWORKS-3047] Operator notes for the Kafka 4 and KRaft upgrade in 5.2 - #678

Merged
bubriks merged 3 commits into
logicalclocks:mainfrom
bubriks:HWORKS-3047
Oct 3, 2026
Merged

bubriks merged 3 commits into
logicalclocks:mainfrom
bubriks:HWORKS-3047

Conversation

@bubriks

@bubriks bubriks commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Documentation for the Hopsworks 5.2 Kafka upgrade (logicalclocks/hopsworks-helm#2409), requested in that PR's review.

  • New Cluster Administration page setup_installation/admin/kafka4.md, in the style of the Airflow 3 operator notes: what the upgrade does (ZooKeeper to KRaft, Strimzi 1.2, Kafka 4.3.1), what to expect (the timeout budget, the broker replacements, the headroom, no helm rollback and no --atomic), the Helm and ArgoCD procedures, what to prepare (airgapped images, satellites first, 4.3/4.5 CRDs), how to verify, and client compatibility (Java clients from 2.1, librdkafka from 1.8.2). The chart README is linked for the mechanics.
  • setup_installation/on_prem/external_kafka_cluster.md: KIP-896 warning that bring-your-own Kafka brokers must run 2.1 or newer for 5.2's kafka-clients 4.3.1.
  • Navigation entry next to the Airflow 3 notes.

🤖 Generated with Claude Code

A Cluster Administration page, in the style of the Airflow 3 operator
notes, covering what the 5.2 upgrade does to the bundled Kafka (ZooKeeper
to KRaft, Strimzi 1.2, Kafka 4.3.1), what to expect (the timeout budget,
the broker replacements, the headroom, the irreversibility), the Helm and
ArgoCD procedures, what to prepare (airgapped images, satellites first,
4.3/4.5 CRDs) and how to verify, with the chart README linked for the
mechanics. Plus client compatibility: the broker side (Java clients from
2.1, librdkafka from 1.8.2) and the KIP-896 requirement on bring-your-own
Kafka brokers, also added to the external Kafka page.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@maismail maismail left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review for HWORKS-3047. The page covers everything asked for on logicalclocks/hopsworks-helm#2409, and its facts match the chart README at 43ecffa5: seven pod replacements, the topic command, the 3 x timeout budget. One thing to fix: the README links point at a private repository.

Comment thread docs/setup_installation/admin/kafka4.md Outdated
Comment thread docs/setup_installation/admin/kafka4.md Outdated
Comment thread docs/setup_installation/admin/kafka4.md
Comment thread docs/setup_installation/admin/kafka4.md Outdated
…ntence per line

The chart repository is private, so the page no longer links to it: the
4.3/4.5 CRD step and the failure guidance are inlined, and the rest points
at `helm show readme`. The ArgoCD step carries the terminal form next to
the UI path, the "one upgrade" lead and the satellite-first bullet say
why, cross-page links use heading IDs, and the prose is one sentence per
line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@maismail maismail left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approving: all four points are addressed at ad56fba.

Optional nit: the invalidate-cache curl hardcodes https://kubernetes.default.svc, which is right only when ArgoCD deploys to its own cluster. A <destination server, URL-encoded> placeholder, and <app> for the two argocd lines, would cover the rest.

Upstream Strimzi 1.2.0's Kafka CRD carries an empty properties map that
the apiserver drops on store, so an ArgoCD Application on the chart never
reaches Synced without an ignoreDifferences entry for that path. The
operator page carries the block under the ArgoCD step, for clusters whose
ArgoCD is not managed by Hopsworks.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@bubriks
bubriks merged commit c8adb98 into logicalclocks:main Oct 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants