|Summary:||ServiceBinding reconciliation errors prevent binding from being deleted (unbindable class)|
|Product:||OpenShift Container Platform||Reporter:||Jay Boyd <jaboyd>|
|Component:||Service Broker||Assignee:||Jay Boyd <jaboyd>|
|Status:||CLOSED ERRATA||QA Contact:||Zhang Cheng <chezhang>|
|Version:||3.7.0||CC:||aos-bugs, pmorie, smunilla, wsun|
|Fixed In Version:||Doc Type:||No Doc Update|
|:||1510153 (view as bug list)||Environment:|
|Last Closed:||2018-12-13 19:26:48 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Jay Boyd 2017-11-02 18:03:08 UTC
This bug ensures we cover tracking & testing of https://github.com/kubernetes-incubator/service-catalog/issues/1423 If the ServiceBinding is in an error state, it can block deletion of the binding. Version-Release number of selected component (if applicable): 3.7 How reproducible: Always Steps to Reproduce: I've seen several examples of this: Reproduction #1. Go through the walkthrough without starting the service broker. A. kubectl create -f contrib/examples/walkthrough/ups-broker.yaml B. kubectl create namespace test-ns C. kubectl create -f contrib/examples/walkthrough/ups-instance.yaml D. kubectl create -f contrib/examples/walkthrough/ups-binding.yaml E. At this point you can't get rid of the binding. Try kubectl delete -n test-ns servicebindings ups-binding F. The instance can't be deleted either because of the associated binding. Reproduction #2. I used a Service Broker that had a non-bindable ClusterServiceClass. I created a binding, but then the controller just kept logging an error like " 'Warning' reason: 'ErrorNonbindableServiceClass' References a non-bindable ClusterServiceClass (K8S: "ab24ffd54da0aefdea5277e0edce8425" ExternalName: "dh-hastebin-apb") and Plan ("default") combination" and I couldn't delete the binding. I'm kind of lite on the details in #2 but I can reproduce if necessary (OpenShift with the Ansible Service Broker and hastebin service). I believe another variation of example 1 can be achieved by modifying contrib/examples/walkthrough/ups-instance.yaml to point to a bogus class name.
Comment 1 Jay Boyd 2017-11-02 18:11:11 UTC
Comment 2 Paul Morie 2017-11-06 15:10:45 UTC
Fixed in origin with https://github.com/openshift/origin/pull/17166
Comment 3 Jay Boyd 2017-11-06 19:36:51 UTC
I cloned this bug to 1510153 and split up the 2 error cases. Error case #1 is moved to 1510153, this bug only covers use case #2 (binding a non-bindable ClusterServiceClass).
Comment 5 Jay Boyd 2017-11-06 20:29:36 UTC
not fixed (I reproduced). Looks like this requires upstream https://github.com/kubernetes-incubator/service-catalog/pull/1526 to be fixed and vendored. Reopening.
Comment 9 Jay Boyd 2018-01-25 14:53:28 UTC
This is fixed in 3.9 MASTER. via webconsole, create serviceinstance for Hastebin (APB). use this ups-binding.yaml: apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceBinding metadata: name: ups-binding namespace: proj spec: instanceRef: name: dh-hastebin-apb-mwxk2 oc create -f ups-binding.yaml oc describe servicebindings -n proj ups-binding shows the binding can not be ready and is in a ready=false status. oc delete servicebindings -n proj ups-binding successfully deletes the binding.
Comment 10 Zhang Cheng 2018-01-26 05:39:33 UTC
I'm changing status to ON_QA since downstream image is ready for test.
Comment 12 Zhang Cheng 2018-01-26 05:42:04 UTC
Remove "needinfo" label since have correct target release at present.
Comment 15 errata-xmlrpc 2018-12-13 19:26:48 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:3748