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

Limitador CR should reconcile to default values for fields that are not defiend #617

Closed
jsmolar opened this issue May 6, 2024 · 2 comments
Labels
kind/bug Something isn't working

Comments

@jsmolar
Copy link

jsmolar commented May 6, 2024

In issue #307, it was mentioned:

"The Kuadrant operator should only reconcile the spec that is given. This would mean if the user specifies the number of replicas for a component, only the replica field for that component should be reconciled. As other fields might be blank at this stage, these blank fields should not be reconciled to the component Custom Resource (CR)."

However, this behavior is incorrect. Since the subcomponent CR is managed by the Kuadrant CR, it needs to be fully managed. In the current implementation (PR #350), blank fields are ignored, resulting in the component inconsistent behavior from the user perspective.

Example: Inconsistency arises when we have two Kuadrants, each managing a Limitador. For the same Limitador spec configuration in Kuadrant CR, we can result in two different Limitador deployments. If blank fields result in default values instead of being ignored, we can achieve consistency and reconcile only the fields that we intend to modify.

The desired behavior should be as follows: if fields are left blank, they should be reset to their default values rather than being ignored.

@jsmolar jsmolar added kind/enhancement New feature or request kind/bug Something isn't working and removed kind/enhancement New feature or request labels May 6, 2024
@eguzki
Copy link
Contributor

eguzki commented Jul 16, 2024

Multiple kuadrant CRs at the same time is not supported as of today

The reconciliation pattern is being refactored in #608, however, the approach does not change. Only fields specified in the kuadrant CR will be enforced in the Limitaodr CR. Any field not defined in kuadrant CR can be manually changed in the limitador CR. For example replicas: If you do not specify replicas in the kuadrant CR, you can freely change replicas in the limitador CR. On the other hand, if you specify replicas in the kuadrant CR, let's say 3, you can not change the value in limitador CR. The kuadrant controller will enforce limitador CR replicas to be 3.

@jsmolar
Copy link
Author

jsmolar commented Jul 18, 2024

I am closing this one as this is the way we decided to go. I still belive that Kuadrant CR should have full control over Limitador CR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

2 participants