diff options
| author | Ted Ross <tross@apache.org> | 2010-04-23 19:07:14 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2010-04-23 19:07:14 +0000 |
| commit | 1256ed9262d0a8f769a72eb83b1669b33e1f7f59 (patch) | |
| tree | 7b7e72b21445fdd2f6715e0f90cd7a82c73e2a0a /tools/src/py | |
| parent | 4d8b7a47d1c774ccd4899c2f40acff744cf79a75 (diff) | |
| download | qpid-python-1256ed9262d0a8f769a72eb83b1669b33e1f7f59.tar.gz | |
Cluster management improvements:
1) Enable all management methods via QMFv2 for clusters
2) Disable all management methods via QMFv1 for clusters
3) The broker-resident management agent can handle both v1 and v2 method calls
4) qmf.console (Python) now works with new and old brokers by detecting whether the broker
can handle v2 commands
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937472 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tools/src/py')
| -rwxr-xr-x | tools/src/py/qpid-route | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/tools/src/py/qpid-route b/tools/src/py/qpid-route index 0e1c078c2a..156ab696f1 100755 --- a/tools/src/py/qpid-route +++ b/tools/src/py/qpid-route @@ -73,12 +73,14 @@ class RouteManager: self.remote = None self.qmf = Session() self.broker = self.qmf.addBroker(localBroker, _connTimeout) + self.broker._waitForStable() + self.agent = self.broker.getBrokerAgent() def disconnect(self): self.qmf.delBroker(self.broker) def getLink(self): - links = self.qmf.getObjects(_class="link") + links = self.agent.getObjects(_class="link") for link in links: if self.remote.match(link.host, link.port): return link @@ -89,7 +91,7 @@ class RouteManager: if self.local.match(self.remote.host, self.remote.port): raise Exception("Linking broker to itself is not permitted") - brokers = self.qmf.getObjects(_class="broker") + brokers = self.agent.getObjects(_class="broker") broker = brokers[0] link = self.getLink() if link == None: @@ -105,7 +107,7 @@ class RouteManager: def delLink(self, remoteBroker): self.remote = BrokerURL(remoteBroker) - brokers = self.qmf.getObjects(_class="broker") + brokers = self.agent.getObjects(_class="broker") broker = brokers[0] link = self.getLink() if link == None: @@ -116,7 +118,7 @@ class RouteManager: print "Close method returned:", res.status, res.text def listLinks(self): - links = self.qmf.getObjects(_class="link") + links = self.agent.getObjects(_class="link") if len(links) == 0: print "No Links Found" else: @@ -128,7 +130,6 @@ class RouteManager: (link.host, link.port, link.transport, YN(link.durable), link.state, link.lastError) def mapRoutes(self): - qmf = self.qmf print print "Finding Linked Brokers:" @@ -139,13 +140,13 @@ class RouteManager: added = True while added: added = False - links = qmf.getObjects(_class="link") + links = self.qmf.getObjects(_class="link") for link in links: url = BrokerURL("%s:%d" % (link.host, link.port)) if url.name() not in brokerList: print " %s..." % url.name(), try: - b = qmf.addBroker("%s:%d" % (link.host, link.port), _connTimeout) + b = self.qmf.addBroker("%s:%d" % (link.host, link.port), _connTimeout) brokerList[url.name()] = b added = True print "Ok" @@ -154,7 +155,7 @@ class RouteManager: print print "Dynamic Routes:" - bridges = qmf.getObjects(_class="bridge", dynamic=True) + bridges = self.qmf.getObjects(_class="bridge", dynamic=True) fedExchanges = [] for bridge in bridges: if bridge.src not in fedExchanges: @@ -182,7 +183,7 @@ class RouteManager: print print "Static Routes:" - bridges = qmf.getObjects(_class="bridge", dynamic=False) + bridges = self.qmf.getObjects(_class="bridge", dynamic=False) if len(bridges) == 0: print " none found" print @@ -216,7 +217,7 @@ class RouteManager: for broker in brokerList: if broker != self.local.name(): - qmf.delBroker(brokerList[broker]) + self.qmf.delBroker(brokerList[broker]) def addRoute(self, remoteBroker, exchange, routingKey, tag, excludes, dynamic=False): @@ -228,7 +229,7 @@ class RouteManager: if link == None: raise Exception("Link failed to create") - bridges = self.qmf.getObjects(_class="bridge") + bridges = self.agent.getObjects(_class="bridge") for bridge in bridges: if bridge.linkRef == link.getObjectId() and \ bridge.dest == exchange and bridge.key == routingKey and not bridge.srcIsQueue: @@ -250,7 +251,7 @@ class RouteManager: if link == None: raise Exception("Link failed to create") - bridges = self.qmf.getObjects(_class="bridge") + bridges = self.agent.getObjects(_class="bridge") for bridge in bridges: if bridge.linkRef == link.getObjectId() and \ bridge.dest == exchange and bridge.src == queue and bridge.srcIsQueue: @@ -274,7 +275,7 @@ class RouteManager: raise Exception("No link found from %s to %s" % (self.remote.name(), self.local.name())) sys.exit(0) - bridges = self.qmf.getObjects(_class="bridge") + bridges = self.agent.getObjects(_class="bridge") for bridge in bridges: if bridge.linkRef == link.getObjectId() and \ bridge.dest == exchange and bridge.src == queue and bridge.srcIsQueue: @@ -304,7 +305,7 @@ class RouteManager: raise Exception("No link found from %s to %s" % (self.remote.name(), self.local.name())) sys.exit(0) - bridges = self.qmf.getObjects(_class="bridge") + bridges = self.agent.getObjects(_class="bridge") for bridge in bridges: if bridge.linkRef == link.getObjectId() and bridge.dest == exchange and bridge.key == routingKey \ and bridge.dynamic == dynamic: |
