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   
Whiteboard:
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:
Embargoed:

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 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:

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.