Skip to content

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

Open
@jack1902

Description

@jack1902

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions