project-koku / curator-operator

Go Operator for OpenShift metrics
5 stars 11 forks source link

The fetchdata-operator panics when a FetchDatch custom resource is created without a metadata.Namespace paramater #23

Closed timflannagan closed 2 years ago

timflannagan commented 2 years ago

When running the curator stack locally, and creating the following FetchData custom resource, the fetchdata-operator panics when reconciling this resource:

```console $ kind create cluster ; make install ... $ cat fetchdata.yaml apiVersion: curator.operatefirst.io/v1alpha1 kind: FetchData metadata: name: stub spec: {} $ make run make run /home/tflannag/Documents/curator-operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases /home/tflannag/Documents/curator-operator/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..." go fmt ./... go vet ./... go run ./main.go 1.6486981118777003e+09 INFO controller-runtime.metrics Metrics server is starting to listen {"addr": ":8080"} 1.6486981118787484e+09 INFO setup starting manager 1.6486981118792877e+09 INFO Starting server {"path": "/metrics", "kind": "metrics", "addr": "[::]:8080"} 1.6486981118792877e+09 INFO Starting server {"kind": "health probe", "addr": "[::]:8081"} 1.6486981118794794e+09 INFO controller.report Starting EventSource {"reconciler group": "curator.operatefirst.io", "reconciler kind": "Report", "source": "kind source: *v1alpha1.Report"} 1.6486981118795924e+09 INFO controller.report Starting EventSource {"reconciler group": "curator.operatefirst.io", "reconciler kind": "Report", "source": "kind source: *v1alpha1.CuratorConfig"} 1.648698111879557e+09 INFO controller.fetchdata Starting EventSource {"reconciler group": "curator.operatefirst.io", "reconciler kind": "FetchData", "source": "kind source: *v1alpha1.FetchData"} 1.6486981118796306e+09 INFO controller.report Starting Controller {"reconciler group": "curator.operatefirst.io", "reconciler kind": "Report"} 1.648698111879671e+09 INFO controller.fetchdata Starting Controller {"reconciler group": "curator.operatefirst.io", "reconciler kind": "FetchData"} 1.6486981119818673e+09 INFO controller.report Starting workers {"reconciler group": "curator.operatefirst.io", "reconciler kind": "Report", "worker count": 1} 1.6486981119830337e+09 INFO controller.fetchdata Starting workers {"reconciler group": "curator.operatefirst.io", "reconciler kind": "FetchData", "worker count": 1} 1.648698112084617e+09 DPANIC controller.fetchdata odd number of arguments passed as key-value pairs for logging {"reconciler group": "curator.operatefirst.io", "reconciler kind": "FetchData", "name": "stub", "namespace": "default", "ignored key": "an empty namespace may not be set during creation"} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:114 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:311 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227 panic: odd number of arguments passed as key-value pairs for logging goroutine 176 [running]: go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc0004b8000, {0xc0001bb380, 0x1, 0x1}) /home/tflannag/go/pkg/mod/go.uber.org/zap@v1.19.1/zapcore/entry.go:232 +0x446 go.uber.org/zap.(*Logger).DPanic(0x163ee90, {0x168b5c2, 0x146f3a0}, {0xc0001bb380, 0x1, 0x1}) /home/tflannag/go/pkg/mod/go.uber.org/zap@v1.19.1/logger.go:220 +0x59 github.com/go-logr/zapr.(*zapLogger).handleFields(0xc000696f90, 0x0, {0xc0004902d0, 0x1, 0x40c9dd}, {0x0, 0x1553400, 0x1}) /home/tflannag/go/pkg/mod/github.com/go-logr/zapr@v1.2.0/zapr.go:145 +0xdea github.com/go-logr/zapr.(*zapLogger).Info(0xc000696f90, 0x0, {0x16514f4, 0x0}, {0xc0004902d0, 0x1, 0x1}) /home/tflannag/go/pkg/mod/github.com/go-logr/zapr@v1.2.0/zapr.go:198 +0x8d github.com/go-logr/logr.Logger.Info({{0x185e5a0, 0xc000696f90}, 0xc000696f60}, {0x16514f4, 0x1c}, {0xc0004902d0, 0x1, 0x1}) /home/tflannag/go/pkg/mod/github.com/go-logr/logr@v1.2.0/logr.go:249 +0xd0 github.com/operate-first/curator-operator/controllers.(*FetchDataReconciler).Reconcile(0xc0002ca858, {0x18420f8, 0xc000696f60}, {{{0xc00062ca44, 0x1585fc0}, {0xc00062ca40, 0x30}}}) /home/tflannag/Documents/curator-operator/controllers/fetchdata_controller.go:78 +0x199 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0xc0004ec6e0, {0x18420f8, 0xc000696ea0}, {{{0xc00062ca44, 0x1585fc0}, {0xc00062ca40, 0x415694}}}) /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:114 +0x26f sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0004ec6e0, {0x1842050, 0xc0001bb780}, {0x14dd900, 0xc00063a3a0}) /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:311 +0x33e sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0004ec6e0, {0x1842050, 0xc0001bb780}) /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266 +0x205 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2() /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227 +0x85 created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 /home/tflannag/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:223 +0x357 exit status 2 make: *** [Makefile:117: run] Error 1 ```