Re: missing amqp-exchange on bucket-notification with AMQP endpoint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've tried to debug this a bit.

                 <EndPoint>
<EndpointAddress>amqp://rabbitmquser:rabbitmqpass@xxxxxxxxxxxxxxxxxxxx:5672</EndpointAddress> <EndpointArgs>Attributes.entry.1.key=amqp-exchange&amp;Attributes.entry.1.value=amqp.direct&amp;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




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux