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

Quay Gitlab trigger build image hardcode to push image to default storage location

XMLWordPrintable

    • False
    • False
    • Undefined

      Description:

      This is issue found when use gitlab trigger to build image from gitlab repository, now if set the storage default location and preference location to no default, then build image job was failed at step "push image to quay", see logs and screenshots.

      The expected behavior is Quay users can specify the storage default location and preference location, this should not impact build image job.

      Index Image:

      v4.6: registry-proxy.engineering.redhat.com/rh-osbs/iib:42025
      

      Quay Image:

      oc get pod quayregistry-quay-app-65dbbf7559-chhkt -o json | jq '.spec.containers[0].image'
      "registry.redhat.io/quay/quay-rhel8@sha256:5ec1c488609362f2ab4dae54b48f87dbc2d378e9525fa852cb69a3a0c545a285"     
      USERFILES_LOCATION: local_us                                                      
      USERFILES_PATH: userfiles
      ALLOW_PULLS_WITHOUT_STRICT_LOGGING: false
      AUTHENTICATION_TYPE: Database
      AVATAR_KIND: local
      BITBUCKET_TRIGGER_CONFIG:
        CONSUMER_KEY: ***
        CONSUMER_SECRET: ***
      BUILDLOGS_REDIS:
        host: quayregistry-quay-redis
        port: 6379
      DATABASE_SECRET_KEY: negBF9qm2zJpIhWlsleJSvw3J27P4NID5Xm657j0gQxInZ3lWCFMJGFpS3uUkqezi52Upi7L5S68iifX
      DB_CONNECTION_ARGS:
        autorollback: true
        threadlocals: true
      DB_URI: postgresql://quayregistry-quay-database:OymjqSHTKBo3W0C0mvXodBpYIMUsNDZ8@quayregistry-quay-database:5432/quayregistry-quay-database
      DEFAULT_TAG_EXPIRATION: 2w
      DISTRIBUTED_STORAGE_CONFIG:
        local_us:
        - AzureStorage
        - azure_account_key: ***
          azure_account_name: quayazure135077
          azure_container: quayazure135077
          sas_token: ***
          storage_path: /quayazuredata/quayregistry
      DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS:
      - local_us
      DISTRIBUTED_STORAGE_PREFERENCE:
      - local_us
      
      Build job was failed at push image to quay

      6891 gunicorn-registry stdout | 2021-01-28 10:18:53,321 [335] [ERROR] [gunicorn.error] Error handling request /v2/quay/gitlabdemo/blobs/sha256     :a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
      6892 gunicorn-registry stdout | Traceback (most recent call last):
      6893 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base_async.py", line 55, in handle
      6894 gunicorn-registry stdout |     self.handle_request(listener_name, req, client, addr)
      6895 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 143, in handle_request
      6896 gunicorn-registry stdout |     super().handle_request(listener_name, req, sock, addr)
      6897 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/base_async.py", line 106, in handle_request
      6898 gunicorn-registry stdout |     respiter = self.wsgi(environ, resp.start_response)
      6899 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2463, in __call__
      6900 gunicorn-registry stdout |     return self.wsgi_app(environ, start_response)
      6901 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/werkzeug/middleware/proxy_fix.py", line 232, in __call__
      6902 gunicorn-registry stdout |     return self.app(environ, start_response)
      6903 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2449, in wsgi_app
      6904 gunicorn-registry stdout |     response = self.handle_exception(e)
      6905 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1866, in handle_exception
      6906 gunicorn-registry stdout |     reraise(exc_type, exc_value, tb)
      6907 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
      6908 gunicorn-registry stdout |     raise value
      6909 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2446, in wsgi_app
      6910 gunicorn-registry stdout |     response = self.full_dispatch_request()
      6911 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1951, in full_dispatch_request
      6912 gunicorn-registry stdout |     rv = self.handle_user_exception(e)
      6913 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1820, in handle_user_exception
      6914 gunicorn-registry stdout |     reraise(exc_type, exc_value, tb)
      6915 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
      6916 gunicorn-registry stdout |     raise value
      6917 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1949, in full_dispatch_request
      6918 gunicorn-registry stdout |     rv = self.dispatch_request()
      6919 gunicorn-registry stdout |   File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1935, in dispatch_request
      6920 gunicorn-registry stdout |     return self.view_functions[rule.endpoint](**req.view_args)
      6921 gunicorn-registry stdout |   File "/quay-registry/endpoints/decorators.py", line 57, in wrapper
      6922 gunicorn-registry stdout |     return func(*args, **kwargs)
      6923 gunicorn-registry stdout |   File "/quay-registry/auth/registry_jwt_auth.py", line 177, in wrapper
      6924 gunicorn-registry stdout |     return func(*args, **kwargs)
      6925 gunicorn-registry stdout |   File "/quay-registry/endpoints/v2/__init__.py", line 126, in wrapped
      6926 gunicorn-registry stdout |     return func(namespace_name, repo_name, *args, **kwargs)
      6927 gunicorn-registry stdout |   File "/quay-registry/util/cache.py", line 10, in add_max_age
      6928 gunicorn-registry stdout |     response = f(*args, **kwargs)
      6929 gunicorn-registry stdout |   File "/quay-registry/endpoints/v2/blob.py", line 73, in check_blob_exists
      6930 gunicorn-registry stdout |     if storage.get_supports_resumable_downloads(blob.placements):
      6931 gunicorn-registry stdout |   File "/quay-registry/storage/distributedstorage.py", line 24, in wrapper
      6932 gunicorn-registry stdout |     storage = self._storages[random.sample(locations, 1)[0]]
      6933 gunicorn-registry stdout | KeyError: 'default'
      6934 gunicorn-registry stdout | 2021-01-28 10:18:53,321 [335] [INFO] [gunicorn.access]  - - [28/Jan/2021:10:18:53 +0000] "HEAD /v2/quay/gitlab     demo/blobs/sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 HTTP/1.1" 500 0 "-" "-"
      6935 nginx stdout | 10.131.0.78 () - - [28/Jan/2021:10:18:53 +0000] "HEAD /v2/quay/gitlabdemo/blobs/sha256:a3ed95caeb02ffe68cdd9fd84406680ae93     d633cb16422d00e8a7c22955b46d4 HTTP/1.1" 500 0 "-" "libpod/2.0.5" (0.005 1530 0.004)
      6936 nginx stdout | 10.129.2.65 () - - [28/Jan/2021:10:18:53 +0000] "POST /buildman_pb.BuildManager/LogMessage HTTP/2.0" 200 27 "-" "grpc-go/1     .32.0" (85.870 5134 85.870)
      6937 nginx stdout | 10.129.2.65 () - - [28/Jan/2021:10:18:53 +0000] "POST /buildman_pb.BuildManager/Heartbeat HTTP/2.0" 200 287 "-" "grpc-go/1     .32.0" (85.763 40952 85.763)
      

              sleesinc Kenny Lee Sin Cheong
              lzha1981 luffy zhang
              luffy zhang luffy zhang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: