merge from improvements on the 1.0 branch:
authorStephen Soltesz <soltesz@cs.princeton.edu>
Fri, 27 Feb 2009 23:18:17 +0000 (23:18 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Fri, 27 Feb 2009 23:18:17 +0000 (23:18 +0000)
  svn merge -r 11011:12303 https://svn.planet-lab.org/svn/Monitor/branches/1.0/

bootman.py
getsshkeys.py
monitor/model.py
monitor/wrapper/plc.py
showlatlon.py

index c283f6a..22201cb 100755 (executable)
@@ -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)
                                                        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'})
 
                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)
                                                                                 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
 
                        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-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"})
 
                         ]:
                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 = 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')
 
 
                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 = 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')
 
 
                        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 = 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')
 
                        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 = 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')
 
                        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)
                                                                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')
 
                        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)
                                                                                 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":
                        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)
                                                                                 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":
                        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)
                                                                                 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:
                        conn.set_nodestate('disable')
 
        if flag_set:
index 137ea68..68d2945 100755 (executable)
@@ -17,7 +17,12 @@ except:
 
 args = {}
 args['known_hosts'] =  os.environ['HOME'] + os.sep + ".ssh" + os.sep + "known_hosts"
 
 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):
 
 class SSHKnownHosts:
        def __init__(self, args = args):
index d06edae..b4db483 100755 (executable)
@@ -580,7 +580,7 @@ class Record(object):
                        contacts += plc.getTechEmails(self.loginbase)
                if PI & roles:
                        #contacts += [PIEMAIL % self.loginbase]
                        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)
                if USER & roles:
                        contacts += plc.getSliceUserEmails(self.loginbase)
                        slices = plc.slices(self.loginbase)
index 68eb11a..2ab1808 100644 (file)
@@ -162,7 +162,7 @@ def getSliceUserEmails(loginbase):
        """
                For the given site, return all user email addresses that have the 'tech' role.
        """
        """
                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
        # get site details.
        s = api.GetSites(loginbase)[0]
        # get people at site
index 1d06594..951802a 100755 (executable)
@@ -83,8 +83,8 @@ def main():
                begin = time.strftime(format)
 
        d = datetime_fromstr(begin)
                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
 
        l_plcnodes = plccache.l_nodes
        l_plcsites = plccache.l_sites