Bug sur les changement de chambres (introduit lors de l'ide de mettre les
chambes dans l'historique) : les services n'taient pas redmarrs. Changement dans la gestion des services redmarrer. darcs-hash:20041211234749-41617-6e3edef0736a44f9b28acee4e6608f83644a3d55.gz
This commit is contained in:
parent
29dca42b45
commit
291139c9a7
1 changed files with 29 additions and 35 deletions
|
@ -410,8 +410,9 @@ class crans_ldap :
|
|||
except ldap.ALREADY_EXISTS :
|
||||
# Existe déja => rien à faire
|
||||
pass
|
||||
except :
|
||||
print modlist
|
||||
except ldap.TYPE_OR_VALUE_EXISTS :
|
||||
# Pareil
|
||||
pass
|
||||
|
||||
def search(self,expression,mode='') :
|
||||
"""
|
||||
|
@ -790,11 +791,11 @@ class base_classes_crans(crans_ldap) :
|
|||
if not self._init_data :
|
||||
modif='inscription'
|
||||
else :
|
||||
if "chbre" in self.modifs:
|
||||
self.modifs.remove("chbre")
|
||||
self.modifs.append("chbre %s -> %s" % (self._init_data["chbre"][0],
|
||||
self._data["chbre"][0]))
|
||||
### ON NE TOUCHE PAS A SELF.MODIFS, IL EST UTILISÉ PLUS LOIN !!!!!!!
|
||||
modif=', '.join(self.modifs)
|
||||
if "chbre" in self.modifs:
|
||||
modif.replace('chbre', "chbre %s -> %s" % (self._init_data["chbre"][0],
|
||||
self._data["chbre"][0]))
|
||||
|
||||
timestamp = localtime()
|
||||
hist = "%s, %s" % ( time.strftime(date_format, timestamp), script_utilisateur )
|
||||
|
@ -858,23 +859,13 @@ class base_classes_crans(crans_ldap) :
|
|||
raise RuntimeError(u'Entrée en double dans le champ %s' % champ)
|
||||
|
||||
### Génération de la liste de services à redémarrer
|
||||
|
||||
# Correspondance modif de la base -> service ayant besoin d'être redémarré
|
||||
# Une grosse partie du traitement est délocalisé dans les classes filles.
|
||||
serv = []
|
||||
# Quasiement tout est traité dans les classes filles.
|
||||
for m in self.modifs :
|
||||
if sre.match('blacklist_*',m) :
|
||||
serv.append(m)
|
||||
elif m == 'chbre' and '????' in [ self._init_data.get("chbre",[''])[0] , self._data.get("chbre",[''])[0] ] :
|
||||
serv.append('bl_chbre_invalide')
|
||||
elif m == 'droits' :
|
||||
serv.append('droits')
|
||||
services_to_restart(m)
|
||||
|
||||
# Reinitialisation
|
||||
self._init_data = self._data.copy()
|
||||
|
||||
for s in serv :
|
||||
self.services_to_restart(s)
|
||||
|
||||
def _delete(self,dn,comment='') :
|
||||
""" Sauvegarde puis destruction du dn (et des sous-dn) fourni """
|
||||
|
@ -1066,7 +1057,6 @@ class base_proprietaire(base_classes_crans) :
|
|||
# Note : un peu trop de fonctions pour un club mais ce n'est pas génant
|
||||
|
||||
ret =''
|
||||
serv = []
|
||||
if self._init_data :
|
||||
nouveau =0
|
||||
# Reconfiguration switch si changement de chambre et si machine fixe
|
||||
|
@ -1078,7 +1068,10 @@ class base_proprietaire(base_classes_crans) :
|
|||
break
|
||||
else :
|
||||
nouveau = 1
|
||||
|
||||
|
||||
if 'chbre' in self.modifs and '????' in [ self._init_data.get("chbre",[''])[0] , self._init_data.get("chbre",[''])[0] ] :
|
||||
serv.append('bl_chbre_invalide')
|
||||
|
||||
# Enregistrement
|
||||
self._save()
|
||||
|
||||
|
@ -1096,20 +1089,21 @@ class base_proprietaire(base_classes_crans) :
|
|||
# Faut-il redémarrer plus de services que ceux traités dans _save ?
|
||||
if 'carteEtudiant+%s' % ann_scol in self.modifs \
|
||||
or 'carteEtudiant-%s' % ann_scol in self.modifs \
|
||||
and self.machines() and 'bl_carte_etudiant' not in serv :
|
||||
and self.machines() :
|
||||
self.services_to_restart('bl_carte_etudiant')
|
||||
|
||||
if 'paiement+%s' % ann_scol in self.modifs \
|
||||
or 'paiement-%s' % ann_scol in self.modifs :
|
||||
for m in self.machines() :
|
||||
if m.ipsec() and not 'conf_wifi' in serv :
|
||||
self.services_to_restart('firewall',[m.ip()] )
|
||||
self.services_to_restart('firewall-komaz',[m.ip()] )
|
||||
self.services_to_restart('dns')
|
||||
if m.ipsec() :
|
||||
self.services_to_restart('conf_wifi')
|
||||
elif not self.chbre() in serv :
|
||||
self.services_to_restart('dhcp-nectaris')
|
||||
else :
|
||||
self.services_to_restart('switch',[self.chbre()])
|
||||
if self.machines() :
|
||||
for s in ['dhcp', 'dhcp-nectaris', 'dns', 'firewall' ] :
|
||||
if s not in serv :
|
||||
serv.append(s)
|
||||
self.services_to_restart('dhcp')
|
||||
|
||||
# Vérification si changement de bât, ce qui obligerai un changement d'IP
|
||||
if 'chbre' in self.modifs and self.chbre()!='????' :
|
||||
|
@ -1129,8 +1123,8 @@ class base_proprietaire(base_classes_crans) :
|
|||
ret += "\nChangement d'IP machine %s : " % m.nom()
|
||||
try :
|
||||
ret += "%s -> %s" % ( ip, m.ip('<automatique>') )
|
||||
r = m.save()
|
||||
except c :
|
||||
m.save()
|
||||
except Exception, c :
|
||||
ret += coul(u'ERREUR : %s' % c.args[0], rouge)
|
||||
err = 1
|
||||
|
||||
|
@ -1148,14 +1142,14 @@ class base_proprietaire(base_classes_crans) :
|
|||
chgpass(self.dn)
|
||||
else :
|
||||
ret += coul(u' Il faudra penser à attribuer un mot de passe\n','jaune')
|
||||
|
||||
# Modif des droits ?
|
||||
if 'droits' in self.modifs :
|
||||
self.services_to_restart('droits')
|
||||
|
||||
|
||||
# Remise à zero
|
||||
self.modifs=[]
|
||||
|
||||
for s in serv :
|
||||
self.services_to_restart(s)
|
||||
|
||||
return ret
|
||||
|
||||
def _an(self,champ,action) :
|
||||
|
@ -2043,7 +2037,7 @@ class machine(base_classes_crans) :
|
|||
|
||||
ret =''
|
||||
|
||||
# Besion de redémarrer les firewalls ?
|
||||
# Besoin de redémarrer les firewalls ?
|
||||
if 'ipHostNumber' in self.modifs or 'macAddress' in self.modifs :
|
||||
reconf_ip = self._init_data.get('ipHostNumber',[])
|
||||
reconf_ip += self._data.get('ipHostNumber',[])
|
||||
|
@ -2067,7 +2061,7 @@ class machine(base_classes_crans) :
|
|||
else :
|
||||
self.services_to_restart('dhcp')
|
||||
if 'ports' in self.modifs :
|
||||
self.services_to_restart('firewall-komaz', [ self.ip() ] )
|
||||
self.services_to_restart('firewall-komaz-ports', [ self.ip() ] )
|
||||
|
||||
# Reconfiguration DNS ?
|
||||
if 'host' in self.modifs or 'ipHostNumber' in self.modifs or 'hostAlias' in self.modifs :
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue