Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Cloud Storage mc cp fails after upgrade to 2023-04-12 with error "Unable to validate source " #4547

Closed
retoo opened this issue Apr 13, 2023 · 1 comment
Assignees

Comments

@retoo
Copy link

retoo commented Apr 13, 2023

We do a mc cp during an initContainer of a k8s service. We are downloading files from a Google Cloud Storage (GCS) bucket.

This morning we suddenly started seeing problems where the error "Unable to validate source" was reported during startup (see full error bellow).

We determined, that the latest version of minio/mc is causing that issue:

  • RELEASE.2023-04-12T02-21-51Z seems to be broken
    • --version: mc version RELEASE.2023-04-12T02-21-51Z (commit-id=1843717c57fb87612469b7610344a7d49d97a497)
    • Docker image: docker.io/minio/mc@sha256:1336f0994d5caad9106f273cfccee986a49cb23655b5a3c48cd5d19c05abb108
  • RELEASE.2023-04-06T16-51-10Z seems to work
    • --version: mc version RELEASE.2023-04-06T16-51-10Z (commit-id=1c6f4f48aba72b4c9770d911e95225f9de6e9488)
    • Docker Image: docker.io/minio/mc@sha256:6bb24bf3bf60f464e4f545fcaeb7dca1344e86780cd9597750e3f9c95c9facda

Workaround

Fall back to RELEASE.2023-04-06T16-51-10Z

Expected behavior

download works without problems

Actual behavior

mc: Unable to validate source `GCS/XXXX-translations/XXX/XXXX: The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.

Steps to reproduce

  • Copy a file from a GCS Bucket
vadmeste pushed a commit to vadmeste/minio-go that referenced this issue Apr 17, 2023
The existing code always picks a path style signature when v2 mode is
selected. Reviewing the history shows little information why it is done
that way.

A previous recent commit, 24cdd7f,
though it seems correct,  broke existing deployments that use GCS
(e.g. minio/mc#4547)

We should not sign v2 with path style when the endpoint is vhost.

This commit is tested with  MinIO/AWS/GCS when v2 is enabled.
vadmeste pushed a commit to vadmeste/minio-go that referenced this issue Apr 17, 2023
The existing code always picks a path style signature when v2 mode is
selected. Reviewing the history shows little information why it is done
that way.

A previous recent commit, 24cdd7f,
though it seems correct,  broke existing deployments that use GCS
(e.g. minio/mc#4547)

We should not sign v2 with path style when the endpoint is vhost.

This commit is tested with  MinIO/AWS/GCS when v2 is enabled.
harshavardhana pushed a commit to minio/minio-go that referenced this issue Apr 17, 2023
The existing code always picks a path style signature when v2 mode is
selected. Reviewing the history shows little information why it is done
that way.

A previous recent commit, 24cdd7f,
though it seems correct,  broke existing deployments that use GCS
(e.g. minio/mc#4547)

We should not sign v2 with path style when the endpoint is vhost.

This commit is tested with  MinIO/AWS/GCS when v2 is enabled.
@vadmeste
Copy link
Member

vadmeste commented Oct 1, 2023

It should be fixed with this minio-go PR, minio/minio-go@0bf84b3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants