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 1510153

Summary: ServiceBinding reconciliation errors prevent binding from being deleted (broker not started)
Product: OpenShift Container Platform Reporter: Jay Boyd <jaboyd>
Component: Service BrokerAssignee: Jay Boyd <jaboyd>
Status: CLOSED CURRENTRELEASE QA Contact: Zhang Cheng <chezhang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.7.0CC: aos-bugs, chezhang, jmatthew, pmorie, smunilla
Target Milestone: ---   
Target Release: 3.9.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: service-catalog image(v0.1.3), Doc Type: Bug Fix
Doc Text:
Cause: If a Service Broker was not able to process a request to create a ServiceBinding, the ServiceBinding and associated ServiceInstance may not be deleted. Consequence: Service Catalog objects such as ServiceBindings or ServiceInstances may be left in a state where they can't be deleted and they may prevent namespace deletion as well. Fix: If a Service Broker is unable to process a bind request, the ServiceBinding can now be deleted. Result: Service Catalog metadata can be properly deleted.
Story Points: ---
Clone Of: 1509029 Environment:
Last Closed: 2018-06-18 17:34:31 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-06 19:34:30 UTC
+++ This bug was initially created as a clone of Bug #1509029 +++

It covers reproduction case #1 as detailed in

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:

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.

Comment 2 Jay Boyd 2018-01-25 14:59:57 UTC
This is fixed and working properly in 3.9 MASTER.

steps to verify:
kubectl create -f ../../kubernetes-incubator/service-catalog/contrib/examples/walkthrough/ups-broker.yaml 
kubectl create namespace test-ns
kubectl create -f ../../kubernetes-incubator/service-catalog/contrib/examples/walkthrough/ups-instance.yaml 
kubectl create -f ../../kubernetes-incubator/service-catalog/contrib/examples/walkthrough/ups-binding.yaml 
kubectl delete servicebindings -n test-ns ups-binding
kubectl delete serviceinstance -n test-ns ups-instance

Comment 3 Zhang Cheng 2018-01-26 05:32:23 UTC
I'm changing status to ON_QA since downstream image ready for test.