Skip to content

Indicate if a Service Instance is still usable after a failed update or deprovisioning and if an update can be repeated #661

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

Merged
merged 4 commits into from
Jul 23, 2019

Conversation

fmui
Copy link
Contributor

@fmui fmui commented May 8, 2019

What is the problem this PR solves?
This PR is a subset of PR #637. It only contains the non-controversial instance_usable and update_repeatable flags.

Checklist:

  • The swagger.yaml doc has been updated with any required changes
  • The openapi.yaml doc has been updated with any required changes

@cfdreddbot
Copy link

✅ Hey fmui! The commit authors and yourself have already signed the CLA.

spec.md Outdated
@@ -1734,6 +1760,14 @@ $ curl 'http://username:password@service-broker-url/v2/service_instances/:instan
Responses with any other status code MUST be interpreted as a failure and the
Platform MUST remember the Service Instance.

When a deprovisioning fails, the Service Instance can still be usable or
unusable or its state could be unknown. If a Service Instance became unusable,
the Platform SHOULD NOT allow the creation of new bindings.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure if this is just me being pedantic, but don't we generally try to describe things in terms of the platform/broker relationship? As currently worded, this seems to be more describing the internal behavior of the platform itself. Wouldn't it make more sense if it was worded something like "If a Service Instance becomes unusable the Platform SHOULD NOT request new Service Bindings for that Service Instance."

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point. I've changed that sentence.

@georgi-lozev
Copy link
Contributor

Looks good from SAPI point of view.

@mattmcneeney mattmcneeney added this to the 2.16 milestone Jun 24, 2019
@mattmcneeney
Copy link
Contributor

@tinygrasshopper we need your vote!

@fmui fmui closed this Jul 23, 2019
@fmui fmui deleted the instance-state3 branch July 23, 2019 10:29
@fmui fmui restored the instance-state3 branch July 23, 2019 14:06
@fmui fmui reopened this Jul 23, 2019
@cfdreddbot
Copy link

✅ Hey fmui! The commit authors and yourself have already signed the CLA.

@fmui fmui merged commit c2ef170 into cloudfoundry:master Jul 23, 2019
gberche-orange added a commit to orange-cloudfoundry/osb-cmdb that referenced this pull request Apr 26, 2021
   * [ ] Test update https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#response-5
      * [x] Implement update error recovery
         * Check si, if an update operation is in progress, then return 202 accepted,
         * otherwise 500 bad request if update request was previously accepted
         * otherwise 400 bad request otherwise
         * OSB api v2.16 will be supporting error details such as "usable", see cloudfoundry/servicebroker#661
            * But not yet implemented in CF API v3 http://v3-apidocs.cloudfoundry.org/version/3.83.0/index.html#create-a-service-instance
            * Nor in SC-OSB
      * [x] Refine USI sync success test: sync update will trigger a new backing update and not enter error recovery branch, just perform the update twise
         * [x] OSB provision dupl same SI: check same dupl receives right status
            * [x] 200 Ok as backing service was completed
gberche-orange added a commit to orange-cloudfoundry/osb-cmdb that referenced this pull request Apr 26, 2021
…ate + handle invalid plan/service-definion id

   * [x] Test update https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#response-5
      * [x] Implement update error recovery
         * Check si, if an update operation is in progress, then return 202 accepted,
         * otherwise 500 bad request if update request was previously accepted
         * otherwise 400 bad request otherwise
         * OSB api v2.16 will be supporting error details such as "usable", see cloudfoundry/servicebroker#661
            * But not yet implemented in CF API v3 http://v3-apidocs.cloudfoundry.org/version/3.83.0/index.html#create-a-service-instance
            * Nor in SC-OSB
      * [x] Refine USI sync success test: sync update will trigger a new backing update and not enter error recovery branch, just perform the update twise
         * [x] OSB provision dupl same SI: check same dupl receives right status
            * [x] 200 Ok as backing service was completed
      * [x] Check UpdateAsyncInstanceWithBackingServiceAcceptanceTest does
         * [x] USI
         * [x] OSB provision dupl same SI: check same dupl receives right status
            * [x] 202 accepted, and then 200
      * [x] New concurrent stalled Update async test (ConcurrentAsyncUpdateInstanceWithBackingServiceAcceptanceTest) that does
         * [x] New interceptor StalledAsyncUpdate
         * [x] USI
         * [x] OSB provision dupl same SI: check same dupl receives right status
            * [x] 202 Accepted as backing service is still in progress
         * [x] OSB update with invalid plan
            * [x] 400 Bad request
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.

6 participants