Description of problem: There are certain new broker entities that can be created in conjunction with AMQP 1.0 support, e.g. 'topics' which offer a way around the inability to configure subscription queues through addresses in qpid::messaging. However, creating, listing and deleting isn't supported by qpid-config. The alternatives are tp use qpid-tool (which is not the most user friendly utility), qpidt (a rather raw test utility that currently isn't installed for MRG rpms) or script your own QMFv2 tool. There is a change already upstream that adds this ability to qpid-config that could be backported if desired.
I've done a quick testing of this new feature. The tool is capable of creating, listing and deleting the objects (such as topics). But if the object with this particular name is already present on the broker, an attempt to create it does not return any error or throws any warning message at least: (0) root@lzhaldyb-rhel64x ~ $ qpid-config add topic test.topic --argument exchange=test.ex --argument durable=True (0) root@lzhaldyb-rhel64x ~ $ qpid-config list topic Objects of type 'topic' name durable properties exchangeRef ============================================== test.topic True {} test.ex (0) root@lzhaldyb-rhel64x ~ $ qpid-config add topic test.topic --argument exchange=amq.direct --argument durable=False (0) root@lzhaldyb-rhel64x ~ $ echo $? 0 (0) root@lzhaldyb-rhel64x ~ $ qpid-config list topic Objects of type 'topic' name durable properties exchangeRef ============================================== test.topic True {} test.ex I think that the tool should warn the user that the object already exists regardless of the object type, it already does so for queues and exchanges: (0) root@lzhaldyb-rhel64x ~ $ qpid-config add queue test Failed: Exception: Exception from Agent: {u'error_code': 7, u'error_text': 'object already exists: test'} I'm returning this back to ASSIGNED.
Strictly speaking the issue here is with the broker, not the tool (i.e connected with https://bugzilla.redhat.com/show_bug.cgi?id=981642). Fixed upstream however by https://svn.apache.org/r1560307
Situation didn't change from the Comment 6. root @rhel6i ~ $ 15:23:56 # qpid-config add exchange fanout test.ex root @rhel6i ~ $ 15:24:10 # qpid-config add topic test.topic --argument exchange=test.ex --argument durable=True root @rhel6i ~ $ 15:24:14 # qpid-config add topic test.topic --argument exchange=test.ex --argument durable=True root @rhel6i ~ $ 15:24:15 # echo $? 0 Still no error in case that object already exists
verified on qpid-tools-0.22-14
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2014-1296.html