Debut de support du DHCP pour Nectaris

darcs-hash:20041129080105-d1718-ecd01b7c27a134a40fdf23077918763e1fd70cc3.gz
This commit is contained in:
bernat 2004-11-29 09:01:05 +01:00
parent 9bd581a0e9
commit 7fa2bb2f14

View file

@ -27,7 +27,7 @@ args_autorises = ['quiet', 'remove=', 'list' ,'help', 'reconnect']
if hostname == 'zamok' :
args_autorises += [ 'home=', 'mail_bienvenue=', 'ML-ENS=', 'droits', 'switch=' , 'dhcp', 'dns', 'firewall' , 'del_user=', 'blacklist_upload', 'autostatus']
elif hostname == 'nectaris' :
args_autorises += [ 'conf_wifi', 'bornes_wifi=' , 'droits-nectaris']
args_autorises += [ 'conf_wifi', 'bornes_wifi=' , 'droits-nectaris', 'dhcp-nectaris']
elif hostname == 'sila' :
args_autorises += [ 'bl_squid_upload', 'blacklist_virus' , 'blacklist_warez' , 'bl_chbre_invalide', 'bl_carte_etudiant' ]
@ -310,43 +310,7 @@ Subject: Modifications sur une machine du CR@NS
from gen_confs.firewall import firewall
inst.append([firewall(),"firewall"])
# On indique que les services seront a priori redemarrés
if auto :
for i in inst:
db.services_to_restart("-%s" % i[1])
## On fait ce qu'il reste à faire
if inst :
# Récolte des données
cprint('Lecture base LDAP','gras')
# Machines de l'assoce
machines = crans(db.conn).machines()
# Machines des adhérents et clubs de l'année en cours
base = db.search('paiement=ok')
base = base['adherent'] + base['club']
a = anim('\ttri machines',len(base))
for adh in base :
a.cycle()
# Adhérent ayant payé l'année en cours
if 'bloq' in adh.blacklist_actif() :
# Adhérent ignoré
continue
machines += adh.machines()
a.reinit()
print OK
# Reconfiguration des services
for i in inst :
i[0].debug = debug
i[0].machines = machines
try :
i[0].reconfigure()
except :
# Erreur, il faudra relancer le service la prochaine fois
if auto : db.services_to_restart('%s' % i[1])
sys.stdout.write('Erreur dans la config de %s.\n' % i[1])
elif hostname == 'nectaris':
# On s'occupe de nectaris
if 'conf_wifi' in to_do.keys():
@ -360,6 +324,10 @@ elif hostname == 'nectaris':
if auto : db.services_to_restart('conf_wifi')
sys.stdout.write('Erreur dans la config du wifi.\n')
if 'dhcp-nectaris' in to_do.keys() :
from gen_confs.dhcpd import dhcp
inst.append([dhcp(),"dhcp-nectaris"])
if 'bornes_wifi' in to_do.keys():
if auto : db.services_to_restart('-bornes_wifi')
try:
@ -433,6 +401,43 @@ elif hostname == 'sila' :
a.reconfigure()
except:
if auto: db.services_to_restart('bl_chbre_invalide')
# On indique que les services seront a priori redemarrés
if auto :
for i in inst:
db.services_to_restart("-%s" % i[1])
## On fait ce qu'il reste à faire
if inst :
# Récolte des données
cprint('Lecture base LDAP','gras')
# Machines de l'assoce
machines = crans(db.conn).machines()
# Machines des adhérents et clubs de l'année en cours
base = db.search('paiement=ok')
base = base['adherent'] + base['club']
a = anim('\ttri machines',len(base))
for adh in base :
a.cycle()
# Adhérent ayant payé l'année en cours
if 'bloq' in adh.blacklist_actif() :
# Adhérent ignoré
continue
machines += adh.machines()
a.reinit()
print OK
# Reconfiguration des services
for i in inst :
i[0].debug = debug
i[0].machines = machines
try :
i[0].reconfigure()
except :
# Erreur, il faudra relancer le service la prochaine fois
if auto : db.services_to_restart('%s' % i[1])
sys.stdout.write('Erreur dans la config de %s.\n' % i[1])
if debug :
print 'Non traité ici mais signalé dans la base LDAP : \n\t', db.services_to_restart()