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

Failed to set GCS as the storage backend for Quay via config tool

    XMLWordPrintable

Details

    • Utapau [Quay 188]
    • 0

    Description

      Description of problem:

      Failed to set GCS as the storage backend for Quay via config tool

      Version-Release number of selected component (if applicable):

      quay.io/projectquay/quay:40cb9ed5

      How reproducible:

      Always

      Steps to Reproduce:
      1.Use operator to setup Quay, CR like below:

        quay:
      
          image: quay.io/projectquay/quay:40cb9ed5
          registryBackends:
            - name: gcs
              googleCloud:
                accessKey: GOOGLH
                bucketName: quay-qe-01
                secretKey: sRUcma
                storagePath: /gcs
      

      2.Check pod status
      3.Check logs in pod

      Actual results:

      Quay pod cannot be created, check logs in config tool pod:

      Traceback (most recent call last):  File "/quay-registry/util/config/validator.py", line 83, in validate_service_for_config    VALIDATORS[service](validator_context)  File "/quay-registry/util/config/validators/validate_storage.py", line 44, in validate    "Invalid storage configuration: %s: %s" % (name, msg)util.config.validators.ConfigValidationException: Invalid storage configuration: gcs: initial_value must be str or None, not bytesgunicorn-config stdout | 2020-08-04 03:10:39,583 [41] [ERROR] [util.config.validator] Validation exceptiongunicorn-config stdout | Traceback (most recent call last):gunicorn-config stdout |   File "/quay-registry/util/config/validators/validate_storage.py", line 37, in validategunicorn-config stdout |     driver.validate(client)gunicorn-config stdout |   File "/quay-registry/storage/basestorage.py", line 54, in validategunicorn-config stdout |     self.put_content("_verify", b"testing 123")gunicorn-config stdout |   File "/quay-registry/storage/cloud.py", line 154, in put_contentgunicorn-config stdout |     key.set_contents_from_string(content, **self._upload_params)gunicorn-config stdout |   File "/quay-registry/src/boto/boto/gs/key.py", line 710, in set_contents_from_stringgunicorn-config stdout |     fp = StringIO(get_utf8_value(s))gunicorn-config stdout | TypeError: initial_value must be str or None, not bytesgunicorn-config stdout | During handling of the above exception, another exception occurred:gunicorn-config stdout | Traceback (most recent call last):gunicorn-config stdout |   File "/quay-registry/util/config/validator.py", line 83, in validate_service_for_configgunicorn-config stdout |     VALIDATORS[service](validator_context)gunicorn-config stdout |   File "/quay-registry/util/config/validators/validate_storage.py", line 44, in validategunicorn-config stdout |     "Invalid storage configuration: %s: %s" % (name, msg)gunicorn-config stdout | util.config.validators.ConfigValidationException: Invalid storage configuration: gcs: initial_value must be str or None, not bytes

      Expected results:

      Setup Quay successfully

      Additional info:

      It works well with AWS S3 and Azure Cloud Storage

      Attachments

        Activity

          People

            sleesinc Kenny Lee Sin Cheong
            rhn-support-dyan Dongbo Yan
            Dongbo Yan Dongbo Yan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: