diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 84c2e489..25dbf91f 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -18,6 +18,7 @@ from chgpass import chgpass from affich_tools import coul, prompt, cprint from email_tools import send_email from syslog import * +from numeros_disponibles import lister_ip_dispo date_format = '%d/%m/%Y %H:%M' hostname = gethostname().split(".")[0] @@ -2668,37 +2669,21 @@ class Machine(BaseClasseCrans): # Dans quel réseau la machine doit-elle être placée ? if isinstance(self, MachineWifi): net = config.NETs['wifi-adh'] + pool_ip = lister_ip_dispo('wifi-adh') elif isinstance(self, BorneWifi): net = config.NETs['bornes'] + pool_ip = lister_ip_dispo('bornes') elif isinstance(self.proprietaire(), AssociationCrans): net = [ '0.0.0.0/0' ] + pool_ip = lister_ip_dispo('all') else: try: net = config.NETs[self.proprietaire().chbre()[0].lower()] + pool_ip = lister_ip_dispo(self.proprietaire().chbre()[0].lower()) except: raise RuntimeError(u'Impossible de trouver le réseau où placer la machine.') if ip == '': - pool_ip = [] # Pool d'IP à tester - for ne in net: - ip = ne.split('/')[0] - ip = ip.split('.') - n = [] - for i in ip: - n.append(int(i)) - while 1: - if n[3] < 255: - n[3] += 1 - else: - n[2] += 1 - n[3] = 0 - if n[2] == 255: break - ip = "%d.%d.%d.%d" % tuple(n) - if not iptools.AddrInNet(ip, ne): - # On est allé trop loin - break - pool_ip.append(ip) - # On va prendre choisir une IP au hasard dans le pool des IP dispo random.shuffle(pool_ip) while len(pool_ip) > 0: