kubernetes-retired / service-catalog

Consume services in Kubernetes using the Open Service Broker API
https://svc-cat.io
Apache License 2.0
1.05k stars 385 forks source link

Support for asynchronous binding operations #2894

Closed jayeshjk closed 2 years ago

jayeshjk commented 3 years ago

Bug Report

What happened: OSB Specification introduced support for asynchronous binding operations in v2.14 . For this, the platform should include accepts_incomplete=true query parameter in binding request. We observed that, this parameter is not being included by default in the binding request from svcat. The broker we work with rejects such binding request as per the guidelines in OSB specification . See following terminal excerpts:

$ svcat describe binding demo2
  Name:        demo2
  Namespace:   default
  Status:      Failed - ServiceBroker returned failure; bind operation will not be retried: Status: 422; ErrorMessage: <nil>; Description: <nil>; ResponseError: invalid character 's' looking for beginning of value @ 2021-06-30 10:34:31 +0000 UTC
  Secret:      demo2
  Instance:    demo1

Excerpts from the broker logs:

2021-06-30T10:34:31.312Z - error: Unhandled error: This Service Instance requires client support for asynchronous binding operations.
{
  "name": "UnprocessableEntity",
  "statusCode": 10001,
  "status": 422,
  "reason": "AsyncRequired"
}
2021-06-30T10:34:31.315Z - info: ::ffff:100.96.0.15 - admin [30/Jun/2021:10:34:31 +0000] "PUT /sm/v2/service_instances/29cb55dc-77f7-47dc-9030-a68339e643f6/service_bindings/865e1a44-1f67-4da8-b642-3d677e6ee0e2 HTTP/1.1" 422 2588 "-" "Go-http-client/1.1"

What you expected to happen: Query parameter accepts_incomplete=true should be included in binding request so that broker can process asynchronous binding requests. Further last_operation calls might be needed as per guidelines in OSB Spec

How to reproduce it (as minimally and precisely as possible): Try to perform binding operation with the brokers which support only asynchronous binding.

Anything else we need to know?: NA

Environment:

k8s-triage-robot commented 3 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

jayeshjk commented 3 years ago

/remove-lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

anoopjb commented 2 years ago

/remove-lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

anoopjb commented 2 years ago

/remove-lifecycle rotten

mrbobbytables commented 2 years ago

This project is being archived, closing open issues and PRs. Please see this PR for more information: https://github.com/kubernetes/community/pull/6632