Binding operation in cloud foundry supports synchronous and asynchronous execution of the operation. Today Stratos UI does not support asynchronous mode and this requirement is about enhancing the UI to support asynchronous mode.
Context
Using asynchronous has many advantages which is why some of our service brokers use it not only for create/delete but also bind/unbind.
The cf cli supports asynchronous bindings already:
cf bind-service will kickoff the binding operation and detach if operation is async
Status can be retrieved with cf service see below
cf service my-service
Showing info of service my-service in org my-org / space my-space as myself
name: some-name
guid: 80e0ebf9-462a-4434-83a7-4456c608350b
type: managed
broker: some-broker
offering: some-offering
plan: some-plan
tags:
....
Showing status of last operation:
status: update succeeded
message:
started: 2023-10-30T13:37:41Z
updated: 2023-10-30T13:37:41Z
Showing bound apps:
name binding name status message
my-app create succeeded
...
Possible Implementation
Suggested behaviour of the UI
Binding operation will work also for services that have set their binding operation to async mode
Service item gets an additional attribute "Last binding" which shows status and the truncated message if applicable for the last operation on a binding associated with that service.
It will display binding with the most recent change timestamp prefering items in state "in progress" over "failed" or "done". Displaying a complete table as in cli is desirable but considered to be complicated for a first iteration.
Text needs to be truncated as the message can be pretty long
Detailed Description
Binding operation in cloud foundry supports synchronous and asynchronous execution of the operation. Today Stratos UI does not support asynchronous mode and this requirement is about enhancing the UI to support asynchronous mode.
Context
Using asynchronous has many advantages which is why some of our service brokers use it not only for create/delete but also bind/unbind.
The cf cli supports asynchronous bindings already:
Possible Implementation
Suggested behaviour of the UI
Mock screen see here