Changeset 9957 in genesis for tools


Ignore:
Timestamp:
Feb 14, 2012, 10:22:05 AM (13 years ago)
Author:
rick
Message:

DNS name generation for attached devices, to make mgnt more easy.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/gformat.py

    r9938 r9957  
    33# vim:ts=2:et:sw=2:ai
    44# Wireless Leiden configuration generator, based on yaml files'
     5#
     6# XXX: This should be rewritten to make use of the ipaddr.py library.
     7#
    58# Rick van der Zwet <info@rickvanderzwet.nl>
     9#
    610
    711# Hack to make the script directory is also threated as a module search path.
     
    616620
    617621
     622  #  WL uses an /29 to configure an interface. IP's are ordered like this:
     623  #     MasterA (.1) -- DeviceA (.2) <<>> DeviceB (.5) --- SlaveB (.6)
     624   
     625  sn = lambda x: re.sub(r'(?i)^cnode','',x)
     626
    618627  # Automatic naming convention of interlinks namely 2 + remote.lower()
    619628  for (key,value) in pool.iteritems():
     
    621630      (iface_name, fqdn, ip) = value[0]
    622631      wleiden_zone["2unused-%s.%s" % (iface_name, fqdn)] = ip
     632
     633      # Device DNS names
     634      if 'cnode' in fqdn.lower():
     635        wleiden_zone["d-at-%s.%s" % (iface_name, fqdn)] = showaddr(parseaddr(ip) + 1)
     636        wleiden_cname["d-at-%s.%s" % (iface_name,sn(fqdn))] = "d-at-%s.%s" % (iface_name, fqdn)
     637
    623638    elif len(value) == 2:
    624639      (a_iface_name, a_fqdn, a_ip) = value[0]
    625640      (b_iface_name, b_fqdn, b_ip) = value[1]
    626641      wleiden_zone["2%s.%s" % (b_fqdn,a_fqdn)] = a_ip
     642      # Slave interface
    627643      wleiden_zone["2%s.%s" % (a_fqdn,b_fqdn)] = b_ip
     644
     645      # Device DNS names
     646      if 'cnode' in a_fqdn.lower() and 'cnode' in b_fqdn.lower():
     647        wleiden_zone["d-at-%s.%s" % (a_iface_name, a_fqdn)] = showaddr(parseaddr(a_ip) + 1)
     648        wleiden_zone["d-at-%s.%s" % (b_iface_name, b_fqdn)] = showaddr(parseaddr(a_ip) - 1)
     649        wleiden_cname["d-at-%s.%s" % (a_iface_name,sn(a_fqdn))] = "d-at-%s.%s" % (a_iface_name, a_fqdn)
     650        wleiden_cname["d-at-%s.%s" % (b_iface_name,sn(b_fqdn))] = "d-at-%s.%s" % (b_iface_name, b_fqdn)
     651        wleiden_cname["d2%s.%s" % (sn(b_fqdn),sn(a_fqdn))] = "d-at-%s.%s" % (a_iface_name, a_fqdn)
     652        wleiden_cname["d2%s.%s" % (sn(a_fqdn),sn(b_fqdn))] = "d-at-%s.%s" % (b_iface_name, b_fqdn)
     653
    628654    else:
    629655      pool_members = [k[1] for k in value]
Note: See TracChangeset for help on using the changeset viewer.