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

Allow updated dashboard_url to be returned by update service instance #437

Merged
merged 2 commits into from
May 16, 2018

Conversation

duglin
Copy link
Contributor

@duglin duglin commented Feb 1, 2018

We have cases where upon doing an update we have a new dashboard_url
for the service instance. This PR allows for the Platform to indicate
that it supports the Broker sending back a new URL, and it allows for
the Broker to do it.

Signed-off-by: Doug Davis dug@us.ibm.com

@cfdreddbot
Copy link

Hey duglin!

Thanks for submitting this pull request! I'm here to inform the recipients of the pull request that you and the commit authors have already signed the CLA.

@mattmcneeney
Copy link
Contributor

Hey @duglin Can you explain the use case for changing the dashboard_url a bit more?

Does this happen when changing plans?

I wonder if either the GET endpoints or extensions proposals could help here...

@avade
Copy link
Contributor

avade commented Feb 1, 2018

I like the idea of the service broker being able to indicate to the platform that it should do a GET. Would work well in the async world.

Likely need to think more on this, also interested in the use case.

@mattmcneeney
Copy link
Contributor

This could also be an opportunity to help brokers who may not be able to return a dashboard_url at the start of an async provision (this has always felt weird to me).

@duglin
Copy link
Contributor Author

duglin commented Feb 1, 2018

@mattmcneeney we have situations where updating the plan or parameters causes something similar to a migration and as a result a new dashboard_url is needed. In our cases the URL/creds of the service itself don't change, just the dashboard_url.

@duglin duglin force-pushed the updateResponse branch 2 times, most recently from 05fa96f to 3ead207 Compare February 18, 2018 20:41
@fmui
Copy link
Member

fmui commented Feb 20, 2018

@mattmcneeney We also have brokers that cannot return a dashboard_url at the start of an async provision. Something like this might help.

@n3wscott
Copy link
Contributor

n3wscott commented Feb 21, 2018

LGTM

I think this is a good idea. It means that the broker could return a dashboard url which could be the pending or history page and then on update could repoint to the final or updated dashboard url.

Approved with PullApprove

@duglin
Copy link
Contributor Author

duglin commented Feb 27, 2018

3 more needed

@@ -1003,10 +1003,22 @@ For success responses, the following fields are defined:

| Response Field | Type | Description |
| --- | --- | --- |
| dashboard_url | string | The updated URL of a web-based management user interface for the Service Instance; we refer to this as a service dashboard. The URL MUST contain enough information for the dashboard to identify the resource being accessed (`0129d920a083838` in the example below). Note: a Service Broker that wishes to return `dashboard_url` for a Service Instance MUST return it with the initial response to the update request, even if the service is updated asynchronously. If present, MUST be a non-empty string. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really the updated URL?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not following your question

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume he means that it's not necessarily updated? It could be the original one?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's an impl choice I guess - we don't mandate the value sent.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The (possibly) updated URL?

@mattmcneeney
Copy link
Contributor

I’m happy to move this into validation through implementation, but whoever picks this up, it would be good to weigh up the pros and cons of using the new service instance GET endpoint to look for an updated dashboard URL after an update has completed vs adding this additional logic.

Using the GET endpoint has the additional benefit of working for async updates where the broker cannot return the dashboard URL at the start of the operation.

@duglin
Copy link
Contributor Author

duglin commented Mar 13, 2018

Agreed to move to validate- thru-impl on today's call

@duglin duglin changed the title Add support for accepts_updates=true on Update operation Allow updated metadata to be returned on an update() Mar 13, 2018
@mattmcneeney mattmcneeney changed the title Allow updated metadata to be returned on an update() Allow updated dashboard_url to be returned by update service instance Apr 4, 2018
@jberkhahn
Copy link
Contributor

This has been implemented in Kube Service Catalog, see the linked PR's up above and review this for merging into the spec.

Doug Davis added 2 commits May 8, 2018 10:43
We have cases where upon doing an update we have a new dashboard_url
for the service instance. This PR allows for the Platform to indicate
that it supports the Broker sending back a new URL, and it allows for
the Broker to do it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Signed-off-by: Doug Davis <dug@us.ibm.com>
@duglin
Copy link
Contributor Author

duglin commented May 8, 2018

rebased and ready for review. Removing the "validate thru impl" flag per today's call.

@n3wscott
Copy link
Contributor

n3wscott commented May 14, 2018

LGTM

Approved with PullApprove

@duglin
Copy link
Contributor Author

duglin commented May 15, 2018

Need some reviews of this

@duglin
Copy link
Contributor Author

duglin commented May 15, 2018

ping @pmorie @vaikas-google @fmui @zrob

@vaikas
Copy link
Contributor

vaikas commented May 15, 2018

LGTM

Approved with PullApprove

1 similar comment
@zrob
Copy link
Member

zrob commented May 15, 2018

LGTM

Approved with PullApprove

@n3wscott n3wscott merged commit 611c87e into openservicebrokerapi:master May 16, 2018
| operation | string | For asynchronous responses, Service Brokers MAY return an identifier representing the operation. The value of this field MUST be provided by the Platform with requests to the [Last Operation](#polling-last-operation) endpoint in a percent-encoded query parameter. If present, MUST be a non-empty string. |

The ability to include updated metadata in the response message was
added in version 2.14. Any Platform sending an API Version Header with a
value of 2.14 or greater MUST use the new values specified in the response
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@n3wscott @duglin This seems to conflict with the compatibility matrix? We are saying platforms MUST support this in v2.14 and later.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah it should be added, and that is why we need to commit the matrix PR :D

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'm confused! This feature shouldn't be in the matrix (which implies platforms MAY support it) if we are using MUST here, right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants