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

Up-to-date check is broken for resources that have a map to be late-initialized #84

Open
muvaf opened this issue Aug 28, 2022 · 1 comment
Labels
bug Something isn't working reconciler v2
Milestone

Comments

@muvaf
Copy link
Member

muvaf commented Aug 28, 2022

What happened?

When a resource has a map field with at least one value, it's not late-initialized because the field is considered to have non-zero value, hence the user's desire about the field. However, in some cases, external APIs assign defaults to other fields of the same map. So, you end up with a map that is not late initialized but also doesn't match what's in the cloud API, so it repeatedly reports that resource is not up to date.

How can we reproduce it?

aws_backup_region_settings resource gets to Ready and Synced states but it never marks Test state to be True, which is how we make sure resource gets into a stable state where there is no update needed. So, at every reconcile, it requests the update call to be made. The reason is that it has two maps under spec.forProvider and if you give only some of the fields, then it reports diff since it can't fill the rest with late-init.

@muvaf muvaf added the bug Something isn't working label Aug 28, 2022
@luebken
Copy link

luebken commented Dec 8, 2022

Currently we don't have an assessment of the impact and we will revisit this. Please add your example if you encounter this.

@jeanduplessis jeanduplessis modified the milestones: v2, 2.x Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working reconciler v2
Projects
None yet
Development

No branches or pull requests

3 participants