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

Pulling of cached image from Quay requires upstream registry availability

XMLWordPrintable

    • Incidents & Support
    • False
    • Hide

      None

      Show
      None
    • False
    • Quay Enterprise

      For an image that is cached locally in Quay, the expectation is that the image is pulled from cache without issues. Currently, it seems that regardless of the state of the image in Quay, proxy functionality calls the upstream registry to test whether it's available or not and only then provides access to the image. This causes issues if the upstream registry is not available for any reason whatsoever. Example:

      2025-01-08T14:27:39.206664474Z gunicorn-registry stdout | 2025-01-08 14:27:39,205 [245] [DEBUG] [app] Starting request: urn:request:3c13d11c-cc4e-434b-b577-df71b84cda83 (/v2/bitnami/minio-client/manifests/2024.11.17) {'X-Forwarded-For': '10.1.5.1'}
      ...
      2025-01-08T14:27:39.211566227Z gunicorn-registry stdout | 2025-01-08 14:27:39,211 [245] [DEBUG] [data.cache.impl] Checking cache for key upstream_token__bitnami/docker.io/bitnami/bitnami/minio-client
      2025-01-08T14:27:39.212103820Z gunicorn-registry stdout | 2025-01-08 14:27:39,211 [245] [DEBUG] [data.cache.impl] Found no result in cache for key upstream_token__bitnami/docker.io/bitnami/bitnami/minio-client; calling loader
      2025-01-08T14:27:39.212103820Z gunicorn-registry stdout | 2025-01-08 14:27:39,211 [245] [DEBUG] [data.cache.impl] Got loaded result for key upstream_token__bitnami/docker.io/bitnami/bitnami/minio-client: None
      2025-01-08T14:27:39.212103820Z gunicorn-registry stdout | 2025-01-08 14:27:39,211 [245] [DEBUG] [data.cache.impl] Not caching loaded result for key upstream_token__bitnami/docker.io/bitnami/bitnami/minio-client: None
      2025-01-08T14:27:39.213753947Z gunicorn-registry stdout | 2025-01-08 14:27:39,213 [245] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): registry-1.docker.io:443
      ...
      2025-01-08T14:28:39.213202168Z nginx stdout | 2025/01/08 14:28:39 [error] 93#0: *4407 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 10.1.5.1, server: _, request: "GET /v2/bitnami/minio-client/manifests/2024.11.17 HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_registry.sock/v2/bitnami/minio-client/manifests/2024.11.17", host: "QUAY_HOSTNAME"
      2025-01-08T14:28:39.213495250Z nginx stdout | 10.1.5.1 (-) - - [08/Jan/2025:14:28:39 +0000] "GET /v2/bitnami/minio-client/manifests/2024.11.17 HTTP/1.1" 504 167 "-" "containers/5.32.2 (github.com/containers/image)" (60.008 1487 60.008)
      

      In this case, connection to registry-1.docker.io was explicitly disabled but after manifest was already cached in Quay. The result was a 504 Gateway Timeout reported and a failed pull.

              Unassigned Unassigned
              rhn-support-ibazulic Ivan Bazulic
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:

                  Estimated:
                  Original Estimate - 2 weeks
                  2w
                  Remaining:
                  Remaining Estimate - 2 weeks
                  2w
                  Logged:
                  Time Spent - Not Specified
                  Not Specified