igor@67: #----------------------------------------------------------------------- igor@67: # CONFIGURATION TEMPLATES igor@67: igor@67: cisco_fa01_up=""" igor@67: ena igor@67: conf t igor@67: int fa0/0 igor@67: duplex half igor@67: no shutdown igor@67: exit igor@67: int fa1/0 igor@67: duplex half igor@67: no shutdown igor@67: exit igor@67: exit igor@67: exit igor@67: """ igor@67: igor@67: cisco_set_ip_on_int=""" igor@67: interface fa%s/0 igor@67: no ip address igor@67: ip address %s 255.255.255.0 igor@67: exit igor@67: """ igor@67: igor@67: igor@67: igor@67: def configure_ip_addresses(doms=domains): igor@67: igor@67: cisco_set_ip_on_int=""" igor@67: int fa%s/0 igor@67: duplex full igor@67: no ip address igor@67: ip address %s 255.255.255.0 igor@67: no shutdown igor@67: exit igor@67: """ igor@67: igor@67: quagga_set_ip_on_int=""" igor@67: int eth%s igor@67: no ip address igor@67: ip address %s/24 igor@67: no shutdown igor@67: exit igor@67: """ igor@67: igor@67: linux_set_ip_on_int=""" igor@67: ifconfig eth%s %s netmask 255.255.255.0 igor@67: """ igor@67: igor@67: for dom in doms: igor@67: i=domains.index(dom)+1 igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: command = quagga_set_ip_on_int igor@67: write_to(i,"conf t\n") igor@67: j=0 igor@67: for br in vbridges_table[dom]: igor@67: write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i))) igor@67: j+=1 igor@67: write_to(i,"end\n") igor@67: elif domain_types[domains.index(dom)] == 'linux': igor@67: command = linux_set_ip_on_int igor@67: j=0 igor@67: for br in vbridges_table[dom]: igor@67: #write_to(i, command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)) ) igor@67: print i, command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i)) igor@67: j+=1 igor@67: else: igor@67: command = cisco_set_ip_on_int igor@67: write_to(i,"ena\nconf t\n") igor@67: j=0 igor@67: for br in vbridges_table[dom]: igor@67: write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i))) igor@67: j+=1 igor@67: write_to(i,"end\n") igor@67: return 0 igor@67: igor@67: def configure_no_ip_addresses(doms=domains): igor@67: cisco_set_ip_on_int=""" igor@67: int fa%s/0 igor@67: no ip address %s 255.255.255.0 igor@67: exit igor@67: """ igor@67: quagga_set_ip_on_int=""" igor@67: int eth%s igor@67: no ip address %s/24 igor@67: exit igor@67: """ igor@67: for dom in doms: igor@67: i=domains.index(dom)+1 igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: command = quagga_set_ip_on_int igor@67: write_to(i,"\nconf t\n") igor@67: j=0 igor@67: for br in vbridges_table[dom]: igor@67: write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i))) igor@67: j+=1 igor@67: write_to(i,"\nend\n") igor@67: else: igor@67: command = cisco_set_ip_on_int igor@67: write_to(i,"\n\n\nena\nconf t\n") igor@67: j=0 igor@67: for br in vbridges_table[dom]: igor@67: write_to(i,command % (j, "192.168.%s.%s"%(bridges.index(br)+1,i))) igor@67: j+=1 igor@67: write_to(i,"\nend\n") igor@67: return 0 igor@67: igor@67: def configure_ospf(doms=domains): igor@67: for dom in doms: igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: write_to(dom,"\n\nconf t\nrouter ospf\nnetwork 192.168.0.0/16 area 0\nend\n") igor@67: else: igor@67: 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: return 0 igor@67: igor@67: def configure_hostname(doms=domains): igor@67: for dom in doms: igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: write_to(dom,"\n\nconf t\nhostname %s\nend\n" % dom) igor@67: else: igor@67: write_to(dom,"\n\nena\nconf t\nhostname %s\nend\n" % dom) igor@67: return 0 igor@67: igor@67: def configure_logging_synchronous(doms=domains): igor@67: for dom in domains: igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: 0 igor@67: else: igor@67: write_to(dom,"\n\nena\nconf t\nline console 0\nlogging synchronous\nend\n") igor@67: return 0 igor@67: igor@67: def configure_exec_timeout_0(doms=domains): igor@67: for dom in domains: igor@67: if domain_types[domains.index(dom)] == 'quagga': igor@67: 0 igor@67: else: igor@67: write_to(dom,"\n\nena\nconf t\nline console 0\nexec-timeout 0\nend\n") igor@67: return 0 igor@67: igor@67: def configure_no_cdp_log_mismatch_duplex(doms=domains): igor@67: for dom in filter_by_type(domains,'dynamips'): igor@67: write_to(dom,"\n\nena\nconf t\nno cdp log mismatch duplex\nend\n") igor@67: igor@67: def configure_save(doms=domains): igor@67: write_to(doms,"\nwr\n") igor@67: igor@67: def configure_root(doms=domains): igor@67: write_to(doms,"root\n") igor@67: igor@67: