From 8e6938200126f60b9962d403aea41835c6d4c534 Mon Sep 17 00:00:00 2001 From: chove Date: Tue, 14 Dec 2004 00:55:40 +0100 Subject: [PATCH] petite modifs, on peut automatiquement envoyer un mail certaines personnes en cas de crash d'un serveur... merci xabi pour ses ides ;-) darcs-hash:20041213235540-4ec08-e751947201d72686ad162fabc1dff4efb4ec7e55.gz --- gestion/gen_confs/autostatus.py | 45 ++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/gestion/gen_confs/autostatus.py b/gestion/gen_confs/autostatus.py index baf226e9..9c9df3f2 100755 --- a/gestion/gen_confs/autostatus.py +++ b/gestion/gen_confs/autostatus.py @@ -94,11 +94,15 @@ class autostatus(gen_config) : # format [ nom, ip, port(0=ping), description ] services_exterieurs = {} - services_exterieurs ['Jussieu'] = [ 'Jussieu', '195.83.118.1', 21, 'Le serveur FTP de Jussieu. (France)' ] - services_exterieurs ['Free'] = [ 'Free', '213.228.0.141', 21, 'Le serveur FTP de free. (France)' ] - services_exterieurs ['Voila'] = [ 'Voila', '195.101.94.80', 80, 'Est-ce que Voila fonctionne ? (France)' ] - services_exterieurs ['Yahoo!'] = [ 'Yahoo!', '66.94.230.39', 80, 'Est-ce que Yahoo! fonctionne ? (USA)' ] - services_exterieurs ['Altalavista'] = [ 'Altavista', '216.155.200.155', 80, 'Est-ce que Altavista fonctionne ? (USA)' ] + services_exterieurs ['Jussieu'] = [ 'Jussieu', '195.83.118.1', 21, 'Le serveur FTP de Jussieu. (France)', 'nobody'] + services_exterieurs ['Free'] = [ 'Free', '213.228.0.141', 21, 'Le serveur FTP de free. (France)', 'nobody' ] + services_exterieurs ['Voila'] = [ 'Voila', '195.101.94.80', 80, 'Est-ce que Voila fonctionne ? (France)', 'nobody' ] + services_exterieurs ['Yahoo!'] = [ 'Yahoo!', '66.94.230.39', 80, 'Est-ce que Yahoo! fonctionne ? (USA)', 'nobody' ] + services_exterieurs ['Altalavista'] = [ 'Altavista', '216.155.200.155', 80, 'Est-ce que Altavista fonctionne ? (USA)', 'nobody' ] + + # personnes à informer pour l'indiponibilité de certains serveurs + contact = {} + contact ['pegase.crans.org'] = 'pessoles@crans.org' # service à redémarer restart_cmd = "" @@ -119,6 +123,13 @@ class autostatus(gen_config) : append = append + " ".join( dico[i] ) + "\n" return append.encode('iso-8859-15') + def mail_contact (self, nom) : + # retourne le mail à qui envoyer les avis pour un serveur + if nom in self.contact.keys() : + return self.contact[nom] + else : + return 'nobody' + def _gen (self) : # machines crans @@ -145,12 +156,12 @@ class autostatus(gen_config) : if m.info() : # on regarde si c'est une borne de batiment if ( m.info()[0][0:3] == "Au " ) and ( len(m.info()[0]) == 5 ) : - bornes[ "1-" + m.info()[0][4]+m.info()[0][3] + "-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , 'nobody' , m.info()[0] ] + bornes[ "1-" + m.info()[0][4]+m.info()[0][3] + "-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ] else : - bornes[ "2-" + m.info()[0] + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , 'nobody' , m.info()[0] ] + bornes[ "2-" + m.info()[0] + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ] else : # on met les bornes non définies à la fin (ordre alphabétique) - bornes[ "3-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , 'nobody' , 'Inutilise' ] + bornes[ "3-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Inutilise' ] # les switchs elif m.info() and 'switch' in m.info()[0].lower() : @@ -166,15 +177,15 @@ class autostatus(gen_config) : index = 'a' + m.nom().split(".")[0] # on ajoute au dictionnaire - switchs[ index ] = [ m.nom().split(".")[0] , m.nom() , 'none' , 'nobody' , m.info()[0] ] + switchs[ index ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ] # la ferme elif '.ferme.crans.org' in m.nom() : - nom = m.nom().split(".")[0] + nom = ".".join(m.nom().split(".")[0:2]) if m.info() : - ferme[ nom ] = [ nom , m.nom() , 'none' , 'nobody' , m.info()[0] ] + ferme[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ] else : - ferme[ nom ] = [ nom , m.nom() , 'none' , 'nobody' , 'Infos non disponibles' ] + ferme[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Infos non disponibles' ] # les serveurs else : @@ -183,9 +194,9 @@ class autostatus(gen_config) : else : nom = m.nom().split(".")[0] if m.info() : - serveurs[ nom ] = [ nom , m.nom() , 'none' , 'nobody' , m.info()[0] ] + serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ] else : - serveurs[ nom ] = [ nom , m.nom() , 'none' , 'nobody' , 'Infos non disponibles' ] + serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Infos non disponibles' ] # route vers l'extérieur ######################## @@ -232,7 +243,7 @@ class autostatus(gen_config) : # on l'ajoute à la route if route_to_ext : route_to_ext += '\n' - route_to_ext += '%s %s %s nobody@crans.org %s' % (tmp_name, tmp_ip, tmp_depends, tmp_desc) + route_to_ext += '%s %s %s %s %s' % (tmp_name, tmp_ip, tmp_depends,self.mail_contact(tmp_name),tmp_desc) # services extérieurs ##################### @@ -241,9 +252,9 @@ class autostatus(gen_config) : for key in self.services_exterieurs.keys() : s = self.services_exterieurs[key] if s[2] : - services_exterieurs[ key ] = [ s[0] + ':' + str(s[2]), s[1] , depends_to_ext, 'nobody' , s[3] ] + services_exterieurs[ key ] = [ s[0] + ':' + str(s[2]), s[1] , depends_to_ext, s[4] , s[3] ] else : - services_exterieurs[ key ] = [ s[0] , s[1] , depends_to_ext, 'nobody' , s[3] ] + services_exterieurs[ key ] = [ s[0] , s[1] , depends_to_ext, s[4] , s[3] ] # génération du fichier #######################