rev |
line source |
igor@67
|
1 #-----------------------------------------------------------------------
|
igor@67
|
2 # CONFIGURATION TEMPLATES
|
igor@67
|
3
|
igor@67
|
4 cisco_fa01_up="""
|
igor@67
|
5 ena
|
igor@67
|
6 conf t
|
igor@67
|
7 int fa0/0
|
igor@67
|
8 duplex half
|
igor@67
|
9 no shutdown
|
igor@67
|
10 exit
|
igor@67
|
11 int fa1/0
|
igor@67
|
12 duplex half
|
igor@67
|
13 no shutdown
|
igor@67
|
14 exit
|
igor@67
|
15 exit
|
igor@67
|
16 exit
|
igor@67
|
17 """
|
igor@67
|
18
|
igor@67
|
19 cisco_set_ip_on_int="""
|
igor@67
|
20 interface fa%s/0
|
igor@67
|
21 no ip address
|
igor@67
|
22 ip address %s 255.255.255.0
|
igor@67
|
23 exit
|
igor@67
|
24 """
|
igor@67
|
25
|
igor@67
|
26
|
igor@67
|
27
|
igor@67
|
28 def configure_ip_addresses(doms=domains):
|
igor@67
|
29
|
igor@67
|
30 cisco_set_ip_on_int="""
|
igor@67
|
31 int fa%s/0
|
igor@67
|
32 duplex full
|
igor@67
|
33 no ip address
|
igor@67
|
34 ip address %s 255.255.255.0
|
igor@67
|
35 no shutdown
|
igor@67
|
36 exit
|
igor@67
|
37 """
|
igor@67
|
38
|
igor@67
|
39 quagga_set_ip_on_int="""
|
igor@67
|
40 int eth%s
|
igor@67
|
41 no ip address
|
igor@67
|
42 ip address %s/24
|
igor@67
|
43 no shutdown
|
igor@67
|
44 exit
|
igor@67
|
45 """
|
igor@67
|
46
|
igor@67
|
47 linux_set_ip_on_int="""
|
igor@67
|
48 ifconfig eth%s %s netmask 255.255.255.0
|
igor@67
|
49 """
|
igor@67
|
50
|
igor@67
|
51 for dom in doms:
|
igor@67
|
52 i=domains.index(dom)+1
|
igor@67
|
53 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
54 command = quagga_set_ip_on_int
|
igor@67
|
55 write_to(i,"conf t\n")
|
igor@67
|
56 j=0
|
igor@67
|
57 for br in vbridges_table[dom]:
|
igor@67
|
58 write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)))
|
igor@67
|
59 j+=1
|
igor@67
|
60 write_to(i,"end\n")
|
igor@67
|
61 elif domain_types[domains.index(dom)] == 'linux':
|
igor@67
|
62 command = linux_set_ip_on_int
|
igor@67
|
63 j=0
|
igor@67
|
64 for br in vbridges_table[dom]:
|
igor@67
|
65 #write_to(i, command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)) )
|
igor@67
|
66 print i, command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i))
|
igor@67
|
67 j+=1
|
igor@67
|
68 else:
|
igor@67
|
69 command = cisco_set_ip_on_int
|
igor@67
|
70 write_to(i,"ena\nconf t\n")
|
igor@67
|
71 j=0
|
igor@67
|
72 for br in vbridges_table[dom]:
|
igor@67
|
73 write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)))
|
igor@67
|
74 j+=1
|
igor@67
|
75 write_to(i,"end\n")
|
igor@67
|
76 return 0
|
igor@67
|
77
|
igor@67
|
78 def configure_no_ip_addresses(doms=domains):
|
igor@67
|
79 cisco_set_ip_on_int="""
|
igor@67
|
80 int fa%s/0
|
igor@67
|
81 no ip address %s 255.255.255.0
|
igor@67
|
82 exit
|
igor@67
|
83 """
|
igor@67
|
84 quagga_set_ip_on_int="""
|
igor@67
|
85 int eth%s
|
igor@67
|
86 no ip address %s/24
|
igor@67
|
87 exit
|
igor@67
|
88 """
|
igor@67
|
89 for dom in doms:
|
igor@67
|
90 i=domains.index(dom)+1
|
igor@67
|
91 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
92 command = quagga_set_ip_on_int
|
igor@67
|
93 write_to(i,"\nconf t\n")
|
igor@67
|
94 j=0
|
igor@67
|
95 for br in vbridges_table[dom]:
|
igor@67
|
96 write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)))
|
igor@67
|
97 j+=1
|
igor@67
|
98 write_to(i,"\nend\n")
|
igor@67
|
99 else:
|
igor@67
|
100 command = cisco_set_ip_on_int
|
igor@67
|
101 write_to(i,"\n\n\nena\nconf t\n")
|
igor@67
|
102 j=0
|
igor@67
|
103 for br in vbridges_table[dom]:
|
igor@67
|
104 write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)))
|
igor@67
|
105 j+=1
|
igor@67
|
106 write_to(i,"\nend\n")
|
igor@67
|
107 return 0
|
igor@67
|
108
|
igor@67
|
109 def configure_ospf(doms=domains):
|
igor@67
|
110 for dom in doms:
|
igor@67
|
111 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
112 write_to(dom,"\n\nconf t\nrouter ospf\nnetwork 192.168.0.0/16 area 0\nend\n")
|
igor@67
|
113 else:
|
igor@67
|
114 write_to(dom,"\n\nena\nconf t\nrouter ospf 1\nnetwork 192.168.0.0 0.0.255.255 area 0\nend\n")
|
igor@67
|
115 return 0
|
igor@67
|
116
|
igor@67
|
117 def configure_hostname(doms=domains):
|
igor@67
|
118 for dom in doms:
|
igor@67
|
119 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
120 write_to(dom,"\n\nconf t\nhostname %s\nend\n" % dom)
|
igor@67
|
121 else:
|
igor@67
|
122 write_to(dom,"\n\nena\nconf t\nhostname %s\nend\n" % dom)
|
igor@67
|
123 return 0
|
igor@67
|
124
|
igor@67
|
125 def configure_logging_synchronous(doms=domains):
|
igor@67
|
126 for dom in domains:
|
igor@67
|
127 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
128 0
|
igor@67
|
129 else:
|
igor@67
|
130 write_to(dom,"\n\nena\nconf t\nline console 0\nlogging synchronous\nend\n")
|
igor@67
|
131 return 0
|
igor@67
|
132
|
igor@67
|
133 def configure_exec_timeout_0(doms=domains):
|
igor@67
|
134 for dom in domains:
|
igor@67
|
135 if domain_types[domains.index(dom)] == 'quagga':
|
igor@67
|
136 0
|
igor@67
|
137 else:
|
igor@67
|
138 write_to(dom,"\n\nena\nconf t\nline console 0\nexec-timeout 0\nend\n")
|
igor@67
|
139 return 0
|
igor@67
|
140
|
igor@67
|
141 def configure_no_cdp_log_mismatch_duplex(doms=domains):
|
igor@67
|
142 for dom in filter_by_type(domains,'dynamips'):
|
igor@67
|
143 write_to(dom,"\n\nena\nconf t\nno cdp log mismatch duplex\nend\n")
|
igor@67
|
144
|
igor@67
|
145 def configure_save(doms=domains):
|
igor@67
|
146 write_to(doms,"\nwr\n")
|
igor@67
|
147
|
igor@67
|
148 def configure_root(doms=domains):
|
igor@67
|
149 write_to(doms,"root\n")
|
igor@67
|
150
|
igor@67
|
151
|