summaryrefslogtreecommitdiff
path: root/tools/src/py/qpid-route
diff options
context:
space:
mode:
Diffstat (limited to 'tools/src/py/qpid-route')
-rwxr-xr-xtools/src/py/qpid-route62
1 files changed, 27 insertions, 35 deletions
diff --git a/tools/src/py/qpid-route b/tools/src/py/qpid-route
index f90416d7b0..3c4de85d1e 100755
--- a/tools/src/py/qpid-route
+++ b/tools/src/py/qpid-route
@@ -27,18 +27,18 @@ import locale
from qmf.console import Session, BrokerURL
usage = """
-Usage: qpid-route [OPTIONS] dynamic add <dest-broker> <src-broker> <exchange> [tag] [exclude-list] [mechanism]
+Usage: qpid-route [OPTIONS] dynamic add <dest-broker> <src-broker> <exchange> [tag] [exclude-list]
qpid-route [OPTIONS] dynamic del <dest-broker> <src-broker> <exchange>
qpid-route [OPTIONS] route add <dest-broker> <src-broker> <exchange> <routing-key> [tag] [exclude-list] [mechanism]
qpid-route [OPTIONS] route del <dest-broker> <src-broker> <exchange> <routing-key>
- qpid-route [OPTIONS] queue add <dest-broker> <src-broker> <exchange> <queue> [mechanism]
+ qpid-route [OPTIONS] queue add <dest-broker> <src-broker> <exchange> <queue>
qpid-route [OPTIONS] queue del <dest-broker> <src-broker> <exchange> <queue>
qpid-route [OPTIONS] route list [<dest-broker>]
qpid-route [OPTIONS] route flush [<dest-broker>]
qpid-route [OPTIONS] route map [<broker>]
- qpid-route [OPTIONS] link add <dest-broker> <src-broker> [mechanism]
+ qpid-route [OPTIONS] link add <dest-broker> <src-broker>
qpid-route [OPTIONS] link del <dest-broker> <src-broker>
qpid-route [OPTIONS] link list [<dest-broker>]"""
@@ -61,7 +61,7 @@ class Config:
self._transport = "tcp"
self._ack = 0
self._connTimeout = 10
- self._client_sasl_mechanism = None
+ self._sasl_mechanism = None
config = Config()
@@ -95,7 +95,7 @@ def OptionsAndArguments(argv):
parser.add_option("--ack", action="store", type="int", metavar="<n>", help="Acknowledge transfers over the bridge in batches of N")
parser.add_option("-t", "--transport", action="store", type="string", default="tcp", metavar="<transport>", help="Transport to use for links, defaults to tcp")
- parser.add_option("--client-sasl-mechanism", action="store", type="string", metavar="<mech>", help="SASL mechanism for authentication (e.g. EXTERNAL, ANONYMOUS, PLAIN, CRAM-MD, DIGEST-MD5, GSSAPI). Used when the client connects to the destination broker (not for authentication between the source and destination brokers - that is specified using the [mechanisms] argument to 'add route'). SASL automatically picks the most secure available mechanism - use this option to override.")
+ parser.add_option("--sasl-mechanism", action="store", type="string", metavar="<mech>", help="SASL mechanism for authentication (e.g. EXTERNAL, ANONYMOUS, PLAIN, CRAM-MD, DIGEST-MD5, GSSAPI). Used when the client connects to the destination broker (not for authentication between the source and destination brokers - that is specified using the [mechanisms] argument to 'add route'). SASL automatically picks the most secure available mechanism - use this option to override.")
opts, encArgs = parser.parse_args(args=argv)
@@ -131,8 +131,8 @@ def OptionsAndArguments(argv):
if opts.ack:
config._ack = opts.ack
- if opts.client_sasl_mechanism:
- config._client_sasl_mechanism = opts.client_sasl_mechanism
+ if opts.sasl_mechanism:
+ config._sasl_mechanism = opts.sasl_mechanism
return args
@@ -143,7 +143,7 @@ class RouteManager:
self.local = BrokerURL(localBroker)
self.remote = None
self.qmf = Session()
- self.broker = self.qmf.addBroker(localBroker, config._connTimeout, config._client_sasl_mechanism)
+ self.broker = self.qmf.addBroker(localBroker, config._connTimeout, config._sasl_mechanism)
self.broker._waitForStable()
self.agent = self.broker.getBrokerAgent()
@@ -166,7 +166,7 @@ class RouteManager:
return link
return None
- def addLink(self, remoteBroker, interbroker_mechanism=""):
+ def addLink(self, remoteBroker, mech="PLAIN"):
self.remote = BrokerURL(remoteBroker)
if self.local.match(self.remote.host, self.remote.port):
raise Exception("Linking broker to itself is not permitted")
@@ -176,7 +176,7 @@ class RouteManager:
link = self.getLink()
if link == None:
res = broker.connect(self.remote.host, self.remote.port, config._durable,
- interbroker_mechanism, self.remote.authName or "", self.remote.authPass or "",
+ mech, self.remote.authName or "", self.remote.authPass or "",
config._transport)
if config._verbose:
print "Connect method returned:", res.status, res.text
@@ -217,11 +217,11 @@ class RouteManager:
added = False
links = self.qmf.getObjects(_class="link")
for link in links:
- url = BrokerURL(host=link.host, port=link.port)
+ url = BrokerURL("%s:%d" % (link.host, link.port))
if url.name() not in self.brokerList:
print " %s..." % url.name(),
try:
- b = self.qmf.addBroker(url, config._connTimeout)
+ b = self.qmf.addBroker("%s:%d" % (link.host, link.port), config._connTimeout)
self.brokerList[url.name()] = b
added = True
print "Ok"
@@ -245,7 +245,7 @@ class RouteManager:
for bridge in bridges:
if bridge.src == ex:
link = bridge._linkRef_
- fromUrl = BrokerURL(host=link.host, port=link.port)
+ fromUrl = "%s:%s" % (link.host, link.port)
toUrl = bridge.getBroker().getUrl()
found = False
for pair in pairs:
@@ -295,11 +295,11 @@ class RouteManager:
if b[0] != self.local.name():
self.qmf.delBroker(b[1])
- def addRoute(self, remoteBroker, exchange, routingKey, tag, excludes, interbroker_mechanism="", dynamic=False):
+ def addRoute(self, remoteBroker, exchange, routingKey, tag, excludes, mech="PLAIN", dynamic=False):
if dynamic and config._srclocal:
raise Exception("--src-local is not permitted on dynamic routes")
- self.addLink(remoteBroker, interbroker_mechanism)
+ self.addLink(remoteBroker, mech)
link = self.getLink()
if link == None:
raise Exception("Link failed to create")
@@ -320,8 +320,8 @@ class RouteManager:
if config._verbose:
print "Bridge method returned:", res.status, res.text
- def addQueueRoute(self, remoteBroker, interbroker_mechanism, exchange, queue ):
- self.addLink(remoteBroker, interbroker_mechanism)
+ def addQueueRoute(self, remoteBroker, exchange, queue):
+ self.addLink(remoteBroker)
link = self.getLink()
if link == None:
raise Exception("Link failed to create")
@@ -504,12 +504,10 @@ def main(argv=None):
rm = RouteManager(localBroker)
if group == "link":
if cmd == "add":
- if nargs < 3 or nargs > 5:
+ if nargs != 4:
Usage()
return(-1)
- interbroker_mechanism = ""
- if nargs > 4: interbroker_mechanism = args[4]
- rm.addLink(remoteBroker, interbroker_mechanism)
+ rm.addLink(remoteBroker)
elif cmd == "del":
if nargs != 4:
Usage()
@@ -520,17 +518,16 @@ def main(argv=None):
elif group == "dynamic":
if cmd == "add":
- if nargs < 5 or nargs > 8:
+ if nargs < 5 or nargs > 7:
Usage()
return(-1)
tag = ""
excludes = ""
- interbroker_mechanism = ""
+ mech = "PLAIN"
if nargs > 5: tag = args[5]
if nargs > 6: excludes = args[6]
- if nargs > 7: interbroker_mechanism = args[7]
- rm.addRoute(remoteBroker, args[4], "", tag, excludes, interbroker_mechanism, dynamic=True)
+ rm.addRoute(remoteBroker, args[4], "", tag, excludes, mech, dynamic=True)
elif cmd == "del":
if nargs != 5:
Usage()
@@ -546,11 +543,11 @@ def main(argv=None):
tag = ""
excludes = ""
- interbroker_mechanism = ""
+ mech = "PLAIN"
if nargs > 6: tag = args[6]
if nargs > 7: excludes = args[7]
- if nargs > 8: interbroker_mechanism = args[8]
- rm.addRoute(remoteBroker, args[4], args[5], tag, excludes, interbroker_mechanism, dynamic=False)
+ if nargs > 8: mech = args[8]
+ rm.addRoute(remoteBroker, args[4], args[5], tag, excludes, mech, dynamic=False)
elif cmd == "del":
if nargs != 6:
Usage()
@@ -568,21 +565,16 @@ def main(argv=None):
return(-1)
elif group == "queue":
- if nargs < 6 or nargs > 7:
+ if nargs != 6:
Usage()
return(-1)
if cmd == "add":
- interbroker_mechanism = ""
- if nargs > 6: interbroker_mechanism = args[6]
- rm.addQueueRoute(remoteBroker, interbroker_mechanism, exchange=args[4], queue=args[5] )
+ rm.addQueueRoute(remoteBroker, exchange=args[4], queue=args[5])
elif cmd == "del":
rm.delQueueRoute(remoteBroker, exchange=args[4], queue=args[5])
else:
Usage()
return(-1)
- else:
- Usage()
- return(-1)
except Exception,e:
if rm: