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

Quay 3.7.0 pull from cache should return quota exceeded error rather than general 403 error code

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Major Major
    • None
    • quay-v3.7.0
    • quay
    • False
    • None
    • False

      Description:

      This is an issue found when pull image from cache, now when the target new organization is configured with low quota(100MB), trying to pull image(600MB) from cache will returned error message "unable to pull image: Error parsing image configuration: Error fetching blob: invalid status code from registry 403 (Forbidden)"

      The expected behavior should be letting customers know that the root cause is quota is exceed, give general 403 error code is confusing to Quay Customers.

      Quay Image: quay-operator-bundle-container-v3.7.0-73

      [root@ip-10-0-1-40 centos]# podman pull quay370.apps.quayperf370.perfscale.devcluster.openshift.com/testpullcache/quay/quay:v3.3.4-2 --tls-verify=false --creds quay:password
      Trying to pull quay370.apps.quayperf370.perfscale.devcluster.openshift.com/testpullcache/quay/quay:v3.3.4-2...
        Error fetching blob: invalid status code from registry 403 (Forbidden)
      Error: error pulling image "quay370.apps.quayperf370.perfscale.devcluster.openshift.com/testpullcache/quay/quay:v3.3.4-2": unable to pull quay370.apps.quayperf370.perfscale.devcluster.openshift.com/testpullcache/quay/quay:v3.3.4-2: unable to pull image: Error parsing image configuration: Error fetching blob: invalid status code from registry 403 (Forbidden) 

      Quay APP POD Logs:

      gunicorn-registry stdout | 2022-04-14 05:43:40,988 [227] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"DENIED","detail":{},"message":"Quota has been exceeded on namespace"}]}\n'
      gunicorn-registry stdout | 2022-04-14 05:43:40,989 [227] [DEBUG] [app] Ending request: urn:request:0bdb74b7-22f9-46dd-b1f6-a7eb5caf5e3f (/v2/testpullcache/quay/quay/blobs/sha256:a8e754f8c6e40b5a8534cb4783aaaac6a53b5eab3dab1a254e1096a56573d5be) {'endpoint': 'v2.download_blob', 'request_id': 'urn:request:0bdb74b7-22f9-46dd-b1f6-a7eb5caf5e3f', 'remote_addr': '10.131.0.5', 'http_method': 'GET', 'original_url': 'https://quay370.apps.quayperf370.perfscale.devcluster.openshift.com/v2/testpullcache/quay/quay/blobs/sha256:a8e754f8c6e40b5a8534cb4783aaaac6a53b5eab3dab1a254e1096a56573d5be', 'path': '/v2/testpullcache/quay/quay/blobs/sha256:a8e754f8c6e40b5a8534cb4783aaaac6a53b5eab3dab1a254e1096a56573d5be', 'parameters': {}, 'json_body': None, 'confsha': '529abdae', 'user-agent': 'libpod/1.6.4'}
      gunicorn-registry stdout | 2022-04-14 05:43:40,990 [227] [DEBUG] [data.database] Disconnecting from database.
      gunicorn-registry stdout | 2022-04-14 05:43:40,990 [227] [DEBUG] [peewee.pool] Returning 140244650240752 to pool.
      gunicorn-registry stdout | 2022-04-14 05:43:40,990 [227] [INFO] [gunicorn.access] 10.131.0.5 - - [14/Apr/2022:05:43:40 +0000] "GET /v2/testpullcache/quay/quay/blobs/sha256:a8e754f8c6e40b5a8534cb4783aaaac6a53b5eab3dab1a254e1096a56573d5be HTTP/1.1" 403 92 "-" "libpod/1.6.4" 

              fmissi Flavian Missi
              lzha1981 luffy zhang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: