xentaur

annotate configuration_templates.py @ 67:6c145935ece5

Fixed path scripts and configuration templates moved to a single file.
author Igor Chubin <igor@chub.in>
date Mon Jan 11 13:01:35 2010 +0200 (2010-01-11)
parents
children
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