Skip to content
This repository has been archived by the owner on Jun 26, 2024. It is now read-only.

panic on invalid sourceValue #967

Closed
kadel opened this issue May 20, 2021 · 2 comments · Fixed by #1015
Closed

panic on invalid sourceValue #967

kadel opened this issue May 20, 2021 · 2 comments · Fixed by #1015
Assignees
Labels
kind/bug Something isn't working priority/high
Milestone

Comments

@kadel
Copy link
Member

kadel commented May 20, 2021

What is the environment (Minikube, Openshift)?

CodeReady Containers version: 1.26.0+31f06c09
OpenShift version: 4.7.8 (embedded in executable)

What is the SBO version used?

v0.7.1

What are the steps to reproduce this issue?

  1. add an annotation to Service with invalid sourceValue
service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf
  1. create ServiceBinding between deployment and Service that has above annotation.

What is the expected behaviour?

stats.condition should have an error telling me that I have specified invalid sourceValue

What is the actual behaviour?

operator throws panic

Service Binding Operator Logs

E0520 16:39:21.734840       1 runtime.go:78] Observed a panic: &reflect.ValueError{Method:"reflect.Value.Interface", Kind:0x0} (reflect: call of reflect.Value.Interface on zero Value)
goroutine 346 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x1538ee0, 0xc000573ed8)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0xa6
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x86
panic(0x1538ee0, 0xc000573ed8)
	/usr/lib/golang/src/runtime/panic.go:965 +0x1b9
reflect.valueInterface(0x0, 0x0, 0x0, 0xc000355c01, 0x9, 0x7f3f88777f18)
	/usr/lib/golang/src/reflect/value.go:1021 +0x1ad
reflect.Value.Interface(...)
	/usr/lib/golang/src/reflect/value.go:1016
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0xc0008c99a0, 0x15, 0x1906688, 0xc000a8ebd0, 0x18f4b40, 0xc00007b900, 0x14fa440, 0xc0009a3950, 0x98, 0x0, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:192 +0x44e
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0x0, 0x0, 0x1906688, 0xc000a8ebd0, 0x18f4b40, 0xc00007b900, 0x14fa440, 0xc0009a3930, 0x98, 0x1544c60, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:185 +0x7a5
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.BindingItems(0x1906688, 0xc000a8ebd0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:87 +0x390
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline.HandlerFunc.Handle(0x17a9130, 0x1906688, 0xc000a8ebd0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/api.go:160 +0x3a
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder.(*impl).Process(0xc0007f5710, 0xc0009ee1c0, 0xb, 0xc0004e3020, 0x2)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder/pipeline.go:26 +0xd8
github.com/redhat-developer/service-binding-operator/controllers.(*ServiceBindingReconciler).Reconcile(0xc000518000, 0xc00048dc50, 0xa, 0xc00048dc34, 0xa, 0xc0009a31f0, 0xc000229170, 0xc0004feb48, 0xc0004feb40)
	/tmp/github.com/redhat-developer/service-binding-operator/controllers/servicebinding_controller.go:88 +0x5d8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00016d3b0, 0x159c2c0, 0xc00003bac0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:244 +0x2a9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00016d3b0, 0xc0003b9800)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:218 +0xb0
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(...)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:197
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc000523d00)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5f
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc000523d00, 0x18bda00, 0xc0009612c0, 0x1, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0x9b
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000523d00, 0x3b9aca00, 0x0, 0x1, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/apimachinery/pkg/util/wait.Until(0xc000523d00, 0x3b9aca00, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:179 +0x3d6
panic: reflect: call of reflect.Value.Interface on zero Value [recovered]
	panic: reflect: call of reflect.Value.Interface on zero Value

goroutine 346 [running]:
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:55 +0x109
panic(0x1538ee0, 0xc000573ed8)
	/usr/lib/golang/src/runtime/panic.go:965 +0x1b9
reflect.valueInterface(0x0, 0x0, 0x0, 0xc000355c01, 0x9, 0x7f3f88777f18)
	/usr/lib/golang/src/reflect/value.go:1021 +0x1ad
reflect.Value.Interface(...)
	/usr/lib/golang/src/reflect/value.go:1016
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0xc0008c99a0, 0x15, 0x1906688, 0xc000a8ebd0, 0x18f4b40, 0xc00007b900, 0x14fa440, 0xc0009a3950, 0x98, 0x0, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:192 +0x44e
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0x0, 0x0, 0x1906688, 0xc000a8ebd0, 0x18f4b40, 0xc00007b900, 0x14fa440, 0xc0009a3930, 0x98, 0x1544c60, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:185 +0x7a5
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.BindingItems(0x1906688, 0xc000a8ebd0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:87 +0x390
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline.HandlerFunc.Handle(0x17a9130, 0x1906688, 0xc000a8ebd0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/api.go:160 +0x3a
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder.(*impl).Process(0xc0007f5710, 0xc0009ee1c0, 0xb, 0xc0004e3020, 0x2)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder/pipeline.go:26 +0xd8
github.com/redhat-developer/service-binding-operator/controllers.(*ServiceBindingReconciler).Reconcile(0xc000518000, 0xc00048dc50, 0xa, 0xc00048dc34, 0xa, 0xc0009a31f0, 0xc000229170, 0xc0004feb48, 0xc0004feb40)
	/tmp/github.com/redhat-developer/service-binding-operator/controllers/servicebinding_controller.go:88 +0x5d8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00016d3b0, 0x159c2c0, 0xc00003bac0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:244 +0x2a9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00016d3b0, 0xc0003b9800)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:218 +0xb0
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(...)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:197
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc000523d00)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5f
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc000523d00, 0x18bda00, 0xc0009612c0, 0x1, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0x9b
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000523d00, 0x3b9aca00, 0x0, 0x1, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/apimachinery/pkg/util/wait.Until(0xc000523d00, 0x3b9aca00, 0xc000480000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:179 +0x3d6

Additional Information (Screenshots, etc)

@kadel kadel added the kind/bug Something isn't working label May 20, 2021
@pedjak pedjak added this to the GA milestone Jul 15, 2021
@jasperchui
Copy link

jasperchui commented Jul 29, 2021

Associated with PR #993

@jasperchui jasperchui assigned jasperchui and isutton and unassigned jasperchui Jul 29, 2021
@pmacik
Copy link
Contributor

pmacik commented Sep 6, 2021

We've seen this happen in the Developer Sandbox with SBO 0.9.1:

E0906 14:42:33.026224       1 runtime.go:78] Observed a panic: &reflect.ValueError{Method:"reflect.Value.Interface", Kind:0x0} (reflect: call of reflect.Value.Interface on zero Value)
goroutine 472 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x16125a0, 0xc000c8e940)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0xa6
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x89
panic(0x16125a0, 0xc000c8e940)
	/usr/lib/golang/src/runtime/panic.go:969 +0x1b9
reflect.valueInterface(0x0, 0x0, 0x0, 0xc000900101, 0x10, 0xc000048000)
	/usr/lib/golang/src/reflect/value.go:1021 +0x1ad
reflect.Value.Interface(...)
	/usr/lib/golang/src/reflect/value.go:1016
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0x0, 0x0, 0x1a0bb20, 0xc00001c540, 0x19f5c40, 0xc00037e9c0, 0x15c9d20, 0xc000c9e500, 0x98, 0x0, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:259 +0x44c
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.BindingItems(0x1a0bb20, 0xc00001c540)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:90 +0x376
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline.HandlerFunc.Handle(0x18adc80, 0x1a0bb20, 0xc00001c540)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/api.go:168 +0x3a
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder.(*impl).Process(0xc00022ab40, 0x17ccea0, 0xc000847200, 0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder/pipeline.go:25 +0xd8
github.com/redhat-developer/service-binding-operator/controllers.(*BindingReconciler).Reconcile(0xc000083e60, 0xc000498e20, 0x11, 0xc000498d00, 0x17, 0xc000637f00, 0xc0008182d0, 0xc000542128, 0xc000542120)
	/tmp/github.com/redhat-developer/service-binding-operator/controllers/common.go:95 +0x622
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000156510, 0x168d9c0, 0xc00093c120, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:244 +0x2a9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000156510, 0xc0006d2000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:218 +0xb0
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc000156510)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:197 +0x2b
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc000124100)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5f
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc000124100, 0x19b5560, 0xc0006c6030, 0x1, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xad
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000124100, 0x3b9aca00, 0x0, 0x100000000000001, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/apimachinery/pkg/util/wait.Until(0xc000124100, 0x3b9aca00, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:179 +0x416
panic: reflect: call of reflect.Value.Interface on zero Value [recovered]
	panic: reflect: call of reflect.Value.Interface on zero Value

goroutine 472 [running]:
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:55 +0x10c
panic(0x16125a0, 0xc000c8e940)
	/usr/lib/golang/src/runtime/panic.go:969 +0x1b9
reflect.valueInterface(0x0, 0x0, 0x0, 0xc000900101, 0x10, 0xc000048000)
	/usr/lib/golang/src/reflect/value.go:1021 +0x1ad
reflect.Value.Interface(...)
	/usr/lib/golang/src/reflect/value.go:1016
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.collectItems(0x0, 0x0, 0x1a0bb20, 0xc00001c540, 0x19f5c40, 0xc00037e9c0, 0x15c9d20, 0xc000c9e500, 0x98, 0x0, ...)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:259 +0x44c
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect.BindingItems(0x1a0bb20, 0xc00001c540)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/collect/impl.go:90 +0x376
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline.HandlerFunc.Handle(0x18adc80, 0x1a0bb20, 0xc00001c540)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/api.go:168 +0x3a
github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder.(*impl).Process(0xc00022ab40, 0x17ccea0, 0xc000847200, 0x0, 0x0, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/builder/pipeline.go:25 +0xd8
github.com/redhat-developer/service-binding-operator/controllers.(*BindingReconciler).Reconcile(0xc000083e60, 0xc000498e20, 0x11, 0xc000498d00, 0x17, 0xc000637f00, 0xc0008182d0, 0xc000542128, 0xc000542120)
	/tmp/github.com/redhat-developer/service-binding-operator/controllers/common.go:95 +0x622
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000156510, 0x168d9c0, 0xc00093c120, 0x0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:244 +0x2a9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000156510, 0xc0006d2000)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:218 +0xb0
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc000156510)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:197 +0x2b
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc000124100)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5f
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc000124100, 0x19b5560, 0xc0006c6030, 0x1, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xad
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000124100, 0x3b9aca00, 0x0, 0x100000000000001, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/apimachinery/pkg/util/wait.Until(0xc000124100, 0x3b9aca00, 0xc0006d20c0)
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/tmp/github.com/redhat-developer/service-binding-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:179 +0x416

@pedjak pedjak modified the milestones: GA, 0.10.0 Sep 8, 2021
sadlerap pushed a commit to sadlerap/service-binding-operator that referenced this issue Sep 8, 2021
)

A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>
sadlerap pushed a commit to sadlerap/service-binding-operator that referenced this issue Sep 9, 2021
)

A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>
sadlerap pushed a commit to sadlerap/service-binding-operator that referenced this issue Sep 9, 2021
)

A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>
sadlerap pushed a commit to sadlerap/service-binding-operator that referenced this issue Sep 10, 2021
)

A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>
sadlerap pushed a commit to sadlerap/service-binding-operator that referenced this issue Sep 10, 2021
)

A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>
openshift-merge-robot pushed a commit that referenced this issue Sep 10, 2021
A service can have a sliceOfMaps-based element annotation.  For example:

    service.binding/java-maven_port: path={.spec.ports},elementType=sliceOfMaps,sourceKey=name,sourceValue=asdf

When sourceValue is incorrect, the operator would panic, since it didn't
verify that the sourceValue was incorrect.  Now, it sets an error
condition in the reconciler (which propogates to the binding status).

Signed-off-by: Andy Sadler <ansadler@redhat.com>

Co-authored-by: Igor Sutton <isuttonl@redhat.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Something isn't working priority/high
Projects
None yet
5 participants