-
Notifications
You must be signed in to change notification settings - Fork 420
Description
This PR clarified clean up scenarios when the broker return unexpected error codes. However in addition it added a new MUST:
If the successful response includes a `state` of `failed` then the Platform
MUST send a deprovision request to the Service Broker to prevent an orphan
being created on the Service Broker.
I see this type of cleanup as different to orphan mitigation. Orphan mitigation ensures the platform and broker have a common understanding of what resources exist (to avoid the broker having a resource that the platform is unaware of that a user is being charged for). In this case both the platform and broker knows about the failure. However the spec is dictating that the platform cleanup the resource rather it being triggered by a user - this is beyond orphan mitigation.
Since this MUST was added in 2.14, in CF we simply report the failure back to the user and then allow them to call deprovision in their own time. This for example opens up the ability to investigate the failure before the resources are cleaned up.
I guess this comes down to how much the platform "manages" the lifecycle of instances and what it does on behalf of the user. I wonder if this should be loosened to a MAY to allow platforms to have an opinion on this.
Additionally, technically this was breaking change in the last release as a new MUST was introduced and fixing it would be another breaking change.