I've tried to debug this a bit.
<EndPoint>
<EndpointAddress>amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672</EndpointAddress>
<EndpointArgs>Attributes.entry.1.key=amqp-exchange&Attributes.entry.1.value=amqp.direct&push-endpoint=amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672</EndpointArgs>
<EndpointTopic>testtopic</EndpointTopic>
</EndPoint>
For the above I was using the following request to create the topic -
similar as it is described here [1]:
https://ceph.example.com/?Action=CreateTopic&Name=testtopic&Attributes.entry.1.key=amqp-exchange&Attributes.entry.1.value=amqp.direct&push-endpoint=amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672
(of course endpoint then URL-encoded)
It seems to me that RGWHTTPArgs::parse() is not translating the
"Attributes.entry.1..." strings into keys & values in its map.
This are the keys & values that can now be found in the map:
Found name: Attributes.entry.1.key
Found value: amqp-exchange
Found name: Attributes.entry.1.value
Found value: amqp.direct
Found name: push-endpoint
Found value: amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672
If I simply change the request to:
https://ceph.example.com/?Action=CreateTopic&Name=testtopic&amqp-exchange=amqp.direct&push-endpoint=amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672/foobar
-> at voila, the entries in the map are correct
Found name: amqp-exchange
Found value: amqp.direct
Found name: push-endpoint
Found value: amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672
And then the bucket-notification works like it should.
But I don't think the documentation is wrong, or is it?
Cheers,
Andreas
[1] https://docs.ceph.com/docs/master/radosgw/notifications/#create-a-topic
[2] Index: ceph-15.2.1/src/rgw/rgw_common.cc
===================================================================
--- ceph-15.2.1.orig/src/rgw/rgw_common.cc
+++ ceph-15.2.1/src/rgw/rgw_common.cc
@@ -810,6 +810,8 @@ int RGWHTTPArgs::parse()
string& name = nv.get_name();
string& val = nv.get_val();
+ cout << "Found name: " << name << std::endl;
+ cout << "Found value: " << val << std::endl;
append(name, val);
}
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx