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

Support synchronous managed service instance binding creation #3482

Open
georgethebeatle opened this issue Sep 18, 2024 · 0 comments
Open

Support synchronous managed service instance binding creation #3482

georgethebeatle opened this issue Sep 18, 2024 · 0 comments

Comments

@georgethebeatle
Copy link
Member

Background

According to the OSBAPI spec the broker may create the service instance binding synchronously and respond with 201 Created. The spec does not make it clear if getting last operation status will be possible in this case. Some brokers may not be serving the service instance binding last operation endpoint for synchronous creates, so we should make sure we only get last operation when the broker responeded with 202 Accepted and fetch the binding via GET /v2/service_instances/:instance_id/service_bindings/:binding_id otherwise.

Acceptance

GIVEN a managed CFServiceInstance and CFServiceBining resources are created
WHEN the broker responds with 201 Created to the PUT /v2/service_instances/:instance_id/service_bindings/:binding_id request
THEN the CFServiceBinding becomes ready and the binding credentials secret is available in its status
AND no GET /v2/service_instances/:instance_id/service_bindings/:binding_id/last_operation request was sent to the OSBAPI broker

Dev Notes

  • As the synchronous/asynchronous nature of the OSBAPI request is a low level implementation detail it is not practical to write high level tests (e2e/smoke) for this feature. Instead we should test it with a controller test, where the OSBAPI client is a fake, which makes it easy to check what requests have been performed against the broker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🇪🇺 To do
Development

No branches or pull requests

2 participants