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
One of Crossplane's best features is that it just keeps retrying when things fail, ever optimistic that something will change in the future to allow things to succeed "next time".
provider-helm is an exception to this - by default it does NOT retry, and there is no way to make it retry forever. rollbackLimit defaults to nil, which disables retry. And there is no way to set rollbackLimit to "forever", such as using 0 or -1. The only option is to set it to a "large" number which will eventually be exceeded.
Ideally the Release would behave like all other Managed Resources and continuously retry until it is successful.
It seems like to be consistent with other providers and Crossplane itself, rollbackLimit should default to a value that specifies infinite retries, or nil should indicate infinite retries and 0 should disable retries.
rollbackLimit is also not an obvious attribute name for an option that controls retries. Maybe a better solution would be to add a retryEnabled attribute that turns retries on and off, and leave rollbackLimit to specify the number of retries, where nil is no limit.
I'd be glad to push a PR if any of these suggestions are agreeable.
How can we reproduce it?
Deploy a Release
The text was updated successfully, but these errors were encountered:
FWIW, provider-helm indeed retries for other errors than a failing release. For example, it would retry forever if it hits an error while pulling the chart or communicating with the Kube API.
I would be supportive of implementing a negative value meaning retry forever, but hesitant to change the default behavior for everyone.
I encountered this problem again today, so I'd really like to find a way to make it retry-by-default. How about a CLI parameter to the provider like --always-retry that makes an unset rollbackLimit equivalent to an infinite retry? I agree it's not ideal to change the behavior of an attribute via an optional parameter, but I think the default behavior should match all other providers and what kubernetes does by default - keep trying.
What happened?
One of Crossplane's best features is that it just keeps retrying when things fail, ever optimistic that something will change in the future to allow things to succeed "next time".
provider-helm is an exception to this - by default it does NOT retry, and there is no way to make it retry forever.
rollbackLimit
defaults tonil
, which disables retry. And there is no way to setrollbackLimit
to "forever", such as using0
or-1
. The only option is to set it to a "large" number which will eventually be exceeded.Ideally the
Release
would behave like all other Managed Resources and continuously retry until it is successful.It seems like to be consistent with other providers and Crossplane itself,
rollbackLimit
should default to a value that specifies infinite retries, ornil
should indicate infinite retries and0
should disable retries.rollbackLimit
is also not an obvious attribute name for an option that controls retries. Maybe a better solution would be to add aretryEnabled
attribute that turns retries on and off, and leaverollbackLimit
to specify the number of retries, wherenil
is no limit.I'd be glad to push a PR if any of these suggestions are agreeable.
How can we reproduce it?
Deploy a Release
The text was updated successfully, but these errors were encountered: