From 4d56ef5473c6486c321dd2797be45b45b0606dae Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Fri, 27 Feb 2009 23:18:17 +0000 Subject: [PATCH] merge from improvements on the 1.0 branch: svn merge -r 11011:12303 https://svn.planet-lab.org/svn/Monitor/branches/1.0/ --- bootman.py | 29 +++++++++++++++++++---------- getsshkeys.py | 7 ++++++- monitor/model.py | 2 +- monitor/wrapper/plc.py | 2 +- showlatlon.py | 4 ++-- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/bootman.py b/bootman.py index c283f6a..22201cb 100755 --- a/bootman.py +++ b/bootman.py @@ -317,7 +317,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.newbootcd_one[1] % args, True, db='bootcd_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) print "\tDisabling %s due to out-of-date BOOTCD" % hostname api.UpdateNode(hostname, {'boot_state' : 'disable'}) @@ -448,7 +449,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.baddisk[1] % args, True, db='hardware_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.set_nodestate('disable') return False @@ -613,6 +615,7 @@ def reboot(hostname, config=None, forced_action=None): "bminit-cfg-auth-implementerror-bootcheckfail-update-implementerror-bootupdatefail-done", "bminit-cfg-auth-getplc-update-installinit-validate-rebuildinitrd-netcfg-update3-implementerror-nospace-update-debug-done", "bminit-cfg-auth-getplc-hardware-installinit-installdisk-installbootfs-exception-downloadfail-update-debug-done", + "bminit-cfg-auth-getplc-update-installinit-validate-implementerror-update-debug-done", ]: sequences.update({n: "restart_node_boot"}) @@ -669,7 +672,7 @@ def reboot(hostname, config=None, forced_action=None): m = PersistMessage(hostname, mailtxt.unknownsequence[0] % args, mailtxt.unknownsequence[1] % args, False, db='unknown_persistmessages') m.reset() - m.send(['monitor-list@lists.planet-lab.org']) + m.send([config.cc_email]) conn.restart_bootmanager('boot') @@ -707,7 +710,7 @@ def reboot(hostname, config=None, forced_action=None): m = PersistMessage(hostname, "Suspicous error from BootManager on %s" % args, mailtxt.unknownsequence[1] % args, False, db='suspect_persistmessages') m.reset() - m.send(['monitor-list@lists.planet-lab.org']) + m.send([config.cc_email]) conn.restart_bootmanager('boot') @@ -718,7 +721,8 @@ def reboot(hostname, config=None, forced_action=None): m = PersistMessage(hostname, mailtxt.plnode_cfg[0] % args, mailtxt.plnode_cfg[1] % args, True, db='nodeid_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.dump_plconf_file() conn.set_nodestate('disable') @@ -730,7 +734,8 @@ def reboot(hostname, config=None, forced_action=None): m = PersistMessage(hostname, mailtxt.plnode_network[0] % args, mailtxt.plnode_cfg[1] % args, True, db='nodenet_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.dump_plconf_file() conn.set_nodestate('disable') @@ -745,7 +750,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.newalphacd_one[1] % args, True, db='bootcd_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) print "\tDisabling %s due to out-of-date BOOTCD" % hostname conn.set_nodestate('disable') @@ -763,7 +769,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.baddisk[1] % args, True, db='hardware_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.set_nodestate('disable') elif sequences[s] == "update_hardware_email": @@ -775,7 +782,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.minimalhardware[1] % args, True, db='minhardware_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.set_nodestate('disable') elif sequences[s] == "bad_dns_email": @@ -798,7 +806,8 @@ def reboot(hostname, config=None, forced_action=None): mailtxt.baddns[1] % args, True, db='baddns_persistmessages') loginbase = plc.siteId(hostname) - m.send([const.PIEMAIL % loginbase, const.TECHEMAIL % loginbase]) + emails = plc.getTechEmails(loginbase) + m.send(emails) conn.set_nodestate('disable') if flag_set: diff --git a/getsshkeys.py b/getsshkeys.py index 137ea68..68d2945 100755 --- a/getsshkeys.py +++ b/getsshkeys.py @@ -17,7 +17,12 @@ except: args = {} args['known_hosts'] = os.environ['HOME'] + os.sep + ".ssh" + os.sep + "known_hosts" -args['XMLRPC_SERVER'] = 'https://boot.planet-lab.org/PLCAPI/' +try: + import config + args['XMLRPC_SERVER'] = config.API_SERVER +except: + args['XMLRPC_SERVER'] = 'https://boot.planet-lab.org/PLCAPI/' + print "Using default API server %s" % args['XMLRPC_SERVER'] class SSHKnownHosts: def __init__(self, args = args): diff --git a/monitor/model.py b/monitor/model.py index d06edae..b4db483 100755 --- a/monitor/model.py +++ b/monitor/model.py @@ -580,7 +580,7 @@ class Record(object): contacts += plc.getTechEmails(self.loginbase) if PI & roles: #contacts += [PIEMAIL % self.loginbase] - contacts += plc.getSliceUserEmails(self.loginbase) + contacts += plc.getPIEmails(self.loginbase) if USER & roles: contacts += plc.getSliceUserEmails(self.loginbase) slices = plc.slices(self.loginbase) diff --git a/monitor/wrapper/plc.py b/monitor/wrapper/plc.py index 68eb11a..2ab1808 100644 --- a/monitor/wrapper/plc.py +++ b/monitor/wrapper/plc.py @@ -162,7 +162,7 @@ def getSliceUserEmails(loginbase): """ For the given site, return all user email addresses that have the 'tech' role. """ - #api = getAuthAPI() + api = getAuthAPI() # get site details. s = api.GetSites(loginbase)[0] # get people at site diff --git a/showlatlon.py b/showlatlon.py index 1d06594..951802a 100755 --- a/showlatlon.py +++ b/showlatlon.py @@ -83,8 +83,8 @@ def main(): begin = time.strftime(format) d = datetime_fromstr(begin) - fbstr = get_filefromglob(d, "production.findbad") - fbpcustr = get_filefromglob(d, "production.findbadpcus") + fbstr = get_filefromglob(d, "production.findbad")[0] + fbpcustr = get_filefromglob(d, "production.findbadpcus")[0] l_plcnodes = plccache.l_nodes l_plcsites = plccache.l_sites -- 2.43.0