You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Crossplane to create and manage resources in GCP, but I am having some trouble with reconciliation thrash. For example, when I create a GCP Cloud Run Service resource, I define arrays of volumes and volume mounts for the container object. But if the order of those arrays do not match the order of the arrays in the external resource, Crossplane will continuously try and fail to update the external resource. I have verified this is the cause of the thrash by manually editing the v2service CRD until the order of the arrays match, which stopped the thrash. I can make the order of the arrays deterministic on my end, but it doesn't seem to be deterministic in GCP, so that doesn't really help.
One solution I found was to use the init-provider, but as I understand it, I cannot have parts of the container object in the init-provider, and other parts in the for-provider. And I don't want the whole container object in the init-provider, because I need to be able to patch some of its fields.Has anyone else experienced this issue, and is there a common solution that I am missing here? I assume I am doing something wrong, so I'd be very grateful if you could point me in the right direction. I am happy to fill in if you need more detail. Thanks in advance!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
I am using Crossplane to create and manage resources in GCP, but I am having some trouble with reconciliation thrash. For example, when I create a GCP Cloud Run Service resource, I define arrays of volumes and volume mounts for the container object. But if the order of those arrays do not match the order of the arrays in the external resource, Crossplane will continuously try and fail to update the external resource. I have verified this is the cause of the thrash by manually editing the v2service CRD until the order of the arrays match, which stopped the thrash. I can make the order of the arrays deterministic on my end, but it doesn't seem to be deterministic in GCP, so that doesn't really help.
One solution I found was to use the init-provider, but as I understand it, I cannot have parts of the container object in the init-provider, and other parts in the for-provider. And I don't want the whole container object in the init-provider, because I need to be able to patch some of its fields.Has anyone else experienced this issue, and is there a common solution that I am missing here? I assume I am doing something wrong, so I'd be very grateful if you could point me in the right direction. I am happy to fill in if you need more detail. Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions