[8230] | 1 | #!/usr/bin/env python
|
---|
| 2 | #
|
---|
| 3 | # Bouw een template Wireless Leiden wleiden.conf voor een nieuwe node
|
---|
| 4 | # Rick van der Zwet <info@rickvanderzwet.nl>
|
---|
| 5 | import getrange
|
---|
| 6 | import sys
|
---|
| 7 |
|
---|
| 8 | __version__ = '$Id$'
|
---|
| 9 |
|
---|
| 10 | if len(sys.argv) <> 2:
|
---|
| 11 | print "Gebruik %s <nodeNaam>" % sys.argv[0]
|
---|
| 12 | print "Configurator versie: %s" % __version__
|
---|
| 13 | exit(1)
|
---|
| 14 |
|
---|
| 15 | nodename = sys.argv[1]
|
---|
| 16 | # ALIX/IRIS Boord standaard interfaces
|
---|
| 17 | interfaces = "vr0 vr1 vr2 ue0 ue1".split(' ')
|
---|
| 18 |
|
---|
| 19 | # Initieele IP interface, aannemend dat alles master is
|
---|
| 20 | master_ip = getrange.get_ranges(False, 24, 1)[0] + 1
|
---|
| 21 | interlinks = getrange.get_ranges(True, 29, len(interfaces))
|
---|
| 22 |
|
---|
| 23 | # Maak de boel een beetje standaard
|
---|
| 24 | variables = {
|
---|
| 25 | 'nodename' : nodename[0].upper() + nodename[1:],
|
---|
| 26 | 'nodename_lower' : nodename.lower(),
|
---|
| 27 | 'master_ip' : getrange.showaddr(master_ip),
|
---|
| 28 | 'version' : __version__ }
|
---|
| 29 |
|
---|
| 30 | # Header
|
---|
| 31 | print """
|
---|
| 32 | #
|
---|
| 33 | # Configuratie voor CNode%(nodename)s
|
---|
| 34 | # Configuratie gegenereerd met configurator versie %(version)s
|
---|
| 35 | #
|
---|
| 36 | $location="Locatie XXX, Straat XXX, XXXX XX, Leiden";
|
---|
| 37 | $master_ip='%(master_ip)s';
|
---|
| 38 | $nodetype='CNode';
|
---|
| 39 | $nodename='%(nodename)s';
|
---|
| 40 | $status='up';
|
---|
| 41 | $release="8.0-RELEASE";
|
---|
| 42 | $X='XXXXX';
|
---|
| 43 | $Y='XXXXXX';
|
---|
| 44 | $LON='4.XXX';
|
---|
| 45 | $LAT='52.XXX';
|
---|
| 46 | """ % variables
|
---|
| 47 |
|
---|
| 48 | # Accesspoint
|
---|
| 49 | print """
|
---|
| 50 | $config{'ath0'}=sprintf <<ATH0; # Access point Buurt
|
---|
| 51 | TYPE=wireless
|
---|
| 52 | IP=%(master_ip)s/26
|
---|
| 53 | DESC=AP
|
---|
| 54 | SDESC=ap
|
---|
| 55 | DHCP=10-60
|
---|
| 56 | MODE=master
|
---|
| 57 | ESSID=ap-WirelessLeiden-%(nodename)s
|
---|
| 58 | CHANNEL=8
|
---|
| 59 | ATH0
|
---|
| 60 | """ % variables
|
---|
| 61 |
|
---|
| 62 | # Alle interfaces
|
---|
| 63 | for index, ifname in enumerate(interfaces):
|
---|
| 64 | print """
|
---|
| 65 | $config{'%(ifname)s'}=sprintf <<%(ifname_caps)s; # Link naar XXX
|
---|
| 66 | TYPE=ethernet
|
---|
| 67 | EXTRA_TYPE=eth2wifibridge
|
---|
| 68 | IP=%(ip)s/29
|
---|
| 69 | DESC=Link naar XXX
|
---|
| 70 | SDESC=2xxx-%(ifname)s
|
---|
| 71 | #MODE=XXX
|
---|
| 72 | #ESSID=XX-XX.%(nodename_lower)s.wleiden.net
|
---|
| 73 | #CHANNEL=XX
|
---|
| 74 | #NSMAC=
|
---|
| 75 | #NS_IP=%(ns_ip)s/29
|
---|
| 76 | DHCP=no
|
---|
| 77 | %(ifname_caps)s
|
---|
| 78 | """ % { 'nodename_lower' : nodename.lower(),
|
---|
| 79 | 'ifname' : ifname,
|
---|
| 80 | 'ifname_caps' : ifname.upper(),
|
---|
| 81 | 'ip' : getrange.showaddr(interlinks[index] + 1),
|
---|
| 82 | 'ns_ip' : getrange.showaddr(interlinks[index] + 2) }
|
---|
| 83 |
|
---|