* Maintenant, on va pouvoir identifier formellement les machines v6-only et les autres, sans perdre
 la possibilité de passer de l'une à l'autre rapidement (avec les changements qui vont bien)
This commit is contained in:
Pierre-Elliott Bécue 2013-05-30 01:15:24 +02:00
parent 60ded9f830
commit cd75ed7bd4
5 changed files with 79 additions and 35 deletions

View file

@ -45,6 +45,7 @@ import random
import string
from unicodedata import normalize
from crans_utils import format_tel, format_mac, mailexist, validate_name, ip4_of_rid, ip6_of_mac
import itertools
sys.path.append("/usr/scripts/")
import cranslib.deprecated
@ -682,7 +683,7 @@ class ipHostNumber(Attr):
def parse_value(self, ip):
if ip == '<automatique>':
ip = ip4_of_rid(str(self.parent['rid'][0]))
self.value = netaddr.ip.IPAddress(ip)
self.value = netaddr.IPAddress(ip)
def __unicode__(self):
return unicode(self.value)
@ -735,7 +736,7 @@ class rid(Attr):
# On veut éviter les rid qui recoupent les ipv4 finissant par
# .0 ou .255
plages = [xrange(config.rid[a][0], config.rid[a][1]+1) for a in config.rid.keys() if ('v6' not in a) and ('special' not in a)]
plages = [itertools.chain(*[xrange(plage[0], plage[1]+1) for plage in value]) for (key, value) in config.rid_primaires.iteritems() if ('v6' not in key) and ('special' not in key)]
for plage in plages:
if rid in plage: