Skip to content
Snippets Groups Projects
Commit 973f47d8 authored by Jan Rinze Peterzon's avatar Jan Rinze Peterzon
Browse files

Task #8900: created tool to convert output from 'qpid-route route map' to database.

parent 677a970d
No related branches found
No related tags found
No related merge requests found
...@@ -4959,10 +4959,11 @@ SAS/OTDB_Services/test/t_TreeStatusEvents.run -text svneol=unset#application/x-s ...@@ -4959,10 +4959,11 @@ SAS/OTDB_Services/test/t_TreeStatusEvents.run -text svneol=unset#application/x-s
SAS/OTDB_Services/test/t_TreeStatusEvents.sh -text svneol=unset#application/x-shellscript SAS/OTDB_Services/test/t_TreeStatusEvents.sh -text svneol=unset#application/x-shellscript
SAS/OTDB_Services/test/unittest_db.dump.gz -text svneol=unset#application/x-gzip SAS/OTDB_Services/test/unittest_db.dump.gz -text svneol=unset#application/x-gzip
SAS/ResourceAssignment/CMakeLists.txt -text SAS/ResourceAssignment/CMakeLists.txt -text
SAS/ResourceAssignment/QPIDDatabase/bin/AddHostToQPIDDB.py -text SAS/ResourceAssignment/QPIDDatabase/bin/addtoQPIDDB.py -text
SAS/ResourceAssignment/QPIDDatabase/bin/configQPIDfromDB.py -text SAS/ResourceAssignment/QPIDDatabase/bin/configQPIDfromDB.py -text
SAS/ResourceAssignment/QPIDDatabase/bin/gatherfrombrokers.sh -text SAS/ResourceAssignment/QPIDDatabase/bin/gatherfrombrokers.sh -text
SAS/ResourceAssignment/QPIDDatabase/bin/qpidinfra_dump.sql -text SAS/ResourceAssignment/QPIDDatabase/bin/qpidinfra_dump.sql -text
SAS/ResourceAssignment/QPIDDatabase/bin/route_to_struct.py -text
SAS/ResourceAssignment/QPIDDatabase/lib/QPIDDB.py -text SAS/ResourceAssignment/QPIDDatabase/lib/QPIDDB.py -text
SAS/ResourceAssignment/QPIDDatabase/lib/__init__.py -text SAS/ResourceAssignment/QPIDDatabase/lib/__init__.py -text
SAS/ResourceAssignment/QPIDDatabase/sql/qpidinfradb.sql -text SAS/ResourceAssignment/QPIDDatabase/sql/qpidinfradb.sql -text
......
...@@ -14,10 +14,15 @@ def qpidconfig_add_topic(host,exchange): ...@@ -14,10 +14,15 @@ def qpidconfig_add_topic(host,exchange):
def qpidroute_add(fromhost,tohost,exchange,routingkey): def qpidroute_add(fromhost,tohost,exchange,routingkey):
print ("qpid-route -d route add %s %s %s \'%s\' " %(tohost,fromhost,exchange,routingkey)) print ("qpid-route -d route add %s %s %s \'%s\' " %(tohost,fromhost,exchange,routingkey))
def qpidQroute_add(fromhost,tohost,queue):
print ("qpid-route -d queue add %s %s %s amq.direct" %(tohost,fromhost,queue))
QPIDinfra = qpidinfra() QPIDinfra = qpidinfra()
QPIDinfra.perqueue(qpidconfig_add_queue) QPIDinfra.perqueue(qpidconfig_add_queue)
QPIDinfra.perexchange(qpidconfig_add_topic) QPIDinfra.perexchange(qpidconfig_add_topic)
QPIDinfra.perfederationexchange(qpidroute_add) QPIDinfra.perfederationexchange(qpidroute_add)
QPIDinfra.perfederationqueue(qpidQroute_add)
......
#!/usr/bin/python
import sys
from QPIDDB import qpidinfra
todb=qpidinfra()
tosearch = sys.stdin.readlines()
numlines = len(tosearch)
#fqdn=['lhn001.cep2.lofar',
# 'ccu001.control.lofar',
# 'sas001.control.lofar',
# 'cbm001.control.lofar',
# 'cbm001.control.lofar',
# 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar', 'cbm001.control.lofar',
def to_hostname(s):
leafname=s.split(':')[0].split('.')[0].lower()
fqdn="%s.control.lofar" %(leafname)
#print leafname[0:5]
if (leafname[0:5]=='locus'):
fqdn="%s.cep2.lofar" %(leafname)
if (leafname=='lhn001'):
fqdn="%s.cep2.lofar" %(leafname)
return fqdn
print (" Num lines %d " %(numlines))
offset=0
while (tosearch[offset] != 'Static Routes:\n'):
#print ( "'%s'" %( tosearch[offset]))
offset += 1
if (offset==numlines):
print "notfound"
break
if (offset!=numlines):
for offset in range(offset,numlines):
s = tosearch[offset].split(' ')
if ( len(s) ==5 ): # valid description
hosta=to_hostname(s[2])
queuename=s[4].split('=')[1].split(')')[0]
hostb=to_hostname(s[4]) #.split(':')[0].split('.')
if (s[3]=='<='):
todb.bindqueuetohost(queuename,hosta)
todb.bindqueuetohost(queuename,hostb)
todb.setqueueroute(queuename,hostb,hosta)
print ("# queue %s from %s to %s" %(queuename,hostb,hosta))
if (s[3]=='=>'):
todb.bindqueuetohost(queuename,hosta)
todb.bindqueuetohost(queuename,hostb)
todb.setqueueroute(queuename,hosta,hostb)
print ("# queue %s from %s to %s" %(queuename,hosta,hostb))
...@@ -48,6 +48,11 @@ class qpidinfra: ...@@ -48,6 +48,11 @@ class qpidinfra:
for item in ret: for item in ret:
callback(item['fromhost'],item['tohost'],item['exchangename'],'#') #item['keyname']) callback(item['fromhost'],item['tohost'],item['exchangename'],'#') #item['keyname'])
def perfederationqueue(self,callback):
ret=self.doquery("select h1.hostname as fromhost ,h2.hostname as tohost , queuename from queueroutes JOIN hosts as h1 on (fromhost=h1.hostid) JOIN hosts as h2 on (tohost=h2.hostid) JOIN queues on (queueid=qid);")
for item in ret:
callback(item['fromhost'],item['tohost'],item['queuename'])
def gethostid(self,hostname): def gethostid(self,hostname):
tmp=self.doquery("select * from hosts where hostname='%s';" %(hostname)) tmp=self.doquery("select * from hosts where hostname='%s';" %(hostname))
if (tmp==[]): if (tmp==[]):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment