kudobuilder / kudobuilder/kudo

propagate partial configuration during upgrades of operators

Open
#747 3 comments 0 reactions 1 assignee View on GitHub

@gerred is already working on this.

Since Oct 25, 2019.

kafka GA kind/enhancement priority/high
Dominant language
Go
Stars
1.2k
Forks
105
PR merge metrics
No merged PRs in 30d

Description

What would you like to be added:
Right now the default configuration(parameters) can be added to the OperatorVersion and when a new KUDO operator is installed, the Instance object would only have custom parameters value as assigned by the user.

When performing an upgrade of the operator, the default values of old OperatorVersion are replaced by the new values of the new OperatorVersion

This is the default behavior. But in some cases, we would need some specific default values from old OperatorVersion to be propagated to the new instance. And those specific default values aren't specified by the operator user but by the operator developer.

Why is this needed:

The real use case is the kafka operator where the inter.broker.protocol.version will be udpated with new base tech release. That means the data format of the logs file. For somebody upgrading from an older version, the inter.broker.protocol.version should stay the same by default.

Kafka 2.1.0 would have inter.broker.protocol.version 2.1
Kafka 2.2.1 would have inter.broker.protocol.version 2.2
Kafka 2.3.0 would have inter.broker.protocol.version 2.3

Kafka 2.2.1 upgrading to 2.3.0 should maintain the inter.broker.protocol.version 2.2
New Kafka 2.3.0 operators installation would use inter.broker.protocol.version 2.3

This means adding INTER_BROKER_PROTOCOL_VERSION parameter to the Instance object without the user specifying it. But operator developers adding a flag or annotation to these kinds of parameters which they want to maintain during the uprgades, in case user haven't specified any value for them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.