Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1509029

Summary: ServiceBinding reconciliation errors prevent binding from being deleted (unbindable class)
Product: OpenShift Container Platform Reporter: Jay Boyd <jaboyd>
Component: Service BrokerAssignee: Jay Boyd <jaboyd>
Status: CLOSED ERRATA QA Contact: Zhang Cheng <chezhang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.7.0CC: aos-bugs, pmorie, smunilla, wsun
Target Milestone: ---   
Target Release: 3.9.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1510153 (view as bug list) Environment:
Last Closed: 2018-12-13 19:26:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
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

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
partial fix in

Comment 2 Paul Morie 2017-11-06 15:10:45 UTC
Fixed in origin with

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 to be fixed and vendored.


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:
kind: ServiceBinding
  name: ups-binding
  namespace: proj
    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.