summaryrefslogtreecommitdiffstats
path: root/abs/core/xymon/hbnotes.py
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2012-10-13 15:52:16 (GMT)
committerJames Meyer <james.meyer@operamail.com>2012-10-13 15:52:16 (GMT)
commite1bc87901b78eac47748de1a19e8c3ff9f9793c7 (patch)
tree88920c41d3ea72f0c403635790e2c46704f844ec /abs/core/xymon/hbnotes.py
parentb6fb3906faee03056e4615f070251b8efc5097d9 (diff)
downloadlinhes_pkgbuild-e1bc87901b78eac47748de1a19e8c3ff9f9793c7.zip
linhes_pkgbuild-e1bc87901b78eac47748de1a19e8c3ff9f9793c7.tar.gz
linhes_pkgbuild-e1bc87901b78eac47748de1a19e8c3ff9f9793c7.tar.bz2
xymon-server: hbnotes and dot file. replace . in hostname with _.
This was needed because the dot file format does not like . in it
Diffstat (limited to 'abs/core/xymon/hbnotes.py')
-rw-r--r--abs/core/xymon/hbnotes.py258
1 files changed, 136 insertions, 122 deletions
diff --git a/abs/core/xymon/hbnotes.py b/abs/core/xymon/hbnotes.py
index b4c39bf..158bcd8 100644
--- a/abs/core/xymon/hbnotes.py
+++ b/abs/core/xymon/hbnotes.py
@@ -7,61 +7,22 @@ import sys
import getopt
import socket
import os
-global ignorehostlist
-try:
- import ignoreclient
- ignorehostlist=ignoreclient.ignorehosts
-except:
- print "could not find the ignore list"
- ignorehostlist="'ignoreme'"
+def create_dot_file():
+ try:
+ import ignoreclient
+ ignorehostlist=ignoreclient.ignorehosts
+ except:
+ print "could not find the ignore list"
+ ignorehostlist="'ignoreme'"
-def createdropdown(currenthostype):
- dir = "/data/storage/disk0/backup/system_backups"
- dropdown=" "
- dropdown='''
- <input name="param2" type="radio" value="Restore" />Restore database </>
- <select name="param1">\n'''
- os.chdir(dir)
- if os.path.exists(dir):
- files = os.listdir(dir)
- files.sort(key=lambda x: os.path.getmtime(x) , reverse=True)
- #for file in os.listdir(dir):
- if len(files) > 20:
- del files[20:]
-
- for file in files:
- if (file.endswith(".tgz")):
- dropdown+=' <option value="' + file + '">' + file + '</option> \n'
- dropdown+=''' </select>
- <br>
- <input name="param2" type="radio" value="Backup" checked="checked" />Backup database<br />
- <input name="param2" type="radio" value="Optimize" />Optimize database<br />
- '''
- if currenthostype == "Master_backend":
- dropdown+='<input name="param2" type="radio" value="ShutdownAll" />Shutdown All Systems (expect MBE)<br /> \n'
- #dropdown+='''<input name="param2" type="radio" value="UpdateAll" />Update All Systems </> <select name="param5">
- #<option value="Myth_only">Myth only</option>
- #<option value="All"> Full System</option>
- #</select>
- #</br>
- #</br>
- #</br>'''
-
- dropdown+=''' </br></br>\n'''
- return dropdown
-
-def main(argv):
db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
-
- # create a cursor
cursor = db.cursor()
-#------------------------------write client-config------------------------------------------------
SQL="SELECT DISTINCT(hostname) from settings where hostname not in(%s)"
cursor.execute(SQL %ignorehostlist)
result = cursor.fetchall()
@@ -77,19 +38,20 @@ def main(argv):
dotslavefe=list()
tunerdict = {}
for row in result:
- #print row[0]
- #Find the system type
+ hostname = row[0]
+ dot_hostname = row[0].replace('.','_')
+ #Find the system type
cursor.execute("select value,data from settings where hostname=%s and value in ('HostSystemType','HostRunFrontend');",(row))
hostvalues=cursor.fetchall()
if len(hostvalues) == 2:
if hostvalues[1][1] == 'Frontend_only':
- frontonly+=","+row[0]
- dotfrontend.append(row[0])
+ frontonly+=","+dot_hostname
+ dotfrontend.append(dot_hostname)
elif hostvalues[1][1] == 'Standalone':
- stand_alone+=","+row[0]
- dotMBE="MBE" + " [ label=\"" + row[0] + " \\n Standalone \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
- dotfrontend.append(row[0])
+ stand_alone+=","+dot_hostname
+ dotMBE="MBE" + " [ label=\"" + dot_hostname + " \\n Standalone \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
+ dotfrontend.append(dot_hostname)
cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
tuners=cursor.fetchall()
tstring=""
@@ -106,12 +68,12 @@ def main(argv):
elif hostvalues[1][1] == 'Master_backend':
if hostvalues[0][1]=='0':
- masterbackend+=","+row[0]
- dotMBE="MBE" + " [ label=\"" + row[0] + " \\n Master Backend \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
+ masterbackend+=","+dot_hostname
+ dotMBE="MBE" + " [ label=\"" + dot_hostname + " \\n Master Backend \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
else:
- masterbacked_w_fe+=","+row[0]
- dotMBE="MBE" + " [ label=\"" + row[0] + " \\n Master Backend with frontend \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
- dotfrontend.append(row[0])
+ masterbacked_w_fe+=","+dot_hostname
+ dotMBE="MBE" + " [ label=\"" + dot_hostname + " \\n Master Backend with frontend \" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=blue4 style=filled ] "
+ dotfrontend.append(dot_hostname)
cursor.execute("select cardtype,defaultinput from capturecard where hostname=%s;",(row))
tuners=cursor.fetchall()
tstring=""
@@ -131,31 +93,31 @@ def main(argv):
tuners=cursor.fetchall()
#slave withoutfe
if hostvalues[0][1]=='0':
- slave+=","+row[0]
- dotslave.append(row[0])
+ slave+=","+dot_hostname
+ dotslave.append(dot_hostname)
tstring=""
if len(tuners) <= 0:
- tunerdict["STUNER"+row[0]]="No Tuners"
+ tunerdict["STUNER"+dot_hostname]="No Tuners"
else:
for t in tuners:
tstring+=t[0]
tstring+=t[1]
tstring+='\\n'
- tunerdict["STUNER"+row[0]]=tstring
+ tunerdict["STUNER"+dot_hostname]=tstring
else:
#slave with fe
tstring=""
if len(tuners) <= 0:
- tunerdict["STUNER"+row[0]]="No Tuners"
+ tunerdict["STUNER"+dot_hostname]="No Tuners"
else:
for t in tuners:
tstring+=t[0]
tstring+=t[1]
tstring+='\\n'
- tunerdict["STUNER"+row[0]]=tstring
- slave_w_fe+=","+row[0]
- dotslave.append(row[0])
- dotfrontend.append(row[0])
+ tunerdict["STUNER"+dot_hostname]=tstring
+ slave_w_fe+=","+dot_hostname
+ dotslave.append(dot_hostname)
+ dotfrontend.append(dot_hostname)
#----------------------------------Create graphviz dot files
@@ -166,7 +128,7 @@ def main(argv):
dotfile.write("graph [bgcolor=transparent]" + "\n" )
#print tunerdict
-#define the nodes
+ #define the nodes
dotfile.write( dotMBE + " \n" )
dotfile.write("tunermbe"+ " [ label= \"" + tunerdict["MBE"] + "\" , shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/tuner.png\" fontcolor=\"white\" color=red ] \n" )
@@ -182,11 +144,7 @@ def main(argv):
#adding slave to dot file
dotfile.write("SLAVE"+fe + "[ label=\"slave backend \\n " + fe + "\" shapefile=\"/data/srv/httpd/htdocs/xymon/gifs/be.png\" fontcolor=\"white\" color=green ] \n" )
-
-
-
-
-#connect up the nodes!
+ #connect up the nodes!
dotfile.write("tunermbe -> MBE [color=\"red\"] \n " )
for fe in dotfrontend:
@@ -209,59 +167,51 @@ def main(argv):
results=os.popen(cmd,'r')
- #--------------------------------------------------
- #hobbitfile="/home/xymon/server/etc/hobbit-clients.cfg"
- ###WHY WAS THIS HERE??
- #hobbitfile="/home/xymon/server/etc/tasks.cfg"
- #hobbitf=open(hobbitfile,'r')
- #hobbitconfig=hobbitf.readlines()
- #hobbitf.close()
- #hobbitf=open(hobbitfile,'w')
- #print "FE",frontonly
- #print "MBE",masterbackend
- #print "MBEwFW",masterbacked_w_fe
- #print "SLAVEwFW",slave_w_fe
- #print "SLAVE",slave
- #print "STD",stand_alone
- #for line in hobbitconfig:
- #if line.startswith("HOST"):
- #cline=line.split("=")
- #if cline[1].startswith("_FRONTEND_"):
- #pline="HOST="
- #pline+=frontonly.strip()
- #hobbitf.write(pline + "\n")
- #elif cline[1].startswith("_MASTERBACKEND_"):
- #pline="HOST="
- #pline+=masterbackend.strip()
- ##print pline
- #hobbitf.write(pline+ "\n")
- #elif cline[1].startswith("_MASTERFRONTEND_"):
- #pline="HOST="
- #pline+=masterbacked_w_fe.strip()
- ##print pline
- #hobbitf.write(pline+ "\n")
- #elif cline[1].startswith("_SLAVEBACKEND_"):
- #pline="HOST="
- #pline+=slave.strip()
- ##print pline
- #hobbitf.write(pline+ "\n")
- #elif cline[1].startswith("_SLAVEFE_"):
- #pline="HOST="
- #pline+=slave_w_fe.strip()
- ##print pline
- #hobbitf.write(pline+ "\n")
- #else:
- ##print line
- #hobbitf.write(line)
- #else:
- ##print line
- #hobbitf.write(line)
-#-----------------------------------------------------------END CLIENT CONFIG
- # execute SQL statement
+def createdropdown(currenthostype):
+ dir = "/data/storage/disk0/backup/system_backups"
+ dropdown=" "
+ dropdown='''
+ <input name="param2" type="radio" value="Restore" />Restore database </>
+ <select name="param1">\n'''
+ os.chdir(dir)
+ if os.path.exists(dir):
+ files = os.listdir(dir)
+ files.sort(key=lambda x: os.path.getmtime(x) , reverse=True)
+ #for file in os.listdir(dir):
+ if len(files) > 20:
+ del files[20:]
+
+
+ for file in files:
+ if (file.endswith(".tgz")):
+ dropdown+=' <option value="' + file + '">' + file + '</option> \n'
+ dropdown+=''' </select>
+ <br>
+ <input name="param2" type="radio" value="Backup" checked="checked" />Backup database<br />
+ <input name="param2" type="radio" value="Optimize" />Optimize database<br />
+ '''
+ if currenthostype == "Master_backend":
+ dropdown+='<input name="param2" type="radio" value="ShutdownAll" />Shutdown All Systems (expect MBE)<br /> \n'
+ #dropdown+='''<input name="param2" type="radio" value="UpdateAll" />Update All Systems </> <select name="param5">
+ #<option value="Myth_only">Myth only</option>
+ #<option value="All"> Full System</option>
+ #</select>
+ #</br>
+ #</br>
+ #</br>'''
+
+ dropdown+=''' </br></br>\n'''
+ return dropdown
+
+
+def create_notes():
+ db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
+ # create a cursor
+ cursor = db.cursor()
cursor.execute("SELECT DISTINCT(hostname) from settings")
result = cursor.fetchall()
@@ -448,5 +398,69 @@ function Do_it ()
string=('</html>')
file.write(string)
+
+def main(argv):
+ create_dot_file()
+ create_notes()
+
+
+#------------------------------write client-config------------------------------------------------
+
+
+ #--------------------------------------------------
+ #hobbitfile="/home/xymon/server/etc/hobbit-clients.cfg"
+
+ ###WHY WAS THIS HERE??
+ #hobbitfile="/home/xymon/server/etc/tasks.cfg"
+ #hobbitf=open(hobbitfile,'r')
+ #hobbitconfig=hobbitf.readlines()
+ #hobbitf.close()
+ #hobbitf=open(hobbitfile,'w')
+ #print "FE",frontonly
+ #print "MBE",masterbackend
+ #print "MBEwFW",masterbacked_w_fe
+ #print "SLAVEwFW",slave_w_fe
+ #print "SLAVE",slave
+ #print "STD",stand_alone
+
+ #for line in hobbitconfig:
+ #if line.startswith("HOST"):
+ #cline=line.split("=")
+ #if cline[1].startswith("_FRONTEND_"):
+ #pline="HOST="
+ #pline+=frontonly.strip()
+ #hobbitf.write(pline + "\n")
+ #elif cline[1].startswith("_MASTERBACKEND_"):
+ #pline="HOST="
+ #pline+=masterbackend.strip()
+ ##print pline
+ #hobbitf.write(pline+ "\n")
+ #elif cline[1].startswith("_MASTERFRONTEND_"):
+ #pline="HOST="
+ #pline+=masterbacked_w_fe.strip()
+ ##print pline
+ #hobbitf.write(pline+ "\n")
+ #elif cline[1].startswith("_SLAVEBACKEND_"):
+ #pline="HOST="
+ #pline+=slave.strip()
+ ##print pline
+ #hobbitf.write(pline+ "\n")
+ #elif cline[1].startswith("_SLAVEFE_"):
+ #pline="HOST="
+ #pline+=slave_w_fe.strip()
+ ##print pline
+ #hobbitf.write(pline+ "\n")
+ #else:
+ ##print line
+ #hobbitf.write(line)
+ #else:
+ ##print line
+ #hobbitf.write(line)
+
+#-----------------------------------------------------------END CLIENT CONFIG
+
+ # execute SQL statement
+
+
if __name__ == "__main__":
main(sys.argv[1:])