Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-1442

Quay Operator error when processing builder config

    XMLWordPrintable

Details

    • 0

    Description

      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
      

      Attachments

        Activity

          People

            rhn-coreos-amerdler Alec Merdler (Inactive)
            rhn-coreos-amerdler Alec Merdler (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: