servicebinding
servicebinding copied to clipboard
ServiceBinding ready status condition does not transition to False when referenced service gets deleted
Bug description
I think I’ve found a potential bug (testing on v0.7.2) regarding the READY status of a ServiceBinding resource when the ProvisionedService referred to at .spec.service gets deleted
Expected behavior
I would expect that if the service referred to at .spec.service gets deleted, that the ServiceBinding would transition into READY=False, however it doesn’t, it remains at READY=True.
Steps to reproduce the bug
$ kubectl apply -f samples/provisioned-service/
$ kubectl get servicebinding provisioned-service
NAME READY REASON AGE
provisioned-service True Ready 93s
$ kubectl delete provisionedservice provisioned-service
$ kubectl get servicebinding provisioned-service
NAME READY REASON AGE
provisioned-service True Ready 3m3s # expected to be READY=False?
Version (Tanzu Application Platform verision, K8s version)
TAP 1.2 / k8s 1.23
Environment where the bug was observed (cloud, OS, etc)
On a kind cluster
Relevant Debug Output (Logs, etc)
{"level":"error","ts":"2022-08-22T08:36:43.454497946Z","logger":"webhook","caller":"servicebinding/reconciler.go:291","msg":"Returned an error","knative.dev/controller":"github.com.vmware-tanzu.servicebinding.pkg.reconcile
r.servicebinding.Reconciler","knative.dev/kind":"servicebinding.io.ServiceBinding","knative.dev/traceid":"4362a5e0-56b8-4e43-84f2-6160479a29cc","knative.dev/key":"sb-testing/provisioned-service","targetMethod":"ReconcileKind","error":"failed to get resour
ce for bindings.labs.vmware.com/v1alpha1, Resource=provisionedservices: provisionedservices.bindings.labs.vmware.com \"provisioned-service\" not found","stacktrace":"github.com/vmware-tanzu/servicebinding/pkg/client/injection/reconciler/servicebinding/v1a
lpha3/servicebinding.(*reconcilerImpl).Reconcile\n\tgithub.com/vmware-tanzu/servicebinding/pkg/client/injection/reconciler/servicebinding/v1alpha3/servicebinding/reconciler.go:291\nknative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/pkg@
v0.0.0-20210902173607-983897f9e37f/controller/controller.go:530\nknative.dev/pkg/controller.(*Impl).RunContext.func3\n\tknative.dev/[email protected]/controller/controller.go:468"}
{"level":"error","ts":"2022-08-22T08:36:43.454560685Z","logger":"webhook","caller":"controller/controller.go:548","msg":"Reconcile error","knative.dev/controller":"github.com.vmware-tanzu.servicebinding.pkg.reconciler.serv
icebinding.Reconciler","knative.dev/kind":"servicebinding.io.ServiceBinding","duration":0.000317159,"error":"failed to get resource for bindings.labs.vmware.com/v1alpha1, Resource=provisionedservices: provisionedservices.bindings.labs.vmware.com \"provisi
oned-service\" not found","stacktrace":"knative.dev/pkg/controller.(*Impl).handleErr\n\tknative.dev/[email protected]/controller/controller.go:548\nknative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/[email protected]
902173607-983897f9e37f/controller/controller.go:531\nknative.dev/pkg/controller.(*Impl).RunContext.func3\n\tknative.dev/[email protected]/controller/controller.go:468"}
{"level":"info","ts":"2022-08-22T08:36:43.455023028Z","logger":"webhook.event-broadcaster","caller":"record/event.go:282","msg":"Event(v1.ObjectReference{Kind:\"ServiceBinding\", Namespace:\"sb-testing\", Name:\"provisione
d-service\", UID:\"1eda0046-ed38-432a-9c18-d5bf9cbbf68b\", APIVersion:\"servicebinding.io/v1alpha3\", ResourceVersion:\"91998317\", FieldPath:\"\"}): type: 'Warning' reason: 'InternalError' failed to get resource for bindings.labs.vmware.com/v1alpha1, Res
ource=provisionedservices: provisionedservices.bindings.labs.vmware.com \"provisioned-service\" not found"}