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

Quay registry "Available" status is False with "Some components are not ready" when set clair unmanaged

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • quay-v3.13.0, quay-v3.12.7
    • quay-operator
    • False
    • Hide

      None

      Show
      None
    • False
    • Critical
    • Approved

      Description:

      Quay registry status finally is False when Clair Unmanaged &&  HPA managed

                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Some components are not ready",
                      "reason": "ComponentNotReady",
                      "status": "False",
                      "type": "Available"
                  },
       

      Index Image: Quay stable-3.13.4 

      Note, this is not 3.13.4 specific, this has been long time, looks since Quay 3.12

       

      Steps:

      1, Deploy Quay latest 3.13.4, set quay registry with Clair/ClairPostgres Unmanaged and HPA managed

      2, Wait for Pod reconcile, check registry status 

       

      Actual Result:

      Pod startup successfully, registry Type ComponentHPAReady and Available are False status

      % oc get quayregistry quayregistry -o json
      {
          "apiVersion": "quay.redhat.com/v1",
          "kind": "QuayRegistry",
          "metadata": {
              "annotations": {
                  "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"quay.redhat.com/v1\",\"kind\":\"QuayRegistry\",\"metadata\":{\"annotations\":{},\"name\":\"quayregistry\",\"namespace\":\"quay-enterprise-15131\"},\"spec\":{\"components\":[{\"kind\":\"quay\",\"managed\":true,\"overrides\":{\"env\":[{\"name\":\"DEBUGLOG\",\"value\":\"true\"}]}},{\"kind\":\"postgres\",\"managed\":true},{\"kind\":\"clair\",\"managed\":false},{\"kind\":\"redis\",\"managed\":true},{\"kind\":\"horizontalpodautoscaler\",\"managed\":true},{\"kind\":\"objectstorage\",\"managed\":true},{\"kind\":\"route\",\"managed\":true},{\"kind\":\"mirror\",\"managed\":true},{\"kind\":\"monitoring\",\"managed\":false},{\"kind\":\"tls\",\"managed\":true},{\"kind\":\"clairpostgres\",\"managed\":false}],\"configBundleSecret\":\"test-config-bundle\"}}\n"
              },
              "creationTimestamp": "2025-02-07T03:14:25Z",
              "finalizers": [
                  "quay-operator/finalizer"
              ],
              "generation": 1,
              "name": "quayregistry",
              "namespace": "quay-enterprise-15131",
              "resourceVersion": "89654",
              "uid": "94f30678-547d-47ac-884a-5ba3ede65a63"
          },
          "spec": {
              "components": [
                  {
                      "kind": "quay",
                      "managed": true,
                      "overrides": {
                          "env": [
                              {
                                  "name": "DEBUGLOG",
                                  "value": "true"
                              }
                          ]
                      }
                  },
                  {
                      "kind": "postgres",
                      "managed": true
                  },
                  {
                      "kind": "clair",
                      "managed": false
                  },
                  {
                      "kind": "redis",
                      "managed": true
                  },
                  {
                      "kind": "horizontalpodautoscaler",
                      "managed": true
                  },
                  {
                      "kind": "objectstorage",
                      "managed": true
                  },
                  {
                      "kind": "route",
                      "managed": true
                  },
                  {
                      "kind": "mirror",
                      "managed": true
                  },
                  {
                      "kind": "monitoring",
                      "managed": false
                  },
                  {
                      "kind": "tls",
                      "managed": true
                  },
                  {
                      "kind": "clairpostgres",
                      "managed": false
                  }
              ],
              "configBundleSecret": "test-config-bundle"
          },
          "status": {
              "conditions": [
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Horizontal pod autoscaler not found",
                      "reason": "ComponentNotReady",
                      "status": "False",
                      "type": "ComponentHPAReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Route admitted",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentRouteReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Monitoring not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentMonitoringReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:15:04Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Deployment quayregistry-quay-database healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentPostgresReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:34Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Object bucket claim bound",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentObjectStorageReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Clair not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentClairReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "ClairPostgres not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentClairPostgresReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Using cluster wildcard certs",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentTLSReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:34Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Deployment quayregistry-quay-redis healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentRedisReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:16:34Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Quay component healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentQuayReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:18:20Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Deployment quayregistry-quay-mirror healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentMirrorReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:14:29Z",
                      "lastUpdateTime": "2025-02-07T03:18:34Z",
                      "message": "Some components are not ready",
                      "reason": "ComponentNotReady",
                      "status": "False",
                      "type": "Available"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:15:04Z",
                      "lastUpdateTime": "2025-02-07T03:15:04Z",
                      "message": "All registry components created",
                      "reason": "ComponentsCreationSuccess",
                      "status": "True",
                      "type": "ComponentsCreated"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T03:18:20Z",
                      "lastUpdateTime": "2025-02-07T03:18:20Z",
                      "message": "All objects created/updated successfully",
                      "reason": "ComponentsCreationSuccess",
                      "status": "False",
                      "type": "RolloutBlocked"
                  }
              ],
              "currentVersion": "v3.13.4",
              "lastUpdated": "2025-02-07 03:18:20.039977538 +0000 UTC",
              "registryEndpoint": "https://quayregistry-quay-quay-enterprise-15131.apps.quaytest-15131.qe.devcluster.openshift.com"
          }
      }

       

      $ oc get pod 
      NAME                                          READY   STATUS      RESTARTS   AGE
      quay-operator.v3.13.4-796d9c84bd-r4xjr        1/1     Running     0          4h
      quayregistry-quay-app-56fc558958-nsfkn        1/1     Running     0          158m
      quayregistry-quay-app-56fc558958-nzxd5        1/1     Running     0          158m
      quayregistry-quay-app-upgrade-h7dd2           0/1     Completed   2          159m
      quayregistry-quay-database-7b759658f9-8mvwh   1/1     Running     0          159m
      quayregistry-quay-mirror-78d6c6689-2fll6      1/1     Running     0          159m
      quayregistry-quay-mirror-78d6c6689-7hlp9      1/1     Running     0          159m
      quayregistry-quay-redis-8599ff9495-2sdhk      1/1     Running     0          159m
      
      

       

      This is the same configuration with quay 3.11.8 which Available is True:

       % oc get quayregistry quayregistry -o json
      {
          "apiVersion": "quay.redhat.com/v1",
          "kind": "QuayRegistry",
          "metadata": {
              "annotations": {
                  "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"quay.redhat.com/v1\",\"kind\":\"QuayRegistry\",\"metadata\":{\"annotations\":{},\"name\":\"quayregistry\",\"namespace\":\"quay-enterprise-15131\"},\"spec\":{\"components\":[{\"kind\":\"quay\",\"managed\":true,\"overrides\":{\"env\":[{\"name\":\"DEBUGLOG\",\"value\":\"true\"}]}},{\"kind\":\"postgres\",\"managed\":true},{\"kind\":\"clair\",\"managed\":false},{\"kind\":\"redis\",\"managed\":true},{\"kind\":\"horizontalpodautoscaler\",\"managed\":true},{\"kind\":\"objectstorage\",\"managed\":true},{\"kind\":\"route\",\"managed\":true},{\"kind\":\"mirror\",\"managed\":true},{\"kind\":\"monitoring\",\"managed\":false},{\"kind\":\"tls\",\"managed\":true},{\"kind\":\"clairpostgres\",\"managed\":false}],\"configBundleSecret\":\"test-config-bundle\"}}\n"
              },
              "creationTimestamp": "2025-02-07T06:25:01Z",
              "finalizers": [
                  "quay-operator/finalizer"
              ],
              "generation": 1,
              "name": "quayregistry",
              "namespace": "quay-enterprise-15131",
              "resourceVersion": "198816",
              "uid": "e4024448-82c6-4872-ba19-10d04fab3bb2"
          },
          "spec": {
              "components": [
                  {
                      "kind": "quay",
                      "managed": true,
                      "overrides": {
                          "env": [
                              {
                                  "name": "DEBUGLOG",
                                  "value": "true"
                              }
                          ]
                      }
                  },
                  {
                      "kind": "postgres",
                      "managed": true
                  },
                  {
                      "kind": "clair",
                      "managed": false
                  },
                  {
                      "kind": "redis",
                      "managed": true
                  },
                  {
                      "kind": "horizontalpodautoscaler",
                      "managed": true
                  },
                  {
                      "kind": "objectstorage",
                      "managed": true
                  },
                  {
                      "kind": "route",
                      "managed": true
                  },
                  {
                      "kind": "mirror",
                      "managed": true
                  },
                  {
                      "kind": "monitoring",
                      "managed": false
                  },
                  {
                      "kind": "tls",
                      "managed": true
                  },
                  {
                      "kind": "clairpostgres",
                      "managed": false
                  }
              ],
              "configBundleSecret": "test-config-bundle"
          },
          "status": {
              "conditions": [
                  {
                      "lastTransitionTime": "2025-02-07T06:25:05Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Horizontal pod autoscaler found",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentHPAReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:05Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Route admitted",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentRouteReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:01Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Monitoring not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentMonitoringReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:29:04Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Deployment quayregistry-quay-database healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentPostgresReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:28Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Object bucket claim bound",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentObjectStorageReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:01Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Clair not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentClairReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:01Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "ClairPostgres not managed by the operator",
                      "reason": "ComponentNotManaged",
                      "status": "True",
                      "type": "ComponentClairPostgresReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:01Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Using cluster wildcard certs",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentTLSReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:28Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Deployment quayregistry-quay-redis healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentRedisReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:29:04Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Quay component healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentQuayReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:29:04Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "Deployment quayregistry-quay-mirror healthy",
                      "reason": "ComponentReady",
                      "status": "True",
                      "type": "ComponentMirrorReady"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:29:04Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "All components reporting as healthy",
                      "reason": "HealthChecksPassing",
                      "status": "True",
                      "type": "Available"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:25:48Z",
                      "lastUpdateTime": "2025-02-07T06:25:48Z",
                      "message": "All registry components created",
                      "reason": "ComponentsCreationSuccess",
                      "status": "True",
                      "type": "ComponentsCreated"
                  },
                  {
                      "lastTransitionTime": "2025-02-07T06:50:31Z",
                      "lastUpdateTime": "2025-02-07T06:50:31Z",
                      "message": "All objects created/updated successfully",
                      "reason": "ComponentsCreationSuccess",
                      "status": "False",
                      "type": "RolloutBlocked"
                  }
              ],
              "currentVersion": "v3.11.8",
              "lastUpdated": "2025-02-07 06:50:31.352446336 +0000 UTC",
              "registryEndpoint": "https://quayregistry-quay-quay-enterprise-15131.apps.quaytest-15131.qe.devcluster.openshift.com"
          }
      } 

       

        1. quayapp1.log
          15.09 MB
        2. quayoperator.log
          3.68 MB

              Unassigned Unassigned
              szhao@redhat.com Sean Zhao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: