-
Bug
-
Resolution: Done
-
Major
-
quay-v3.4.0
-
False
-
False
-
Undefined
-
Quay's builder config uses the weird Python heterogeneous tuple type (similar to distributed storage) with string/object entries. Operator's YAML parser does not like this:
2021-01-19T06:27:57.854Z INFO controller-runtime.metrics metrics server is starting to listen {"addr": ":8080"} 2021-01-19T06:27:57.854Z INFO setup starting server on port 7071 2021-01-19T06:27:57.854Z INFO setup starting manager 2021-01-19T06:27:57.855Z INFO controller-runtime.controller Starting EventSource {"controller": "quayecosystem", "source": "kind source: /, Kind="} 2021-01-19T06:27:57.855Z INFO controller-runtime.manager starting metrics server {"path": "/metrics"} 2021-01-19T06:27:57.856Z INFO controller-runtime.controller Starting EventSource {"controller": "quayregistry", "source": "kind source: /, Kind="} 2021-01-19T06:27:57.956Z INFO controller-runtime.controller Starting Controller {"controller": "quayecosystem"} 2021-01-19T06:27:57.956Z INFO controller-runtime.controller Starting workers {"controller": "quayecosystem", "worker count": 1} 2021-01-19T06:27:57.956Z INFO controller-runtime.controller Starting Controller {"controller": "quayregistry"} 2021-01-19T06:27:57.956Z INFO controller-runtime.controller Starting workers {"controller": "quayregistry", "worker count": 1} 2021-01-19T06:27:57.956Z INFO controllers.QuayRegistry begin reconcile {"quayregistry": "quay/quay-test"} 2021-01-19T06:27:58.057Z INFO controllers.QuayRegistry successfully retrieved referenced `configBundleSecret` {"quayregistry": "quay/quay-test", "configBundleSecret": "test-config-bundle", "resourceVersion": "2192735"} 2021-01-19T06:27:58.138Z INFO controllers.QuayRegistry cluster supports `Routes` API 2021-01-19T06:28:01.853Z INFO controllers.QuayRegistry cluster does not support `ObjectBucketClaim` API 2021-01-19T06:28:02.869Z DEBUG controller-runtime.manager.events Warning {"object": {"kind":"QuayRegistry","namespace":"quay","name":"quay-test","uid":"0b4e648a-c826-4f96-8c55-5cfc35fb39a2","apiVersion":"quay.redhat.com/v1","resourceVersion":"2201856"}, "reason": "ConfigInvalid", "message": "yaml: line 71: did not find expected key"} 2021-01-19T06:28:03.880Z INFO controllers.QuayRegistry inflating QuayRegistry into Kubernetes objects using Kustomize {"quayregistry": "quay/quay-test"} 2021-01-19T06:28:03.880Z DEBUG controller-runtime.manager.events Warning {"object": {"kind":"QuayRegistry","namespace":"quay","name":"quay-test","uid":"0b4e648a-c826-4f96-8c55-5cfc35fb39a2","apiVersion":"quay.redhat.com/v1","resourceVersion":"2201859"}, "reason": "ConfigInvalid", "message": "required component `objectstorage` marked as unmanaged, but `configBundleSecret` is missing necessary fields"} E0119 06:28:03.880486 1 runtime.go:78] Observed a panic: &errors.errorString{s:"error converting YAML to JSON: yaml: line 71: did not find expected key"} (error converting YAML to JSON: yaml: line 71: did not find expected key) goroutine 411 [running]: k8s.io/apimachinery/pkg/util/runtime.logPanic(0x21503a0, 0xc000396940) /workspace/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0xa6 k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /workspace/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x89 panic(0x21503a0, 0xc000396940) /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/runtime/panic.go:969 +0x1b9 github.com/quay/quay-operator/pkg/kustomize.check(...) /workspace/pkg/kustomize/kustomize.go:113 github.com/quay/quay-operator/pkg/kustomize.Inflate(0xc00090e000, 0xc00029c140, 0xc000178280, 0x25fe780, 0xc000694460, 0x0, 0x239e0c2, 0xd, 0xc00007e1c0, 0x6c) /workspace/pkg/kustomize/kustomize.go:378 +0x1645 github.com/quay/quay-operator/controllers/quay.(*QuayRegistryReconciler).Reconcile(0xc000716fc0, 0xc00031836c, 0x4, 0xc000318354, 0x9, 0x9d49b625, 0xc00065ab40, 0xc00045c368, 0xc00045c360) /workspace/controllers/quay/quayregistry_controller.go:231 +0x16d6 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000224600, 0x21e78c0, 0xc000673520, 0x23a05d341500) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:256 +0x166 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000224600, 0xc000420700) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:232 +0xb0 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc000224600) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:211 +0x2b k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc000396f30) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5f k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000396f30, 0x3b9aca00, 0x0, 0x2464301, 0xc000900ea0) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0x105 k8s.io/apimachinery/pkg/util/wait.Until(0xc000396f30, 0x3b9aca00, 0xc000900ea0) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:193 +0x32d panic: error converting YAML to JSON: yaml: line 71: did not find expected key [recovered] panic: error converting YAML to JSON: yaml: line 71: did not find expected key goroutine 411 [running]: k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /workspace/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:55 +0x10c panic(0x21503a0, 0xc000396940) /opt/rh/go-toolset-1.15/root/usr/lib/go-toolset-1.15-golang/src/runtime/panic.go:969 +0x1b9 github.com/quay/quay-operator/pkg/kustomize.check(...) /workspace/pkg/kustomize/kustomize.go:113 github.com/quay/quay-operator/pkg/kustomize.Inflate(0xc00090e000, 0xc00029c140, 0xc000178280, 0x25fe780, 0xc000694460, 0x0, 0x239e0c2, 0xd, 0xc00007e1c0, 0x6c) /workspace/pkg/kustomize/kustomize.go:378 +0x1645 github.com/quay/quay-operator/controllers/quay.(*QuayRegistryReconciler).Reconcile(0xc000716fc0, 0xc00031836c, 0x4, 0xc000318354, 0x9, 0x9d49b625, 0xc00065ab40, 0xc00045c368, 0xc00045c360) /workspace/controllers/quay/quayregistry_controller.go:231 +0x16d6 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000224600, 0x21e78c0, 0xc000673520, 0x23a05d341500) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:256 +0x166 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000224600, 0xc000420700) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:232 +0xb0 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc000224600) /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:211 +0x2b k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc000396f30) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5f k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000396f30, 0x3b9aca00, 0x0, 0x2464301, 0xc000900ea0) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0x105 k8s.io/apimachinery/pkg/util/wait.Until(0xc000396f30, 0x3b9aca00, 0xc000900ea0) /workspace/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:193 +0x32d