[switchs.py] gigabit pour adherents et membres actifs
Ignore-this: 3e710596ad27d77ed8b7ebee8eeb32cb Bon, pour pas faire de jaloux (paraît que c'est grave si certains sont avantagés et obtiennent quelque chose qu'on ne leur a jamais promis, sic), proof of concept qu'on peut limiter la synchro d'une prise. À part creuvarder, je vois un seul avantage à cette config: ça forcera les gens qui changent leur prise à mettre à jour la bdd en conséquence. darcs-hash:20121031024300-28565-973f0d1e481486a009c4f15ad7ab5fa3e04a4bfc.gz
This commit is contained in:
parent
c04010afbb
commit
ea60c76344
1 changed files with 15 additions and 2 deletions
|
@ -36,6 +36,8 @@ headers_by_model = {
|
||||||
'HP 2610-48':'; J9088A Configuration Editor; Created on release #R.11.54',
|
'HP 2610-48':'; J9088A Configuration Editor; Created on release #R.11.54',
|
||||||
'HP 2910al-24G':'; J9145A Configuration Editor; Created on release #W.14.38'}
|
'HP 2910al-24G':'; J9145A Configuration Editor; Created on release #W.14.38'}
|
||||||
|
|
||||||
|
gigabit_models = ['J9021A', 'J9145A']
|
||||||
|
|
||||||
try:
|
try:
|
||||||
any
|
any
|
||||||
except NameError:
|
except NameError:
|
||||||
|
@ -159,7 +161,8 @@ dhcp-snooping"""
|
||||||
interface_template = """interface %(prise)i
|
interface_template = """interface %(prise)i
|
||||||
enable
|
enable
|
||||||
name "%(nom)s"
|
name "%(nom)s"
|
||||||
%(no_flowcontrol)sflow-control%(speed)s
|
%(no_flowcontrol)s flow-control
|
||||||
|
%(speed)s
|
||||||
no lacp
|
no lacp
|
||||||
exit
|
exit
|
||||||
"""
|
"""
|
||||||
|
@ -463,14 +466,24 @@ exit
|
||||||
# chambres.
|
# chambres.
|
||||||
chbres = prise_chbres.get(annu_prise, [])
|
chbres = prise_chbres.get(annu_prise, [])
|
||||||
|
|
||||||
|
# Pour les switchs gigabit, on bloque le gigabit par défaut, sauf
|
||||||
|
# pour les membres actifs et les clubs (cf plus bas)
|
||||||
|
if model in gigabit_models:
|
||||||
|
prise_params['speed'] = 'speed-duplex auto-10-100'
|
||||||
|
|
||||||
# Combien de machines sont succeptibles d'etre sur la prise
|
# Combien de machines sont succeptibles d'etre sur la prise
|
||||||
nombre_de_machines = 0
|
nombre_de_machines = 0
|
||||||
# Pour chaque chambre sur cette prise
|
# Pour chaque chambre sur cette prise
|
||||||
for chb in chbres:
|
for chb in chbres:
|
||||||
# On selectionne les eventuels adherents y residant
|
# On selectionne les eventuels adherents y residant
|
||||||
for adherent in self.db.search("chbre=%s%s" % (bat, chb))['adherent']:
|
residents = self.db.search("chbre=%s%s" % (bat, chb))
|
||||||
|
for adherent in residents['adherent']:
|
||||||
|
if adherent.droits(): #Seuls les membres actifs ont le droit à plus
|
||||||
|
prise_params['speed'] = ''
|
||||||
# On selectionne les machines fixes de l'adherent, et on ajoute le nombre au quota
|
# On selectionne les machines fixes de l'adherent, et on ajoute le nombre au quota
|
||||||
nombre_de_machines += len(adherent.machines_fixes())
|
nombre_de_machines += len(adherent.machines_fixes())
|
||||||
|
if residents['club']:
|
||||||
|
prise_params['speed'] = ''
|
||||||
|
|
||||||
# Authentification RADIUS, pas pour les clubs...
|
# Authentification RADIUS, pas pour les clubs...
|
||||||
if not any("cl" in chbre.lower() for chbre in chbres):
|
if not any("cl" in chbre.lower() for chbre in chbres):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue