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

S3 Uploader: Authorization mechanism ... is not supported. Please use AWS4-HMAC-SHA256. #13

Closed
andygrunwald opened this issue Jun 8, 2016 · 4 comments

Comments

@andygrunwald
Copy link
Contributor

andygrunwald commented Jun 8, 2016

I run into the following issue:

./complainer -masters "http://192.168.99.100:5050" \
                     -reporters "slack" \
                     -slack.channel "#mesos" \
                     -slack.hook_url "https://hooks.slack.com/services/TOKEN" \
                     -slack.username "Mesos Cluster" \
                     -slack.icon_emoji ":mesos:" \
                     -uploader "s3" \
                     -s3.access_key "KEY" \
                     -s3.bucket "BUCKET" \
                     -s3.endpoint "https://s3.eu-central-1.amazonaws.com/" \
                     -s3.secret_key "SECRET"

2016/06/08 19:05:02 Reporting ChronosTask:my-failing-job (ct:1465405479849:0:my-failing-job:) from 192.168.99.100
2016/06/08 19:05:02 Error reporting failure of ct:1465405479849:0:my-failing-job:: cannot get stdout and stderr urls from uploader: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.

This seems to be related to goamz/goamz#118

@andygrunwald
Copy link
Contributor Author

andygrunwald commented Jun 9, 2016

An alternative would be to fire the S4 Put operation on our own and sign the request with v4Signer := aws.NewV4Signer(auth, "s3", region)
Or complainer will switch from goamz/goamz to the official Golang Client library from AWS at https://github.com/aws/aws-sdk-go

Here is the PutObject-Operation of the official golang sdk from AWS.

Are you open for such a change?
I`d like to hear your opinion about this.

@bobrik
Copy link
Contributor

bobrik commented Jun 9, 2016

This is pretty messy.

Ceph and many other systems are still v2, AWS itself is v4.

I guess we'll have to split s3 uploader into two: official one + goamz for ceph and friends.

@andygrunwald
Copy link
Contributor Author

Only 2 AWS regions right now rely on v4 signatures: cn-north-1 and eu-central-1 (+ all newer regions).
All others are able to work with v2 signature, but are able to work with v4 as well.

If you are talking about S3 on Ceph you are talking about http://docs.ceph.com/docs/master/radosgw/s3/ ?
If yes, according to http://tracker.ceph.com/issues/10333 and ceph/ceph#4943 this was implemented in Feb this year.

I like your idea about the two cases split.
Are you planning to work on this? If not, i try to find some time to do this, but i am only to able the eu-central-1 + v4 combination. But i guess you would be able to test the Ceph interface.

@bobrik
Copy link
Contributor

bobrik commented Jun 9, 2016

I'll take a look, hopefully this week.

Thanks for bringing this up.

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

No branches or pull requests

2 participants