Do not fail service instance on broker server error #3607
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Is there a related GitHub Issue?
No
What is this change about?
Do not fail service instance on broker server error
Previously we were setting the ProvisioningFailedCondition to true if
the broker returned error on provision, no matter the error. The problem
with doing this is that the error can be recoverable, such as the
network flaking, but the instance is sent to a state from which it
cannot recover (When the ProvisioningFailedCondition is set the
reconciler gives up early in the reconciliation loop).
This change fixes the problem described above by defining a new
UnrecoverableError type in the osbapi client. The controller would then set the
ProvisioningFailedCondition only if the error it received is an
UnrecoverableError.
According to the OSBAPI spec unrecoverable perovision error codes are
400, 409 and 422.