rev |
line source |
igor@16
|
1 try:
|
igor@16
|
2 from xenomips_vars import N
|
igor@16
|
3 except:
|
igor@16
|
4 print "can't find xenomips_vars module"
|
igor@16
|
5
|
igor@16
|
6 pae=1
|
igor@16
|
7
|
igor@16
|
8 if pae:
|
igor@16
|
9 kernel = "/boot/vmlinuz-2.6.18-4-xen-686"
|
igor@16
|
10 ramdisk = "/boot/initrd.img-2.6.18-4-xen-686"
|
igor@16
|
11 else:
|
igor@16
|
12 kernel = "/boot/vmlinuz-2.6.18-without-PAE-4-xen-686"
|
igor@16
|
13 ramdisk = "/boot/initrd.img-2.6.18-without-PAE-4-xen-686-domU"
|
igor@16
|
14
|
igor@16
|
15 #builder='linux'
|
igor@16
|
16 cpu_cap = 10
|
igor@16
|
17
|
igor@16
|
18
|
igor@16
|
19 ############################################################################################
|
igor@16
|
20 # Topology description
|
igor@19
|
21 #
|
igor@19
|
22 #
|
igor@16
|
23
|
igor@16
|
24 network='change-default-route'
|
igor@16
|
25
|
igor@16
|
26 domains = [ 'dyn1', 'dyn2', 'dyn3', 'qua4', 'qua5', 'qua6', 'qua7', 'qua8', 'qua9', ]
|
igor@16
|
27 domain_types = [ 'xenomips', 'xenomips', 'xenomips', 'quagga', 'quagga', 'quagga', 'quagga', 'quagga', 'quagga', ]
|
igor@16
|
28 bridges = [
|
igor@16
|
29 'vlan100',
|
igor@16
|
30 'vlan101',
|
igor@16
|
31 'vlan102',
|
igor@16
|
32 'vlan103',
|
igor@16
|
33 'vlan104',
|
igor@16
|
34 'vlan105',
|
igor@16
|
35 'vlan106',
|
igor@16
|
36 'vlan107',
|
igor@16
|
37 'vlan108',
|
igor@16
|
38 'vlan109',
|
igor@16
|
39 'vlan110',
|
igor@16
|
40 'vlan111',
|
igor@16
|
41 ]
|
igor@16
|
42
|
igor@16
|
43 vbridges_table ={
|
igor@16
|
44 'dyn1' : [ 'vlan101', 'vlan102' ],
|
igor@16
|
45 'dyn2' : [ 'vlan101', 'vlan103' ],
|
igor@16
|
46 'dyn3' : [ 'vlan102', 'vlan103', 'vlan104' ],
|
igor@16
|
47
|
igor@16
|
48 'qua4' : [ 'vlan105', 'vlan106', 'vlan111' ],
|
igor@16
|
49 'qua5' : [ 'vlan110', 'vlan111' ],
|
igor@16
|
50 'qua6' : [ 'vlan109', 'vlan110' ],
|
igor@16
|
51 'qua7' : [ 'vlan108', 'vlan109' ],
|
igor@16
|
52 'qua8' : [ 'vlan107', 'vlan108' ],
|
igor@16
|
53 'qua9' : [ 'vlan106', 'vlan107' ],
|
igor@16
|
54 }
|
igor@16
|
55
|
igor@16
|
56 hidden_bridges = []
|
igor@16
|
57 broken_links = []
|
igor@16
|
58 temporary_links = []
|
igor@16
|
59
|
igor@16
|
60 ############################################################################################
|
igor@16
|
61
|
igor@16
|
62 if domain_types[int(N)] == 'quagga':
|
igor@16
|
63 memory = 64
|
igor@16
|
64 else:
|
igor@16
|
65 memory = 400
|
igor@16
|
66
|
igor@16
|
67 xenomips_dir='/xen/images/'
|
igor@16
|
68 ios_name='C7200-JK.BIN'
|
igor@16
|
69
|
igor@16
|
70 #this instance configuration
|
igor@16
|
71 name = domains[int(N)]
|
igor@16
|
72
|
igor@16
|
73 vbridges = vbridges_table[name]
|
igor@16
|
74
|
igor@16
|
75 vif=[]
|
igor@16
|
76 x=1
|
igor@16
|
77 for i in vbridges:
|
igor@16
|
78 vif.append('bridge='+i+',mac=00:16:3e:01:'+hex(int(N))[2:]+':'+hex(int('c0',16)+x)[2:])
|
igor@16
|
79 x+=1
|
igor@16
|
80
|
igor@16
|
81 disk = [ 'file:'+xenomips_dir+'xenomips1.img,hda1,r', 'file:'+xenomips_dir+'xenomips-ios1.img,hda2,r', 'file:'+xenomips_dir+'xenomips-config'+N+'.img,hda3,w' ]
|
igor@16
|
82 root = "/dev/hda1 ro"
|
igor@16
|
83
|
igor@16
|
84 xenomips='/xenomips/ios/'+ios_name+' -m 00:16:3e:01:'+hex(int(N))[2:]+':01'
|
igor@16
|
85
|
igor@16
|
86 #for i in range(len(vbridges)-2):
|
igor@16
|
87 # xenomips += ' -p '+str(i+1)+':PA-FE-TX'
|
igor@16
|
88 #
|
igor@16
|
89 #for i in range(len(vbridges)-1):
|
igor@16
|
90 # xenomips += ' -s '+str(i)+':0:gen_eth:eth'+str(i+1)
|
igor@16
|
91
|
igor@16
|
92 for i in range(len(vbridges)-1):
|
igor@16
|
93 xenomips += ' -p '+str(i+1)+':PA-FE-TX'
|
igor@16
|
94
|
igor@16
|
95 for i in range(len(vbridges)):
|
igor@16
|
96 xenomips += ' -s '+str(i)+':0:gen_eth:eth'+str(i)
|
igor@16
|
97
|
igor@16
|
98
|
igor@16
|
99 if domain_types[int(N)] == 'quagga':
|
igor@16
|
100 extra = "quagga"
|
igor@16
|
101 else:
|
igor@16
|
102 extra = "xenomips=\""+xenomips+"\""
|
igor@16
|
103
|
igor@16
|
104 on_poweroff = 'destroy'
|
igor@16
|
105 on_reboot = 'restart'
|
igor@16
|
106 on_crash = 'restart'
|