Bug 1509029 - ServiceBinding reconciliation errors prevent binding from being deleted (unbindable class)
Summary: ServiceBinding reconciliation errors prevent binding from being deleted (unbi...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Service Broker
Version: 3.7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 3.9.0
Assignee: Jay Boyd
QA Contact: Zhang Cheng
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-02 18:03 UTC by Jay Boyd
Modified: 2018-12-13 19:26 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
undefined
Clone Of:
: 1510153 (view as bug list)
Environment:
Last Closed: 2018-12-13 19:26:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:3748 0 None None None 2018-12-13 19:26:58 UTC

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
partial fix in https://github.com/kubernetes-incubator/service-catalog/pull/1522

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


Note You need to log in before you can comment on or make changes to this bug.