Skip to content
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

[Enhancement]: Ability to check a condition when updating a kafkanodepool for rollout completion #11046

Open
jack1902 opened this issue Jan 15, 2025 · 3 comments

Comments

@jack1902
Copy link

Related problem

When creating/updating a kafkanodepool, it would be great to have something on the nodepool itself i could monitor to detect convergence on the spec.

For example, given a kafkanodepool with roles controller and an update to controller,broker, i currently see no way to easily detect the completion of the broker role addition to all the replicas within a given nodepool.

Suggested solution

Extension of the kafkaNodePool resource to include some conditions such as, but not limited to:

  • Ready
  • Phase (updating, complete)

Alternatives

I have currently hacked around this by utilising the .status.labelSelector of the nodepool, to filter for all pods the nodepool targets and consistently checking two things:

  • are the pods "Ready"
  • is the value of the label strimzi.io/broker-role="true"

Additional context

I've migrated from the flat kafka resource to a single kafkaNodePool. Along the way i had to:

  • migrate from zookeeper -> kraft (the .status.kafkaMetadataState on the kafka resource is <3)
  • reduce 3x controller 3xbroker down to 3x controller,broker
@scholzj
Copy link
Member

scholzj commented Jan 15, 2025

I'm not sure whether a phase or readiness of the KafkaNodePool resource is the right thing because they would be hard to maintain and find a proper meaning for them. Observed generation would make more sense -> likely in the Kafka CR or in the KafkaNodePool CR. But implementation wise it would be easier in the Kafka CR I guess. Comparing the observed generation of the node pool in the Kafka CR status with the KafkaNodePool generation would then show if everything is up to date.

@ppatierno
Copy link
Member

Triaged on 23.1.2025: keep this for the next community calls. Maintainers will think more about it looking at options about how to do support this, which looks to make sense anyway.

@katheris
Copy link
Contributor

Triaged on 20.2.2025: We think this enhancement is worth doing but it would need a proposal first to work out the best approach

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

No branches or pull requests

4 participants