-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
quay-v3.13.0, quay-v3.12.7
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"
}
}