On Thu, Apr 23, 2020 at 8:28 AM Andreas Unterkircher <unki(a)netshadow.net>
wrote:
Dear Yuval!
The message format you tried to use is the
standard one (the one being
emitted from boto3, or any other AWS SDK [1]).
It passes the arguments using 'x-www-form-urlencoded'. For example:
Thank you for your clarification! I've previously tried it as a
x-www-form-urlencoded-body as well, but I have failed. That it was then
working using the non-standard-parameters has lead me down the wrong
road...
But I have to admit that I'm still failing to create a topic the S3-way.
I've tried it with curl, but as well with Postman.
Even if I use your example-body, Ceph keeps telling me (at least)
method-not-allowed.
Is this maybe because I'm using an AWS Sig v4 to authenticate?
yes, this is probably the issue. in the radosgw we use the same signature
mechanism
for S3 and for the other services (like topic creation).
see this example:
https://github.com/ceph/ceph/blob/master/examples/boto3/topic_with_endpoint…
(I guess we should also add that to the docs)
This is the request I'm sending out:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Accept-Encoding: identity
Date: Tue, 23 Apr 2020 05:00:35 GMT
X-Amz-Content-Sha256:
e8d828552b412fde2cd686b0a984509bc485693a02e8c53ab84cf36d1dbb961a
Host:
s3.example.com
X-Amz-Date: 2 as0200423T050035Z
Authorization: AWS4-HMAC-SHA256
Credential=DNQXT3I8Z5MWDJ1A8YMP/20200423/de/s3/aws4_request,
SignedHeaders=accept-encoding;content-type;date;host;x-amz-content-sha256;x-amz-date,
Signature=fa65844ba997fe11e65be87a18f160afe1ea459892316d6060bbc663daf6eace
User-Agent: PostmanRuntime/7.24.1
Accept: */*
Connection: keep-alive
Content-Length: 303
Name=ajmmvc-1_topic_1&
Attributes.entry.2.key=amqp-exchange&
Attributes.entry.1.key=amqp-ack-level&
Attributes.entry.2.value=amqp.direct&
Version=2010-03-31&
Attributes.entry.3.value=amqp%3A%2F%2F127.0.0.1%3A7001&
Attributes.entry.1.value=none&
Action=CreateTopic&
Attributes.entry.3.key=push-endpoint
This is the response that comes back:
HTTP/1.1 405 Method Not Allowed
Content-Length: 200
x-amz-request-id: tx000000000000000000001-005ea12159-6e47a-s3-datacenter
Accept-Ranges: bytes
Content-Type: application/xml
Date: Thu, 23 Apr 2020 05:02:17 GMT
<?xml version="1.0"
encoding="UTF-8"?><Error><Code>MethodNotAllowed</Code><RequestId>tx000000000000000000001-005ea12159-6e47a-s3-datacenter</RequestId><HostId>6e47a-s3-datacenter-de</HostId></Error>
This is was radosgw is seeing at the same time
2020-04-23T07:02:17.745+0200 7f5aab2af700 20 final domain/bucket
subdomain=
domain=s3.example.com in_hosted_domain=1
in_hosted_domain_s3website=0
s->info.domain=s3.example.com
s->info.request_uri=/
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 meta>>
HTTP_X_AMZ_CONTENT_SHA256
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 meta>> HTTP_X_AMZ_DATE
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 x>>
x-amz-content-sha256:e8d828552b412fde2cd686b0a984509bc485693a02e8c53ab84cf36d1dbb961a
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 x>>
x-amz-date:20200423T050035Z
2020-04-23T07:02:17.745+0200 7f5aab2af700 20 req 1 0s get_handler
handler=26RGWHandler_REST_Service_S3
2020-04-23T07:02:17.745+0200 7f5aab2af700 10
handler=26RGWHandler_REST_Service_S3
2020-04-23T07:02:17.745+0200 7f5aab2af700 2 req 1 0s getting op 4
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 Content of POST:
Name=ajmmvc-1_topic_1&
Attributes.entry.2.key=amqp-exchange&
Attributes.entry.1.key=amqp-ack-level&
Attributes.entry.2.value=amqp.direct&
Version=2010-03-31&
Attributes.entry.3.value=amqp%3A%2F%2F127.0.0.1%3A7001&
Attributes.entry.1.value=none&
Action=CreateTopic&
Attributes.entry.3.key=push-endpoint
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 Content of POST:
Name=ajmmvc-1_topic_1&
Attributes.entry.2.key=amqp-exchange&
Attributes.entry.1.key=amqp-ack-level&
Attributes.entry.2.value=amqp.direct&
Version=2010-03-31&
Attributes.entry.3.value=amqp%3A%2F%2F127.0.0.1%3A7001&
Attributes.entry.1.value=none&
Action=CreateTopic&
Attributes.entry.3.key=push-endpoint
2020-04-23T07:02:17.745+0200 7f5aab2af700 10 Content of POST:
Name=ajmmvc-1_topic_1&
Attributes.entry.2.key=amqp-exchange&
Attributes.entry.1.key=amqp-ack-level&
Attributes.entry.2.value=amqp.direct&
Version=2010-03-31&
Attributes.entry.3.value=amqp%3A%2F%2F127.0.0.1%3A7001&
Attributes.entry.1.value=none&
Action=CreateTopic&
Attributes.entry.3.key=push-endpoint
2020-04-23T07:02:17.745+0200 7f5aab2af700 1 handler->ERRORHANDLER:
err_no=-2003 new_err_no=-2003
2020-04-23T07:02:17.745+0200 7f5aab2af700 2 req 1 0s http status=405
2020-04-23T07:02:17.745+0200 7f5aab2af700 1 ====== req done
req=0x7f5aab2a6d50 op status=0 http_status=405 latency=0s ======
Best Regards,
Andreas
_______________________________________________
ceph-users mailing list -- ceph-users(a)ceph.io
To unsubscribe send an email to ceph-users-leave(a)ceph.io