source: genesis/nodes/generate-config.py@ 8260

Last change on this file since 8260 was 8230, checked in by rick, 14 years ago

Template configurator voor IRIS type nodes

  • Property svn:executable set to *
File size: 2.0 KB
Line 
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>
5import getrange
6import sys
7
8__version__ = '$Id$'
9
10if len(sys.argv) <> 2:
11 print "Gebruik %s <nodeNaam>" % sys.argv[0]
12 print "Configurator versie: %s" % __version__
13 exit(1)
14
15nodename = sys.argv[1]
16# ALIX/IRIS Boord standaard interfaces
17interfaces = "vr0 vr1 vr2 ue0 ue1".split(' ')
18
19# Initieele IP interface, aannemend dat alles master is
20master_ip = getrange.get_ranges(False, 24, 1)[0] + 1
21interlinks = getrange.get_ranges(True, 29, len(interfaces))
22
23# Maak de boel een beetje standaard
24variables = {
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
31print """
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
49print """
50$config{'ath0'}=sprintf <<ATH0; # Access point Buurt
51TYPE=wireless
52IP=%(master_ip)s/26
53DESC=AP
54SDESC=ap
55DHCP=10-60
56MODE=master
57ESSID=ap-WirelessLeiden-%(nodename)s
58CHANNEL=8
59ATH0
60""" % variables
61
62# Alle interfaces
63for index, ifname in enumerate(interfaces):
64 print """
65$config{'%(ifname)s'}=sprintf <<%(ifname_caps)s; # Link naar XXX
66TYPE=ethernet
67EXTRA_TYPE=eth2wifibridge
68IP=%(ip)s/29
69DESC=Link naar XXX
70SDESC=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
76DHCP=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
Note: See TracBrowser for help on using the repository browser.