return
+# NOTE: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+## These functions can ONLY be run when the server and gui are offline.
+## Any changes to the db while this is running risks introducing a failure
+## to commit, and therefore error.
+# NOTE: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
def setup_global():
# GLOBAL:
# update mediatype for email.
# copying that the php code does during a host add.
# NOTE: Instead, reformat any *xml.in templates and import those
# during /etc/plc.d/monitor sync
- for file in glob.glob("%s/zabbix/templates/*.xml.in" config.MONITOR_SCRIPT_ROOT):
+ for file in glob.glob("%s/zabbix/templates/*.xml.in" % config.MONITOR_SCRIPT_ROOT):
if 'zabbix_server' in file:
buf = loadFile(file)
args = {'hostname' : config.MONITOR_HOSTNAME, 'ip' : config.MONITOR_IP}
})
return
+def merge_iplist(iplist):
+ # TODO: rewrite addresses as x.x.x.y-z rather than x.x.x.y,x.x.x.z if y-z==1
+ ips = iplist.split(',')
+ ips.sort()
+ prev=None
+ newlist=""
+ for ip in ips:
+ fields = ip.split('.')
+ first = ".".join(fields[:2])
+ last = int(fields[3])
+ if prev:
+ if last - prev == 1:
+ pass
+ prev=last
+ newlist += "%s,"
+ return newlist[:-1]
+
def setup_site(loginbase, techemail, piemail, iplist):
# TODO: send a message when host is discovered.