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 :
|
except ldap.ALREADY_EXISTS :
|
||||||
# Existe déja => rien à faire
|
# Existe déja => rien à faire
|
||||||
pass
|
pass
|
||||||
except :
|
except ldap.TYPE_OR_VALUE_EXISTS :
|
||||||
print modlist
|
# Pareil
|
||||||
|
pass
|
||||||
|
|
||||||
def search(self,expression,mode='') :
|
def search(self,expression,mode='') :
|
||||||
"""
|
"""
|
||||||
|
@ -790,11 +791,11 @@ class base_classes_crans(crans_ldap) :
|
||||||
if not self._init_data :
|
if not self._init_data :
|
||||||
modif='inscription'
|
modif='inscription'
|
||||||
else :
|
else :
|
||||||
if "chbre" in self.modifs:
|
### ON NE TOUCHE PAS A SELF.MODIFS, IL EST UTILISÉ PLUS LOIN !!!!!!!
|
||||||
self.modifs.remove("chbre")
|
|
||||||
self.modifs.append("chbre %s -> %s" % (self._init_data["chbre"][0],
|
|
||||||
self._data["chbre"][0]))
|
|
||||||
modif=', '.join(self.modifs)
|
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()
|
timestamp = localtime()
|
||||||
hist = "%s, %s" % ( time.strftime(date_format, timestamp), script_utilisateur )
|
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)
|
raise RuntimeError(u'Entrée en double dans le champ %s' % champ)
|
||||||
|
|
||||||
### Génération de la liste de services à redémarrer
|
### Génération de la liste de services à redémarrer
|
||||||
|
# Quasiement tout est traité dans les classes filles.
|
||||||
# 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 = []
|
|
||||||
for m in self.modifs :
|
for m in self.modifs :
|
||||||
if sre.match('blacklist_*',m) :
|
if sre.match('blacklist_*',m) :
|
||||||
serv.append(m)
|
services_to_restart(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')
|
|
||||||
|
|
||||||
# Reinitialisation
|
# Reinitialisation
|
||||||
self._init_data = self._data.copy()
|
self._init_data = self._data.copy()
|
||||||
|
|
||||||
for s in serv :
|
|
||||||
self.services_to_restart(s)
|
|
||||||
|
|
||||||
def _delete(self,dn,comment='') :
|
def _delete(self,dn,comment='') :
|
||||||
""" Sauvegarde puis destruction du dn (et des sous-dn) fourni """
|
""" 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
|
# Note : un peu trop de fonctions pour un club mais ce n'est pas génant
|
||||||
|
|
||||||
ret =''
|
ret =''
|
||||||
serv = []
|
|
||||||
if self._init_data :
|
if self._init_data :
|
||||||
nouveau =0
|
nouveau =0
|
||||||
# Reconfiguration switch si changement de chambre et si machine fixe
|
# Reconfiguration switch si changement de chambre et si machine fixe
|
||||||
|
@ -1078,7 +1068,10 @@ class base_proprietaire(base_classes_crans) :
|
||||||
break
|
break
|
||||||
else :
|
else :
|
||||||
nouveau = 1
|
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
|
# Enregistrement
|
||||||
self._save()
|
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 ?
|
# Faut-il redémarrer plus de services que ceux traités dans _save ?
|
||||||
if 'carteEtudiant+%s' % ann_scol in self.modifs \
|
if 'carteEtudiant+%s' % ann_scol in self.modifs \
|
||||||
or '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')
|
self.services_to_restart('bl_carte_etudiant')
|
||||||
|
|
||||||
if 'paiement+%s' % ann_scol in self.modifs \
|
if 'paiement+%s' % ann_scol in self.modifs \
|
||||||
or 'paiement-%s' % ann_scol in self.modifs :
|
or 'paiement-%s' % ann_scol in self.modifs :
|
||||||
for m in self.machines() :
|
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')
|
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()])
|
self.services_to_restart('switch',[self.chbre()])
|
||||||
if self.machines() :
|
self.services_to_restart('dhcp')
|
||||||
for s in ['dhcp', 'dhcp-nectaris', 'dns', 'firewall' ] :
|
|
||||||
if s not in serv :
|
|
||||||
serv.append(s)
|
|
||||||
|
|
||||||
# Vérification si changement de bât, ce qui obligerai un changement d'IP
|
# Vérification si changement de bât, ce qui obligerai un changement d'IP
|
||||||
if 'chbre' in self.modifs and self.chbre()!='????' :
|
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()
|
ret += "\nChangement d'IP machine %s : " % m.nom()
|
||||||
try :
|
try :
|
||||||
ret += "%s -> %s" % ( ip, m.ip('<automatique>') )
|
ret += "%s -> %s" % ( ip, m.ip('<automatique>') )
|
||||||
r = m.save()
|
m.save()
|
||||||
except c :
|
except Exception, c :
|
||||||
ret += coul(u'ERREUR : %s' % c.args[0], rouge)
|
ret += coul(u'ERREUR : %s' % c.args[0], rouge)
|
||||||
err = 1
|
err = 1
|
||||||
|
|
||||||
|
@ -1148,14 +1142,14 @@ class base_proprietaire(base_classes_crans) :
|
||||||
chgpass(self.dn)
|
chgpass(self.dn)
|
||||||
else :
|
else :
|
||||||
ret += coul(u' Il faudra penser à attribuer un mot de passe\n','jaune')
|
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
|
# Remise à zero
|
||||||
self.modifs=[]
|
self.modifs=[]
|
||||||
|
|
||||||
for s in serv :
|
|
||||||
self.services_to_restart(s)
|
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def _an(self,champ,action) :
|
def _an(self,champ,action) :
|
||||||
|
@ -2043,7 +2037,7 @@ class machine(base_classes_crans) :
|
||||||
|
|
||||||
ret =''
|
ret =''
|
||||||
|
|
||||||
# Besion de redémarrer les firewalls ?
|
# Besoin de redémarrer les firewalls ?
|
||||||
if 'ipHostNumber' in self.modifs or 'macAddress' in self.modifs :
|
if 'ipHostNumber' in self.modifs or 'macAddress' in self.modifs :
|
||||||
reconf_ip = self._init_data.get('ipHostNumber',[])
|
reconf_ip = self._init_data.get('ipHostNumber',[])
|
||||||
reconf_ip += self._data.get('ipHostNumber',[])
|
reconf_ip += self._data.get('ipHostNumber',[])
|
||||||
|
@ -2067,7 +2061,7 @@ class machine(base_classes_crans) :
|
||||||
else :
|
else :
|
||||||
self.services_to_restart('dhcp')
|
self.services_to_restart('dhcp')
|
||||||
if 'ports' in self.modifs :
|
if 'ports' in self.modifs :
|
||||||
self.services_to_restart('firewall-komaz', [ self.ip() ] )
|
self.services_to_restart('firewall-komaz-ports', [ self.ip() ] )
|
||||||
|
|
||||||
# Reconfiguration DNS ?
|
# Reconfiguration DNS ?
|
||||||
if 'host' in self.modifs or 'ipHostNumber' in self.modifs or 'hostAlias' in self.modifs :
|
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