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

Quay Operator can't set mirror component to managed after enable repository mirroring with config editor when tls is unmanaged

XMLWordPrintable

      Description:

      This is an issue found when enable repository mirroring with config editor, when deploy Quay with Operator, choose to use managed route, unmanaged mirror, unmanaged tls components, and provide tls cert/key pair, after QuayRegistry come to healthy status, use config editor to enable repository mirroring. After Operator reconcile the change, found mirror components is still unmanaged and no new mirror pod was provisioning, refer to detailed Quay Operator Pod logs quay_360_operator_pod_enable_mirror.logs 

      Note: This issue is not existed when tls component is managed.

      Quay Image is "quay-operator-bundle-container-v3.6.0-27"

      2021-09-03T08:12:12.717Z        INFO    server.Reconfigure      created new config secret for QuayRegistry: quay360/quay360
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as unmanaged  {"component": "tls"}
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as unmanaged  {"component": "mirror"}
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as managed    {"component": "postgres"}
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as managed    {"component": "clair"}
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as managed    {"component": "redis"}
      2021-09-03T08:12:12.718Z        INFO    server.Reconfigure      marking component as unmanaged  {"component": "objectstorage"}
      2021-09-03T08:12:12.730Z        INFO    controllers.QuayRegistryStatus  quay components conditions reconciled (no changes)      {"quayregistrystatus": "quay360/quay360"}
      2021-09-03T08:12:12.730Z        INFO    controllers.QuayRegistry        begin reconcile {"quayregistry": "quay360/quay360"}
      2021-09-03T08:12:12.734Z        INFO    controllers.QuayRegistry        successfully retrieved referenced `configBundleSecret`  {"quayregistry": "quay360/quay360", "configBundleSecret": "quay360-quay-config-bundle-mzkct", "resourceVersion": "14358883"}
      2021-09-03T08:12:12.735Z        INFO    controllers.QuayRegistry        provided TLS cert/key pair in `configBundleSecret` will be used
      2021-09-03T08:12:12.758Z        INFO    controllers.QuayRegistry        cluster supports `Routes` API
      2021-09-03T08:12:13.258Z        INFO    controllers.QuayRegistry        Detected cluster hostname apps.quay-perf-738.perfscale.devcluster.openshift.com
      2021-09-03T08:12:13.258Z        INFO    controllers.QuayRegistry        detected router canonical hostname: apps.quay-perf-738.perfscale.devcluster.openshift.com
      2021-09-03T08:12:13.269Z        INFO    controllers.QuayRegistry        detected cluster wildcard certificate for apps.quay-perf-738.perfscale.devcluster.openshift.com
      2021-09-03T08:12:13.288Z        INFO    controllers.QuayRegistry        cluster supports `ObjectBucketClaims` API
      2021-09-03T08:12:13.288Z        INFO    controllers.QuayRegistry        `ObjectBucketClaim` not found
      2021-09-03T08:12:13.288Z        INFO    controllers.QuayRegistry        monitoring is only supported in AllNamespaces mode. Disabling component monitoring
      2021-09-03T08:12:13.289Z        INFO    controllers.QuayRegistry        inflating QuayRegistry into Kubernetes objects using Kustomize  {"quayregistry": "quay360/quay360"}
      2021-09-03T08:12:13.289Z        INFO    controllers.QuayRegistry        `DATABASE_SECRET_KEY` found in user-provided config     {"quayregistry": "quay360/quay360"}
      2021-09-03T08:12:13.289Z        INFO    controllers.QuayRegistry        `SECRET_KEY` found in user-provided config      {"quayregistry": "quay360/quay360"}
      2021-09-03T08:12:13.290Z        INFO    controllers.QuayRegistry        Ensuring TLS cert/key pair for Quay app {"quayregistry": "quay360/quay360"}
      
      Enable Repository Mirroring with config editor

      After Operator reconcile the change, no mirror pod is provisioning:

      oc get pod
      NAME                                          READY   STATUS              RESTARTS   AGE
      quay-operator.v3.6.0-7dc8cbc5bd-qdnsf         1/1     Running             0          5h55m
      quay360-clair-app-6ff44b975d-f97df            1/1     Running             0          9m47s
      quay360-clair-app-6ff44b975d-zzmtl            1/1     Running             0          9m47s
      quay360-clair-postgres-5656b7c88d-v68w4       1/1     Running             1          24m
      quay360-quay-app-76fd9b8ffb-5prp9             1/1     Running             0          9m47s
      quay360-quay-app-76fd9b8ffb-glbzr             1/1     Running             0          9m33s
      quay360-quay-app-upgrade-s9xkm                0/1     Completed           0          10m
      quay360-quay-config-editor-66cf86d796-n27k7   1/1     Running             0          9m47s
      quay360-quay-database-bb7bd4584-q9ljh         1/1     Running             0          24m
      quay360-quay-database-ccfd7b878-8f8wx         0/1     ContainerCreating   0          9m47s
      quay360-quay-postgres-init-l8wsl              1/1     Running             0          9m49s
      quay360-quay-redis-679675cd65-njlpw           1/1     Running             0          24m
      
      After Operator reconcile the change, "FEATURE_REPO_MIRROR" was set to True

      Steps:

      1. Deploy Quay with Operator, choose to use managed route, unmanaged mirror, unmanaged tls components, and provide tls cert/key pair
      2. Login Quay config editor, enable "Repository Mirroring"
      3. Click Validate Changes
      4. Click Reconfigure Quay
      5. After Operator reconcile the change, check QuayRegistry Status
      6. Check if new Mirror POD was provisioning
      7. Check if FEATURE_REPO_MIRROR is set as True

      Expected Results:

      Mirror Component is set to managed, FEATURE_REPO_MIRROR is set to True, and new Mirror POD was provisioned.

      Actual Results:

      Mirror Component is set to unmanaged, FEATURE_REPO_MIRROR is set to True, and No new Mirror POD was provisioned.

              jonathankingfc Jonathan King (Inactive)
              lzha1981 luffy zhang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: