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 |
|
---|