blob: d3ea33ddee3c825b2ea8ba5b422228730f0a0979 [file] [log] [blame]
santhosh91195f12014-08-07 13:53:50 -07001class scaleONOS7nodes :
2
3
4
5 def __init__(self) :
6 self.default = ''
7
8# def print_hello_world(self,main):
9# print("hello world")
10#*****************************************************************************************************************************************************************************************
11#Test startup
12#Tests the startup of Zookeeper1, RamCloud1, and ONOS1 to be certain that all started up successfully
13 def CASE1(self,main) : #Check to be sure ZK, Cass, and ONOS are up, then get ONOS version
14 main.case("Initial setup")
15 main.step("Stop ONOS")
16 import time
santhoshbc421422014-08-17 09:48:49 -070017 main.log.info("Stopping all ONOS nodes...")
santhosh91195f12014-08-07 13:53:50 -070018 main.ONOS1.stop_all()
19 main.ONOS2.stop_all()
20 main.ONOS3.stop_all()
21# main.print_hello_world()
22 main.ONOS4.stop_all()
santhoshbc421422014-08-17 09:48:49 -070023 main.ONOS5.stop_all()
24 main.ONOS6.stop_all()
25 main.ONOS7.stop_all()
26 #main.ONOS2.stop_rest()
santhoshf6863782014-08-11 15:28:24 -070027 time.sleep(5)
santhosh91195f12014-08-07 13:53:50 -070028 #main.ONOS1.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
29 #main.ONOS2.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
30 #main.ONOS3.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
31 #main.ONOS4.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
32 #main.step("Start tcpdump on mn")
33 #main.Mininet2.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port'])
santhoshbc421422014-08-17 09:48:49 -070034 main.step("Starting 3 ONOS nodes...")
santhosh91195f12014-08-07 13:53:50 -070035 main.Zookeeper1.start()
36 main.Zookeeper2.start()
37 main.Zookeeper3.start()
38 main.Zookeeper4.start()
santhoshbc421422014-08-17 09:48:49 -070039 main.Zookeeper5.start()
40 main.Zookeeper6.start()
41 main.Zookeeper7.start()
42
santhosh91195f12014-08-07 13:53:50 -070043 time.sleep(5)
44
45
46 main.RamCloud1.del_db()
47 main.RamCloud2.del_db()
48 main.RamCloud3.del_db()
santhoshbc421422014-08-17 09:48:49 -070049 # main.RamCloud4.del_db()
santhosh91195f12014-08-07 13:53:50 -070050
51 time.sleep(5)
52 #main.log.report("Pulling latest code from github to all nodes")
53
54 """
55 for i in range(2):
56 uptodate = main.ONOS1.git_pull()
57 main.ONOS2.git_pull()
58 main.ONOS3.git_pull()
59 # main.ONOS4.git_pull()
60 ver1 = main.ONOS1.get_version()
61 ver2 = main.ONOS3.get_version()
62 if ver1==ver2:
63 break
64 elif i==1:
65 main.ONOS2.git_pull("ONOS1 master")
66 main.ONOS3.git_pull("ONOS1 master")
67 # main.ONOS4.git_pull("ONOS1 master")
68 if uptodate==0:
69 # if 1:
70 main.ONOS1.git_compile()
71 main.ONOS2.git_compile()
72 main.ONOS3.git_compile()
73 # main.ONOS4.git_compile()
74 main.ONOS1.print_version()
75 # main.RamCloud1.git_pull()
76 # main.RamCloud2.git_pull()
77 # main.RamCloud3.git_pull()
78 # main.RamCloud4.git_pull()
79 # main.ONOS1.get_version()
80 # main.ONOS2.get_version()
81 # main.ONOS3.get_version()
82 # main.ONOS4.get_version()
83 # main.ONOS1.start_all()
84 # main.ONOS2.start_all()
85 # main.ONOS3.start_all()
86 # main.ONOS4.start_all()
87
88 """
89 main.RamCloud1.start_coor()
90 main.RamCloud1.start_serv()
91 main.RamCloud2.start_serv()
92 main.RamCloud3.start_serv()
santhoshbc421422014-08-17 09:48:49 -070093 time.sleep(5)
santhosh91195f12014-08-07 13:53:50 -070094 main.ONOS1.start()
95 main.ONOS2.start()
96 main.ONOS3.start()
97 #main.ONOS4.start()
santhoshbc421422014-08-17 09:48:49 -070098 time.sleep(5)
99
100 #main.ONOS1.handle.sendline("./onos.sh core start")
101 #main.ONOS1.handle.sendline("./onos.sh core start")
102 #main.ONOS1.handle.sendline("./onos.sh core start")
santhosh91195f12014-08-07 13:53:50 -0700103
104 main.ONOS1.start_rest()
105 main.ONOS2.start_rest()
106 main.ONOS3.start_rest()
107 test= main.ONOS2.rest_status()
108 if test == main.FALSE:
109 main.ONOS1.start_rest()
110 main.ONOS1.get_version()
111 main.log.report("Startup check Zookeeper1, RamCloud1, and ONOS1 connections")
112 main.step("Testing startup Zookeeper")
113 data = main.Zookeeper1.isup() and main.Zookeeper2.isup() and main.Zookeeper3.isup()
114 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Zookeeper is up!",onfail="Zookeeper is down...")
115
116 main.step("Testing startup RamCloud")
117 data = main.RamCloud1.status_serv() and main.RamCloud2.status_serv() and main.RamCloud3.status_serv() #and main.RamCloud4.status_serv()
118 if data == main.FALSE:
119 main.RamCloud1.stop_coor()
120 main.RamCloud1.stop_serv()
121 main.RamCloud2.stop_serv()
122 main.RamCloud3.stop_serv()
123 # main.RamCloud4.stop_serv()
124
125 time.sleep(5)
126 main.RamCloud1.start_coor()
127 main.RamCloud1.start_serv()
128 main.RamCloud2.start_serv()
129 main.RamCloud3.start_serv()
130 # main.RamCloud4.start_serv()
131 time.sleep(5)
132 data = main.RamCloud1.status_serv() and main.RamCloud2.status_serv() and main.RamCloud3.status_serv() #and main.RamCloud4.status_serv()
133
134
135
136 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="RamCloud is up!",onfail="RamCloud is down...")
137
138 main.step("Testing startup ONOS")
139 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() #and main.ONOS4.isup()
140 for i in range(3):
141 if data == main.FALSE:
142 #main.log.report("Something is funny... restarting ONOS")
143 #main.ONOS1.stop()
144 time.sleep(3)
145 #main.ONOS1.start()
146 #time.sleep(5)
147 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() #and main.ONOS4.isup()
148 else:
149 break
150 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
151 time.sleep(10)
152
153
santhoshbc421422014-08-17 09:48:49 -0700154 def CASE31(self,main):
155 main.case("Staring SB load with 3 ONOS nodes")
santhosh91195f12014-08-07 13:53:50 -0700156 ip1 = main.params['CTRL']['ip1']
157 ip2 = main.params['CTRL']['ip2']
158 ip3 = main.params['CTRL']['ip3']
159 rate1 = main.params['RATE1']
160 run_dur = main.params['RUN_DUR']
161 loop = int( main.params['loop'])
162 port = main.params['port']
163 switches_num = main.params['switches_num']
164 print loop
santhoshbc421422014-08-17 09:48:49 -0700165 sleep_init = int(main.params['sleep_init'])
santhosh91195f12014-08-07 13:53:50 -0700166 sleep_t =int( main.params['sleep_t'])
167 main.case("Starting SB load on 3 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
santhoshf6863782014-08-11 15:28:24 -0700168 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
169 main.log.info("Adding switches and ports.....")
170 main.Mininet2.handle.expect("Starting SB load....", timeout=400)
171 main.log.info("Starting SB load....")
santhosh91195f12014-08-07 13:53:50 -0700172 import time
173 import json
santhoshbc421422014-08-17 09:48:49 -0700174 time.sleep(sleep_init)
santhosh91195f12014-08-07 13:53:50 -0700175 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", 'w').close()
176 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
177 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
178 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
179 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", "a")
180 #time.sleep(10)
181 for i in range(int (loop)):
santhoshbc421422014-08-17 09:48:49 -0700182 j1 = main.ONOS2.get_json(url1)
183 j2 = main.ONOS2.get_json(url2)
184 j3 = main.ONOS2.get_json(url3)
185 json_str = []
186 json_str.append(0)
187 json_str.append(j1)
188 json_str.append(j2)
189 json_str.append(j3)
190 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
santhosh91195f12014-08-07 13:53:50 -0700191 # write_str = str(json_str["meters"][4]["meter"][2])
192 #print str(json_str["meters"][4])
193 #f.write(str(json_str["meters"][4]))
194 #f.write('\n')
195 #time.sleep(3)
santhoshbc421422014-08-17 09:48:49 -0700196 for j in range(1,4):
197 f.write("ONOS" + str(j) + "\n")
198 f.write(str(json_str[j]["meters"][4]['meter']['count']))
199 f.write('\t')
200 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
201 f.write('\t')
202 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
203 f.write('\t')
204 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
205 f.write('\t')
206 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
207 f.write('\n')
208
santhosh91195f12014-08-07 13:53:50 -0700209 f.write('\n')
210 f.write('\n')
211
212 f.write("--------------------------------------------------------------------------------- \n")
213 time.sleep(sleep_t)
214 f.close()
215 main.Mininet2.handle.expect("\$", timeout=900)
216 # main.Mininet2.handle.sendline("sudo mn -c")
217 #main.Mininet2.handle.expect("\$")
santhosh91195f12014-08-07 13:53:50 -0700218 # main.Mininet2.handle.expect("\$", timeout=900)
santhoshbc421422014-08-17 09:48:49 -0700219 time.sleep(180)
santhosh91195f12014-08-07 13:53:50 -0700220
221
santhoshbc421422014-08-17 09:48:49 -0700222 def CASE32(self,main):
santhosh91195f12014-08-07 13:53:50 -0700223 ip1 = main.params['CTRL']['ip1']
224 ip2 = main.params['CTRL']['ip2']
225 ip3 = main.params['CTRL']['ip3']
226 import time
227 rate2 = main.params['RATE2']
228 run_dur = main.params['RUN_DUR']
229 loop = int(main.params['loop'])
santhoshbc421422014-08-17 09:48:49 -0700230 sleep_init = int(main.params['sleep_init'])
santhosh91195f12014-08-07 13:53:50 -0700231 sleep_t = int(main.params['sleep_t'])
232 port = main.params['port']
233 switches_num = main.params['switches_num']
234 main.case("Starting SB load on 3 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
santhoshf6863782014-08-11 15:28:24 -0700235 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
236 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
santhosh91195f12014-08-07 13:53:50 -0700237 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"10.128.10.1\" 100 50 1200 \"11\"")
santhoshf6863782014-08-11 15:28:24 -0700238 main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
santhoshbc421422014-08-17 09:48:49 -0700239 time.sleep(sleep_init )
santhosh91195f12014-08-07 13:53:50 -0700240 import json
santhoshbc421422014-08-17 09:48:49 -0700241 time.sleep(sleep_init)
santhosh91195f12014-08-07 13:53:50 -0700242 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", 'w').close()
243 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
244 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
245 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
246 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", "a")
santhosh91195f12014-08-07 13:53:50 -0700247 for i in range(int (loop)):
santhoshbc421422014-08-17 09:48:49 -0700248 j1 = main.ONOS1.get_json(url1)
249 j2 = main.ONOS1.get_json(url2)
250 j3 = main.ONOS1.get_json(url3)
251 json_str = []
252 json_str.append(0)
253 json_str.append(j1)
254 json_str.append(j2)
255 json_str.append(j3)
256 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
santhosh91195f12014-08-07 13:53:50 -0700257 # write_str = str(json_str["meters"][4]["meter"][2])
258 #print str(json_str["meters"][4])
259 #f.write(str(json_str["meters"][4]))
260 #f.write('\n')
261 #time.sleep(3)
santhoshbc421422014-08-17 09:48:49 -0700262 for j in range(1,4):
263 f.write("ONOS" + str(j) + "\n")
264 f.write(str(json_str[j]["meters"][4]['meter']['count']))
265 f.write('\t')
266 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
267 f.write('\t')
268 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
269 f.write('\t')
270 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
271 f.write('\t')
272 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
273 f.write('\n')
274
santhosh91195f12014-08-07 13:53:50 -0700275 f.write('\n')
276 f.write('\n')
santhoshbc421422014-08-17 09:48:49 -0700277
santhosh91195f12014-08-07 13:53:50 -0700278 f.write("--------------------------------------------------------------------------------- \n")
279 time.sleep(sleep_t)
santhoshbc421422014-08-17 09:48:49 -0700280 f.close()
281 #time.sleep(10)
santhosh91195f12014-08-07 13:53:50 -0700282 main.Mininet2.handle.expect("\$", timeout=900)
santhoshbc421422014-08-17 09:48:49 -0700283 time.sleep(180)
santhosh91195f12014-08-07 13:53:50 -0700284 # main.Mininet2.handle.sendline("sudo mn -c")
285 #time.sleep(5)
286 # main.Mininet2.handle.expect("\$", timeout=900)
287
288
santhoshbc421422014-08-17 09:48:49 -0700289 def CASE33(self,main):
santhosh91195f12014-08-07 13:53:50 -0700290
291 main.case("Starting NB Throughput test")
292 ip1 = main.params['CTRL']['ip1']
293 ip2 = main.params['CTRL']['ip2']
294 ip3 = main.params['CTRL']['ip3']
295 import time
296 import json
297
298 main.Mininet4.handle.expect("\$")
299 #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
300 #main.Mininet2.handle.expect("mininet>" , timeout=400)
301 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
302 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.1:6633")
303 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.2:6633")
304 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.2:6633")
305 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.3:6633")
306 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.3:6633")
307 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.3:6633")
308
309 main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
310 main.ONOS3.handle.expect("\$")
311
santhoshbc421422014-08-17 09:48:49 -0700312 main.ONOS3.handle.sendline("./loadgen_NB.py -n 3 -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 \" -i 10 -a 10 -l 60 -p 20")
313 main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
santhosh91195f12014-08-07 13:53:50 -0700314
santhoshbc421422014-08-17 09:48:49 -0700315 time.sleep(60)
santhosh91195f12014-08-07 13:53:50 -0700316 import json
317
318 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", 'w').close()
319 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
320 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
321 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
322 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", "a")
323 #time.sleep(10)
324 for i in range(8):
santhoshbc421422014-08-17 09:48:49 -0700325 j1 = main.ONOS1.get_json(url1)
326 j2 = main.ONOS1.get_json(url2)
327 j3 = main.ONOS1.get_json(url3)
328 json_str = []
329 json_str.append(0)
330 json_str.append(j1)
331 json_str.append(j2)
332 json_str.append(j3)
333 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
334 for j in range(1,4):
335 f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
336 f.write(str(json_str[j]["meters"][0]['meter']['count']))
337 f.write('\t')
338 f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
339 f.write('\t')
340 f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
341 f.write('\t')
342 f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
343 f.write('\t')
344 f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
345 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700346
santhoshbc421422014-08-17 09:48:49 -0700347 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700348
santhoshbc421422014-08-17 09:48:49 -0700349 f.write("--------------------------------------------------------------------------------- \n")
350
351 f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
352 f.write(str(json_str[j]["meters"][1]['meter']['count']))
353 f.write('\t')
354 f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
355 f.write('\t')
356 f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
357 f.write('\t')
358 f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
359 f.write('\t')
360 f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
361 f.write('\n')
362 f.write('\n')
363 f.write('\n')
364
365 f.write("--------------------------------------------------------------------------------- \n")
366 f.write("--------------------------------------------------------------------------------- \n \n")
367 time.sleep(10)
santhosh91195f12014-08-07 13:53:50 -0700368 f.close()
santhosh91195f12014-08-07 13:53:50 -0700369
santhoshbc421422014-08-17 09:48:49 -0700370 main.ONOS3.handle.expect("\$", timeout=900)
371
372
373 def CASE4(self,main):
santhosh91195f12014-08-07 13:53:50 -0700374
375 main.case("Starting ONOS scale-up to 4 nodes ")
376 import time
377 # main.RamCloud4.start_serv()
santhoshbc421422014-08-17 09:48:49 -0700378 main.ONOS5.stop_all()
379 main.ONOS6.stop_all()
380 main.ONOS7.stop_all()
381
382
383 main.Zookeeper4.start()
santhoshf6863782014-08-11 15:28:24 -0700384 time.sleep(5)
385
386 main.RamCloud4.del_db()
387 time.sleep(3)
388 main.RamCloud4.start_serv()
389 time.sleep(3)
santhosh91195f12014-08-07 13:53:50 -0700390 main.ONOS4.start()
391 main.ONOS4.start_rest()
392 time.sleep(5)
393 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
394 for i in range(3):
395 if data == main.FALSE:
396 #main.log.report("Something is funny... restarting ONOS")
397 #main.ONOS1.stop()
398 time.sleep(3)
399 #main.ONOS1.start()
400 #time.sleep(5)
401 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
402 else:
403 break
404 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
santhoshbc421422014-08-17 09:48:49 -0700405
406 time.sleep(10)
407
408 def CASE5(self,main):
409
410 main.case("Starting ONOS scale-up/down to 5 nodes ")
411 import time
412 # main.RamCloud4.start_serv()
413 main.ONOS6.stop_all()
414 main.ONOS7.stop_all()
415 #pdata = main.ONOS5.isup()
416
417 main.Zookeeper5.start()
418 time.sleep(5)
419
420 main.RamCloud5.del_db()
421 time.sleep(3)
422 main.RamCloud5.start_serv()
423 time.sleep(3)
424 main.ONOS5.start()
425 main.ONOS5.start_rest()
426 time.sleep(5)
427 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
428 for i in range(3):
429 if data == main.FALSE:
430 #main.log.report("Something is funny... restarting ONOS")
431 #main.ONOS1.stop()
432 time.sleep(3)
433 #main.ONOS1.start()
434 #time.sleep(5)
435 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
436 else:
437 break
438 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
santhosh91195f12014-08-07 13:53:50 -0700439 time.sleep(10)
440
441 def CASE6(self,main):
442
santhoshbc421422014-08-17 09:48:49 -0700443 main.case("Starting ONOS scale-up/down to 6 nodes ")
444 import time
445 # main.RamCloud4.start_serv()
446 main.ONOS7.stop_all()
447 #pdata = main.ONOS6.isup()
448
449 main.Zookeeper6.start()
450 time.sleep(5)
451
452 main.RamCloud6.del_db()
453 time.sleep(3)
454 main.RamCloud6.start_serv()
455 time.sleep(3)
456 main.ONOS6.start()
457 main.ONOS6.start_rest()
458 time.sleep(5)
459 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
460 for i in range(3):
461 if data == main.FALSE:
462 #main.log.report("Something is funny... restarting ONOS")
463 #main.ONOS1.stop()
464 time.sleep(3)
465 #main.ONOS1.start()
466 #time.sleep(5)
467 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
468 else:
469 break
470 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
471 time.sleep(10)
472
473 def CASE7(self,main):
474
475 main.case("Starting ONOS scale-up/down to 7 nodes ")
476 import time
477 # main.RamCloud4.start_serv()
478 #pdata = main.ONOS7.isup()
479
480 main.Zookeeper7.start()
481 time.sleep(5)
482
483 main.RamCloud7.del_db()
484 time.sleep(3)
485 main.RamCloud7.start_serv()
486 time.sleep(3)
487 main.ONOS7.start()
488 main.ONOS7.start_rest()
489 time.sleep(5)
490 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup() and main.ONOS7.isup()
491 for i in range(3):
492 if data == main.FALSE:
493 #main.log.report("Something is funny... restarting ONOS")
494 #main.ONOS1.stop()
495 time.sleep(3)
496 #main.ONOS1.start()
497 #time.sleep(5)
498 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup() and main.ONOS7.isup()
499 else:
500 break
501 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
502 time.sleep(10)
503
504
505
506 def CASE41(self,main):
507 main.case("Starting SB test for 4 nodes")
santhosh91195f12014-08-07 13:53:50 -0700508 ip1 = main.params['CTRL']['ip1']
509 ip2 = main.params['CTRL']['ip2']
510 ip3 = main.params['CTRL']['ip3']
511 ip4 = main.params['CTRL']['ip4']
512 rate1 = main.params['RATE1']
513 run_dur = main.params['RUN_DUR']
514 loop = int( main.params['loop'])
515 switches_num = main.params['switches_num']
516 port = main.params['port']
517 print loop
santhoshbc421422014-08-17 09:48:49 -0700518 sleep_init = int(main.params['sleep_init'])
santhosh91195f12014-08-07 13:53:50 -0700519 sleep_t =int( main.params['sleep_t'])
520 main.case("Starting SB load on 4 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
santhoshf6863782014-08-11 15:28:24 -0700521 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
522 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
523 main.Mininet2.handle.expect("Starting SB load....", timeout=900)
santhosh91195f12014-08-07 13:53:50 -0700524 import time
525 import json
santhoshbc421422014-08-17 09:48:49 -0700526 time.sleep(sleep_init)
santhosh91195f12014-08-07 13:53:50 -0700527 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", 'w').close()
528 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
529 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
530 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
531 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
532
533 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", "a")
534 #time.sleep(10)
535 for i in range(int (loop)):
santhoshbc421422014-08-17 09:48:49 -0700536 j1 = main.ONOS2.get_json(url1)
537 j2 = main.ONOS2.get_json(url2)
538 j3 = main.ONOS2.get_json(url3)
539 j4 = main.ONOS2.get_json(url4)
540 json_str = []
541 json_str.append(0)
542 json_str.append(j1)
543 json_str.append(j2)
544 json_str.append(j3)
545 json_str.append(j4)
546 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
santhosh91195f12014-08-07 13:53:50 -0700547 # write_str = str(json_str["meters"][4]["meter"][2])
548 #print str(json_str["meters"][4])
549 #f.write(str(json_str["meters"][4]))
550 #f.write('\n')
551 #time.sleep(3)
santhoshbc421422014-08-17 09:48:49 -0700552 for j in range(1,5):
553 f.write("ONOS" + str(j) + "\n")
554 f.write(str(json_str[j]["meters"][4]['meter']['count']))
555 f.write('\t')
556 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
557 f.write('\t')
558 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
559 f.write('\t')
560 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
561 f.write('\t')
562 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
563 f.write('\n')
564
santhosh91195f12014-08-07 13:53:50 -0700565 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700566 f.write('\n')
567
santhoshbc421422014-08-17 09:48:49 -0700568 f.write("--------------------------------------------------------------------------------- \n")
santhosh91195f12014-08-07 13:53:50 -0700569 time.sleep(sleep_t)
570 f.close()
santhoshbc421422014-08-17 09:48:49 -0700571
santhosh91195f12014-08-07 13:53:50 -0700572 #main.Mininet2.handle.expect("\$", timeout=900)
573 #main.Mininet2.handle.sendline("sudo mn -c")
574 #main.Mininet2.handle.expect("\$")
575 time.sleep(5)
576 main.Mininet2.handle.expect("\$", timeout=900)
santhoshbc421422014-08-17 09:48:49 -0700577 time.sleep(180)
santhosh91195f12014-08-07 13:53:50 -0700578
579
santhoshbc421422014-08-17 09:48:49 -0700580 def CASE42(self,main):
santhosh91195f12014-08-07 13:53:50 -0700581
582 ip1 = main.params['CTRL']['ip1']
583 ip2 = main.params['CTRL']['ip2']
584 ip3 = main.params['CTRL']['ip3']
585 ip4 = main.params['CTRL']['ip4']
586
587 import time
588 import json
589 rate2 = main.params['RATE2']
590 run_dur = main.params['RUN_DUR']
591 loop = int(main.params['loop'])
santhoshbc421422014-08-17 09:48:49 -0700592 sleep_init = int(main.params['sleep_init'])
santhosh91195f12014-08-07 13:53:50 -0700593 sleep_t = int(main.params['sleep_t'])
santhoshf6863782014-08-11 15:28:24 -0700594 switches_num = main.params['switches_num']
santhosh91195f12014-08-07 13:53:50 -0700595 port = main.params['port']
596 main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
santhoshf6863782014-08-11 15:28:24 -0700597 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
598 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
599 main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
santhoshbc421422014-08-17 09:48:49 -0700600 time.sleep(sleep_init)
santhosh91195f12014-08-07 13:53:50 -0700601 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", 'w').close()
602 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
603 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
604 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
605 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
606 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", "a")
607 #time.sleep(10)
608 for i in range(int (loop)):
santhoshbc421422014-08-17 09:48:49 -0700609 j1 = main.ONOS2.get_json(url1)
610 j2 = main.ONOS2.get_json(url2)
611 j3 = main.ONOS2.get_json(url3)
612 j4 = main.ONOS2.get_json(url4)
613 json_str = []
614 json_str.append(0)
615 json_str.append(j1)
616 json_str.append(j2)
617 json_str.append(j3)
618 json_str.append(j4)
619 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
620 # write_str = str(json_str["meters"][4]["meter"][2])
621 #print str(json_str["meters"][4])
622 #f.write(str(json_str["meters"][4]))
623 #f.write('\n')
624 #time.sleep(3)
625 for j in range(1,5):
626 f.write("ONOS" + str(j) + "\n")
627 f.write(str(json_str[j]["meters"][4]['meter']['count']))
628 f.write('\t')
629 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
630 f.write('\t')
631 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
632 f.write('\t')
633 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
634 f.write('\t')
635 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
636 f.write('\n')
637
638 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700639 f.write('\n')
640
santhoshbc421422014-08-17 09:48:49 -0700641 f.write("--------------------------------------------------------------------------------- \n")
santhosh91195f12014-08-07 13:53:50 -0700642 time.sleep(sleep_t)
santhoshbc421422014-08-17 09:48:49 -0700643 f.close()
644 time.sleep(180)
santhosh91195f12014-08-07 13:53:50 -0700645
santhoshbc421422014-08-17 09:48:49 -0700646 def CASE43(self,main):
santhosh91195f12014-08-07 13:53:50 -0700647
648 main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
649 ip1 = main.params['CTRL']['ip1']
650 ip2 = main.params['CTRL']['ip2']
651 ip3 = main.params['CTRL']['ip3']
652 ip4 = main.params['CTRL']['ip4']
653
654 import time
655 import json
656
657 main.Mininet4.handle.expect("\$")
658 #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
659 #main.Mininet2.handle.expect("mininet>" , timeout=400)
660 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
661 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
662 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
663 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
664 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
665 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
666 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
667
668 main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
669 main.ONOS3.handle.expect("\$")
670
671 main.ONOS3.handle.sendline("./multiLoadgen_NB.py -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 \" -i 4 -g 100 -a 1 -d 1 -p 0")
672 main.ONOS3.handle.expect("intent group is : 0", timeout=900)
673
674
675 import json
676
677 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale4nodesrate1", 'w').close()
678 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
679 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
680 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
681 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
682 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale4nodesrate1", "a")
683 #time.sleep(10)
684 for i in range(8):
santhoshbc421422014-08-17 09:48:49 -0700685 j1 = main.ONOS2.get_json(url1)
686 j2 = main.ONOS2.get_json(url2)
687 j3 = main.ONOS2.get_json(url3)
688 j4 = main.ONOS2.get_json(url4)
689 json_str = []
690 json_str.append(0)
691 json_str.append(j1)
692 json_str.append(j2)
693 json_str.append(j3)
694 json_str.append(j4)
695 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
696 for j in range(1,5):
697 f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
698 f.write(str(json_str[j]["meters"][0]['meter']['count']))
699 f.write('\t')
700 f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
701 f.write('\t')
702 f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
703 f.write('\t')
704 f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
705 f.write('\t')
706 f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
707 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700708
santhoshbc421422014-08-17 09:48:49 -0700709 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700710
santhoshbc421422014-08-17 09:48:49 -0700711 f.write("--------------------------------------------------------------------------------- \n")
712
713 f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
714 f.write(str(json_str[j]["meters"][1]['meter']['count']))
715 f.write('\t')
716 f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
717 f.write('\t')
718 f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
719 f.write('\t')
720 f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
721 f.write('\t')
722 f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
723 f.write('\n')
724 f.write('\n')
725 f.write('\n')
santhosh91195f12014-08-07 13:53:50 -0700726
santhoshbc421422014-08-17 09:48:49 -0700727 f.write("--------------------------------------------------------------------------------- \n")
728 f.write("--------------------------------------------------------------------------------- \n \n")
729 time.sleep(10)
santhosh91195f12014-08-07 13:53:50 -0700730 f.close()
santhoshbc421422014-08-17 09:48:49 -0700731
santhosh91195f12014-08-07 13:53:50 -0700732
733 main.ONOS3.handle.expect("\$", timeout=900)
santhoshbc421422014-08-17 09:48:49 -0700734
735
736 def CASE51(self,main):
737 main.case("Starting SB test for 5 nodes")
738 ip1 = main.params['CTRL']['ip1']
739 ip2 = main.params['CTRL']['ip2']
740 ip3 = main.params['CTRL']['ip3']
741 ip4 = main.params['CTRL']['ip4']
742 ip5 = main.params['CTRL']['ip5']
743 rate1 = main.params['RATE1']
744 run_dur = main.params['RUN_DUR']
745 loop = int( main.params['loop'])
746 switches_num = main.params['switches_num']
747 port = main.params['port']
748 print loop
749 sleep_init = int(main.params['sleep_init'])
750 sleep_t =int( main.params['sleep_t'])
751 main.case("Starting SB load on 5 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
752 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
753 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
754 main.Mininet2.handle.expect("Starting SB load....", timeout=900)
755 import time
756 import json
757 time.sleep(sleep_init)
758
759 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", 'w').close()
760 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
761 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
762 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
763 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
764 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
765
766 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", "a")
767 #time.sleep(10)
768 for i in range(int (loop)):
769 j1 = main.ONOS2.get_json(url1)
770 j2 = main.ONOS2.get_json(url2)
771 j3 = main.ONOS2.get_json(url3)
772 j4 = main.ONOS2.get_json(url4)
773 j5 = main.ONOS2.get_json(url5)
774 json_str = []
775 json_str.append(0)
776 json_str.append(j1)
777 json_str.append(j2)
778 json_str.append(j3)
779 json_str.append(j4)
780 json_str.append(j5)
781 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "":
782 # write_str = str(json_str["meters"][4]["meter"][2])
783 #print str(json_str["meters"][4])
784 #f.write(str(json_str["meters"][4]))
785 #f.write('\n')
786 #time.sleep(3)
787 for j in range(1,6):
788 f.write("ONOS" + str(j) + "\n")
789 f.write(str(json_str[j]["meters"][4]['meter']['count']))
790 f.write('\t')
791 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
792 f.write('\t')
793 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
794 f.write('\t')
795 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
796 f.write('\t')
797 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
798 f.write('\n')
799
800 f.write('\n')
801 f.write('\n')
802
803 f.write("--------------------------------------------------------------------------------- \n")
804 time.sleep(sleep_t)
805 f.close()
806
807 #main.Mininet2.handle.expect("\$", timeout=900)
808 #main.Mininet2.handle.sendline("sudo mn -c")
809 #main.Mininet2.handle.expect("\$")
810 time.sleep(5)
811 main.Mininet2.handle.expect("\$", timeout=900)
812 time.sleep(180)
813
814
815 def CASE52(self,main):
816
817 ip1 = main.params['CTRL']['ip1']
818 ip2 = main.params['CTRL']['ip2']
819 ip3 = main.params['CTRL']['ip3']
820 ip4 = main.params['CTRL']['ip4']
821 ip5 = main.params['CTRL']['ip5']
822
823 import time
824 import json
825 rate2 = main.params['RATE2']
826 run_dur = main.params['RUN_DUR']
827 loop = int(main.params['loop'])
828 sleep_t = int(main.params['sleep_t'])
829 sleep_init = int(main.params['sleep_init'])
830 switches_num = main.params['switches_num']
831 port = main.params['port']
832 main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
833 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
834 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
835 main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
836 time.sleep(sleep_init)
837 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", 'w').close()
838 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
839 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
840 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
841 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
842 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
843 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", "a")
844 #time.sleep(10)
845 for i in range(int (loop)):
846 j1 = main.ONOS2.get_json(url1)
847 j2 = main.ONOS2.get_json(url2)
848 j3 = main.ONOS2.get_json(url3)
849 j4 = main.ONOS2.get_json(url4)
850 j5 = main.ONOS2.get_json(url5)
851 json_str = []
852 json_str.append(0)
853 json_str.append(j1)
854 json_str.append(j2)
855 json_str.append(j3)
856 json_str.append(j4)
857 json_str.append(j5)
858 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[4] != "":
859 # write_str = str(json_str["meters"][4]["meter"][2])
860 #print str(json_str["meters"][4])
861 #f.write(str(json_str["meters"][4]))
862 #f.write('\n')
863 #time.sleep(3)
864 for j in range(1,6):
865 f.write("ONOS" + str(j) + "\n")
866 f.write(str(json_str[j]["meters"][4]['meter']['count']))
867 f.write('\t')
868 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
869 f.write('\t')
870 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
871 f.write('\t')
872 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
873 f.write('\t')
874 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
875 f.write('\n')
876
877 f.write('\n')
878 f.write('\n')
879
880 f.write("--------------------------------------------------------------------------------- \n")
881 time.sleep(sleep_t)
882 f.close()
883 time.sleep(180)
884
885 def CASE53(self,main):
886
887 main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
888 ip1 = main.params['CTRL']['ip1']
889 ip2 = main.params['CTRL']['ip2']
890 ip3 = main.params['CTRL']['ip3']
891 ip4 = main.params['CTRL']['ip4']
892
893 import time
894 import json
895
896 main.Mininet4.handle.expect("\$")
897 #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
898 #main.Mininet2.handle.expect("mininet>" , timeout=400)
899 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
900 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
901 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
902 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
903 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
904 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
905 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
906
907 main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
908 main.ONOS3.handle.expect("\$")
909
910 main.ONOS3.handle.sendline("./multiLoadgen_NB.py -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 \" -i 4 -g 100 -a 1 -d 1 -p 0")
911 main.ONOS3.handle.expect("intent group is : 0", timeout=900)
912
913
914 import json
915
916 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", 'w').close()
917 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
918 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
919 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
920 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
921 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
922 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", "a")
923 #time.sleep(10)
924 for i in range(8):
925 j1 = main.ONOS2.get_json(url1)
926 j2 = main.ONOS2.get_json(url2)
927 j3 = main.ONOS2.get_json(url3)
928 j4 = main.ONOS2.get_json(url4)
929 j5 = main.ONOS2.get_json(url5)
930 json_str = []
931 json_str.append(0)
932 json_str.append(j1)
933 json_str.append(j2)
934 json_str.append(j3)
935 json_str.append(j4)
936 json_str.append(j5)
937 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "":
938 for j in range(1,6):
939 f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
940 f.write(str(json_str[j]["meters"][0]['meter']['count']))
941 f.write('\t')
942 f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
943 f.write('\t')
944 f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
945 f.write('\t')
946 f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
947 f.write('\t')
948 f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
949 f.write('\n')
950
951 f.write('\n')
952
953 f.write("--------------------------------------------------------------------------------- \n")
954
955 f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
956 f.write(str(json_str[j]["meters"][1]['meter']['count']))
957 f.write('\t')
958 f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
959 f.write('\t')
960 f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
961 f.write('\t')
962 f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
963 f.write('\t')
964 f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
965 f.write('\n')
966 f.write('\n')
967 f.write('\n')
968
969 f.write("--------------------------------------------------------------------------------- \n")
970 f.write("--------------------------------------------------------------------------------- \n \n")
971 time.sleep(10)
972 f.close()
973
974
975 main.ONOS3.handle.expect("\$", timeout=900)
976
977 def CASE61(self,main):
978 main.case("Starting SB test for 5 nodes")
979 ip1 = main.params['CTRL']['ip1']
980 ip2 = main.params['CTRL']['ip2']
981 ip3 = main.params['CTRL']['ip3']
982 ip4 = main.params['CTRL']['ip4']
983 ip5 = main.params['CTRL']['ip5']
984 ip6 = main.params['CTRL']['ip6']
985 rate1 = main.params['RATE1']
986 run_dur = main.params['RUN_DUR']
987 loop = int( main.params['loop'])
988 switches_num = main.params['switches_num']
989 port = main.params['port']
990 print loop
991 sleep_t =int( main.params['sleep_t'])
992 sleep_init = int(main.params['sleep_init'])
993 main.case("Starting SB load on 6 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
994 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
995 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
996 main.Mininet2.handle.expect("Starting SB load....", timeout=900)
997
998 import time
999 import json
1000 time.sleep(sleep_init)
1001 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", 'w').close()
1002 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1003 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1004 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1005 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1006 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1007 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1008 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1009
1010 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", "a")
1011 #time.sleep(10)
1012 for i in range(int (loop)):
1013 j1 = main.ONOS2.get_json(url1)
1014 j2 = main.ONOS2.get_json(url2)
1015 j3 = main.ONOS2.get_json(url3)
1016 j4 = main.ONOS2.get_json(url4)
1017 j5 = main.ONOS2.get_json(url5)
1018 j6 = main.ONOS2.get_json(url6)
1019 json_str = []
1020 json_str.append(0)
1021 json_str.append(j1)
1022 json_str.append(j2)
1023 json_str.append(j3)
1024 json_str.append(j4)
1025 json_str.append(j5)
1026 json_str.append(j6)
1027 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
1028 # write_str = str(json_str["meters"][4]["meter"][2])
1029 #print str(json_str["meters"][4])
1030 #f.write(str(json_str["meters"][4]))
1031 #f.write('\n')
1032 #time.sleep(3)
1033 for j in range(1,7):
1034 f.write("ONOS" + str(j) + "\n")
1035 f.write(str(json_str[j]["meters"][4]['meter']['count']))
1036 f.write('\t')
1037 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
1038 f.write('\t')
1039 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
1040 f.write('\t')
1041 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
1042 f.write('\t')
1043 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
1044 f.write('\n')
1045
1046 f.write('\n')
1047 f.write('\n')
1048
1049 f.write("--------------------------------------------------------------------------------- \n")
1050 time.sleep(sleep_t)
1051 f.close()
1052
1053 #main.Mininet2.handle.expect("\$", timeout=900)
1054 #main.Mininet2.handle.sendline("sudo mn -c")
1055 #main.Mininet2.handle.expect("\$")
1056 time.sleep(5)
1057 main.Mininet2.handle.expect("\$", timeout=900)
1058 time.sleep(180)
1059
1060
1061 def CASE62(self,main):
1062
1063 ip1 = main.params['CTRL']['ip1']
1064 ip2 = main.params['CTRL']['ip2']
1065 ip3 = main.params['CTRL']['ip3']
1066 ip4 = main.params['CTRL']['ip4']
1067 ip5 = main.params['CTRL']['ip5']
1068 ip6 = main.params['CTRL']['ip6']
1069
1070 import time
1071 import json
1072 rate2 = main.params['RATE2']
1073 run_dur = main.params['RUN_DUR']
1074 loop = int(main.params['loop'])
1075 sleep_t = int(main.params['sleep_t'])
1076 switches_num = main.params['switches_num']
1077 sleep_init = int(main.params['sleep_init'])
1078 port = main.params['port']
1079 main.case("Starting SB load on 4 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
1080 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
1081 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
1082 main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
1083 time.sleep(sleep_init)
1084 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", 'w').close()
1085 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1086 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1087 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1088 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1089 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1090 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1091 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
1092 #time.sleep(10)
1093 for i in range(int (loop)):
1094 j1 = main.ONOS2.get_json(url1)
1095 j2 = main.ONOS2.get_json(url2)
1096 j3 = main.ONOS2.get_json(url3)
1097 j4 = main.ONOS2.get_json(url4)
1098 j5 = main.ONOS2.get_json(url5)
1099 j6 = main.ONOS2.get_json(url6)
1100 json_str = []
1101 json_str.append(0)
1102 json_str.append(j1)
1103 json_str.append(j2)
1104 json_str.append(j3)
1105 json_str.append(j4)
1106 json_str.append(j5)
1107 json_str.append(j6)
1108 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
1109 # write_str = str(json_str["meters"][4]["meter"][2])
1110 #print str(json_str["meters"][4])
1111 #f.write(str(json_str["meters"][4]))
1112 #f.write('\n')
1113 #time.sleep(3)
1114 for j in range(1,7):
1115 f.write("ONOS" + str(j) + "\n")
1116 f.write(str(json_str[j]["meters"][4]['meter']['count']))
1117 f.write('\t')
1118 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
1119 f.write('\t')
1120 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
1121 f.write('\t')
1122 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
1123 f.write('\t')
1124 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
1125 f.write('\n')
1126
1127 f.write('\n')
1128 f.write('\n')
1129
1130 f.write("--------------------------------------------------------------------------------- \n")
1131 time.sleep(sleep_t)
1132 f.close()
1133 time.sleep(180)
1134
1135 def CASE63(self,main):
1136
1137 main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
1138 ip1 = main.params['CTRL']['ip1']
1139 ip2 = main.params['CTRL']['ip2']
1140 ip3 = main.params['CTRL']['ip3']
1141 ip4 = main.params['CTRL']['ip4']
1142
1143 import time
1144 import json
1145
1146 main.Mininet4.handle.expect("\$")
1147 #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
1148 #main.Mininet2.handle.expect("mininet>" , timeout=400)
1149 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
1150 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
1151 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
1152 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
1153 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
1154 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
1155 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
1156
1157 main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
1158 main.ONOS3.handle.expect("\$")
1159
1160 main.ONOS3.handle.sendline("./multiLoadgen_NB.py -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 \" -i 4 -g 100 -a 1 -d 1 -p 0")
1161 main.ONOS3.handle.expect("intent group is : 0", timeout=900)
1162
1163
1164 import json
1165
1166 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", 'w').close()
1167 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1168 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1169 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1170 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1171 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1172 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1173 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", "a")
1174 #time.sleep(10)
1175 for i in range(8):
1176 j1 = main.ONOS2.get_json(url1)
1177 j2 = main.ONOS2.get_json(url2)
1178 j3 = main.ONOS2.get_json(url3)
1179 j4 = main.ONOS2.get_json(url4)
1180 j5 = main.ONOS2.get_json(url5)
1181 j6 = main.ONOS2.get_json(url6)
1182 json_str = []
1183 json_str.append(0)
1184 json_str.append(j1)
1185 json_str.append(j2)
1186 json_str.append(j3)
1187 json_str.append(j4)
1188 json_str.append(j5)
1189 json_str.append(j6)
1190 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
1191 for j in range(1,7):
1192 f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
1193 f.write(str(json_str[j]["meters"][0]['meter']['count']))
1194 f.write('\t')
1195 f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
1196 f.write('\t')
1197 f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
1198 f.write('\t')
1199 f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
1200 f.write('\t')
1201 f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
1202 f.write('\n')
1203
1204 f.write('\n')
1205
1206 f.write("--------------------------------------------------------------------------------- \n")
1207
1208 f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
1209 f.write(str(json_str[j]["meters"][1]['meter']['count']))
1210 f.write('\t')
1211 f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
1212 f.write('\t')
1213 f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
1214 f.write('\t')
1215 f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
1216 f.write('\t')
1217 f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
1218 f.write('\n')
1219 f.write('\n')
1220 f.write('\n')
1221
1222 f.write("--------------------------------------------------------------------------------- \n")
1223 f.write("--------------------------------------------------------------------------------- \n \n")
1224 time.sleep(10)
1225 f.close()
1226
1227
1228 main.ONOS3.handle.expect("\$", timeout=900)
1229
1230 def CASE71(self,main):
1231 main.case("Starting SB test for 7 nodes")
1232 ip1 = main.params['CTRL']['ip1']
1233 ip2 = main.params['CTRL']['ip2']
1234 ip3 = main.params['CTRL']['ip3']
1235 ip4 = main.params['CTRL']['ip4']
1236 ip5 = main.params['CTRL']['ip5']
1237 ip6 = main.params['CTRL']['ip6']
1238 ip7 = main.params['CTRL']['ip7']
1239 rate1 = main.params['RATE1']
1240 run_dur = main.params['RUN_DUR']
1241 loop = int( main.params['loop'])
1242 switches_num = main.params['switches_num']
1243 port = main.params['port']
1244 print loop
1245 sleep_t =int( main.params['sleep_t'])
1246 sleep_init = int(main.params['sleep_init'])
1247 main.case("Starting SB load on 6 nodes from mininet with " + rate1 +" added/removed/s for " + run_dur)
1248 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur + " \"11\"")
1249 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + " " + ip7 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
1250 main.Mininet2.handle.expect("Starting SB load....", timeout=900)
1251 import time
1252 import json
1253 time.sleep(sleep_init)
1254
1255 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", 'w').close()
1256 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1257 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1258 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1259 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1260 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1261 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1262 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1263 url7 = "http://10.128.10.7:8080/wm/onos/metrics"
1264
1265 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", "a")
1266 #time.sleep(10)
1267 for i in range(int (loop)):
1268 j1 = main.ONOS2.get_json(url1)
1269 j2 = main.ONOS2.get_json(url2)
1270 j3 = main.ONOS2.get_json(url3)
1271 j4 = main.ONOS2.get_json(url4)
1272 j5 = main.ONOS2.get_json(url5)
1273 j6 = main.ONOS2.get_json(url6)
1274 j7 = main.ONOS2.get_json(url7)
1275 json_str = []
1276 json_str.append(0)
1277 json_str.append(j1)
1278 json_str.append(j2)
1279 json_str.append(j3)
1280 json_str.append(j4)
1281 json_str.append(j5)
1282 json_str.append(j6)
1283 json_str.append(j7)
1284 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "" and json_str[7] != "":
1285 # write_str = str(json_str["meters"][4]["meter"][2])
1286 #print str(json_str["meters"][4])
1287 #f.write(str(json_str["meters"][4]))
1288 #f.write('\n')
1289 #time.sleep(3)
1290 for j in range(1,8):
1291 f.write("ONOS" + str(j) + "\n")
1292 f.write(str(json_str[j]["meters"][4]['meter']['count']))
1293 f.write('\t')
1294 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
1295 f.write('\t')
1296 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
1297 f.write('\t')
1298 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
1299 f.write('\t')
1300 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
1301 f.write('\n')
1302
1303 f.write('\n')
1304 f.write('\n')
1305
1306 f.write("--------------------------------------------------------------------------------- \n")
1307 time.sleep(sleep_t)
1308 f.close()
1309
1310 #main.Mininet2.handle.expect("\$", timeout=900)
1311 #main.Mininet2.handle.sendline("sudo mn -c")
1312 #main.Mininet2.handle.expect("\$")
1313 time.sleep(5)
1314 main.Mininet2.handle.expect("\$", timeout=900)
1315 time.sleep(180)
1316
1317
1318 def CASE72(self,main):
1319
1320 ip1 = main.params['CTRL']['ip1']
1321 ip2 = main.params['CTRL']['ip2']
1322 ip3 = main.params['CTRL']['ip3']
1323 ip4 = main.params['CTRL']['ip4']
1324 ip5 = main.params['CTRL']['ip5']
1325 ip6 = main.params['CTRL']['ip6']
1326 ip7 = main.params['CTRL']['ip7']
1327
1328 import time
1329 import json
1330 rate2 = main.params['RATE2']
1331 run_dur = main.params['RUN_DUR']
1332 loop = int(main.params['loop'])
1333 sleep_t = int(main.params['sleep_t'])
1334 sleep_init = int(main.params['sleep_init'])
1335 switches_num = main.params['switches_num']
1336 port = main.params['port']
1337 main.case("Starting SB load on 7 nodes from mininet with " + rate2 +" added/removed/s for " + run_dur)
1338 #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate2 + " " + run_dur + " \"11\"")
1339 main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + " " + ip5 + " " + ip6 + " " + ip7 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
1340 main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
1341
1342 time.sleep(sleep_init)
1343
1344 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2", 'w').close()
1345 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1346 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1347 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1348 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1349 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1350 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1351 url7 = "http://10.128.10.7:8080/wm/onos/metrics"
1352 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
1353 #time.sleep(10)
1354 for i in range(int (loop)):
1355 j1 = main.ONOS2.get_json(url1)
1356 j2 = main.ONOS2.get_json(url2)
1357 j3 = main.ONOS2.get_json(url3)
1358 j4 = main.ONOS2.get_json(url4)
1359 j5 = main.ONOS2.get_json(url5)
1360 j6 = main.ONOS2.get_json(url6)
1361 j7 = main.ONOS2.get_json(url7)
1362 json_str = []
1363 json_str.append(0)
1364 json_str.append(j1)
1365 json_str.append(j2)
1366 json_str.append(j3)
1367 json_str.append(j4)
1368 json_str.append(j5)
1369 json_str.append(j6)
1370 json_str.append(j7)
1371 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "" and json_str[7] != "":
1372 # write_str = str(json_str["meters"][4]["meter"][2])
1373 #print str(json_str["meters"][4])
1374 #f.write(str(json_str["meters"][4]))
1375 #f.write('\n')
1376 #time.sleep(3)
1377 for j in range(1,8):
1378 f.write("ONOS" + str(j) + "\n")
1379 f.write(str(json_str[j]["meters"][4]['meter']['count']))
1380 f.write('\t')
1381 f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
1382 f.write('\t')
1383 f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
1384 f.write('\t')
1385 f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
1386 f.write('\t')
1387 f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
1388 f.write('\n')
1389
1390 f.write('\n')
1391 f.write('\n')
1392
1393 f.write("--------------------------------------------------------------------------------- \n")
1394 time.sleep(sleep_t)
1395 f.close()
1396 time.sleep(180)
1397
1398 def CASE73(self,main):
1399
1400 main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
1401 ip1 = main.params['CTRL']['ip1']
1402 ip2 = main.params['CTRL']['ip2']
1403 ip3 = main.params['CTRL']['ip3']
1404 ip4 = main.params['CTRL']['ip4']
1405
1406 import time
1407 import json
1408
1409 main.Mininet4.handle.expect("\$")
1410 #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
1411 #main.Mininet2.handle.expect("mininet>" , timeout=400)
1412 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
1413 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
1414 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
1415 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
1416 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
1417 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
1418 main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
1419
1420 main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
1421 main.ONOS3.handle.expect("\$")
1422
1423 main.ONOS3.handle.sendline("./multiLoadgen_NB.py -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 10.128.10.4:8080 \" -i 4 -g 100 -a 1 -d 1 -p 0")
1424 main.ONOS3.handle.expect("intent group is : 0", timeout=900)
1425
1426
1427 import json
1428
1429 open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", 'w').close()
1430 url1 = "http://10.128.10.1:8080/wm/onos/metrics"
1431 url2 = "http://10.128.10.2:8080/wm/onos/metrics"
1432 url3 = "http://10.128.10.3:8080/wm/onos/metrics"
1433 url4 = "http://10.128.10.4:8080/wm/onos/metrics"
1434 url5 = "http://10.128.10.5:8080/wm/onos/metrics"
1435 url6 = "http://10.128.10.6:8080/wm/onos/metrics"
1436 url7 = "http://10.128.10.7:8080/wm/onos/metrics"
1437 f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", "a")
1438 #time.sleep(10)
1439 for i in range(8):
1440 j1 = main.ONOS2.get_json(url1)
1441 j2 = main.ONOS2.get_json(url2)
1442 j3 = main.ONOS2.get_json(url3)
1443 j4 = main.ONOS2.get_json(url4)
1444 j5 = main.ONOS2.get_json(url5)
1445 j6 = main.ONOS2.get_json(url6)
1446 j7 = main.ONOS2.get_json(url7)
1447 json_str = []
1448 json_str.append(0)
1449 json_str.append(j1)
1450 json_str.append(j2)
1451 json_str.append(j3)
1452 json_str.append(j4)
1453 json_str.append(j5)
1454 json_str.append(j6)
1455 json_str.append(j7)
1456 if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "" and json_str[6] != "":
1457 for j in range(1,8):
1458 f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
1459 f.write(str(json_str[j]["meters"][0]['meter']['count']))
1460 f.write('\t')
1461 f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
1462 f.write('\t')
1463 f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
1464 f.write('\t')
1465 f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
1466 f.write('\t')
1467 f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
1468 f.write('\n')
1469
1470 f.write('\n')
1471
1472 f.write("--------------------------------------------------------------------------------- \n")
1473
1474 f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
1475 f.write(str(json_str[j]["meters"][1]['meter']['count']))
1476 f.write('\t')
1477 f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
1478 f.write('\t')
1479 f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
1480 f.write('\t')
1481 f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
1482 f.write('\t')
1483 f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
1484 f.write('\n')
1485 f.write('\n')
1486 f.write('\n')
1487
1488 f.write("--------------------------------------------------------------------------------- \n")
1489 f.write("--------------------------------------------------------------------------------- \n \n")
1490 time.sleep(10)
1491 f.close()
1492
1493
1494 main.ONOS3.handle.expect("\$", timeout=900)
1495
1496 def CASE8(self,main):
1497 import time
1498 main.case("Scaling ONOS down to 6 ONOS instances")
1499 main.ONOS7.stop_all()
1500 time.sleep(5)
1501 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
1502 for i in range(3):
1503 if data == main.FALSE:
1504 #main.log.report("Something is funny... restarting ONOS")
1505 #main.ONOS1.stop()
1506 time.sleep(3)
1507 #main.ONOS1.start()
1508 #time.sleep(5)
1509 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
1510 else:
1511 break
1512 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
1513
1514 def CASE9(self,main):
1515
1516 main.case("Scaling ONOS down to 5 ONOS instances")
1517 main.ONOS6.stop_all()
1518 time.sleep(5)
1519 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
1520 for i in range(3):
1521 if data == main.FALSE:
1522 #main.log.report("Something is funny... restarting ONOS")
1523 #main.ONOS1.stop()
1524 time.sleep(3)
1525 #main.ONOS1.start()
1526 #time.sleep(5)
1527 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
1528 else:
1529 break
1530 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
1531
1532 def CASE10(self,main):
1533
1534 main.case("Scaling ONOS down to 4 ONOS instances")
1535 main.ONOS5.stop_all()
1536 time.sleep(5)
1537 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
1538 for i in range(3):
1539 if data == main.FALSE:
1540 #main.log.report("Something is funny... restarting ONOS")
1541 #main.ONOS1.stop()
1542 time.sleep(3)
1543 #main.ONOS1.start()
1544 #time.sleep(5)
1545 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
1546 else:
1547 break
1548 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
1549
1550 def CASE11(self,main):
1551
1552 main.case("Scaling ONOS down to 3 ONOS instances")
1553 main.ONOS4.stop_all()
1554 time.sleep(5)
1555 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
1556 for i in range(3):
1557 if data == main.FALSE:
1558 #main.log.report("Something is funny... restarting ONOS")
1559 #main.ONOS1.stop()
1560 time.sleep(3)
1561 #main.ONOS1.start()
1562 #time.sleep(5)
1563 data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
1564 else:
1565 break
1566 utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
1567
1568 def CASE100(self,main):
1569 import os
1570 import time
1571 global timestr
1572 timestr = time.strftime("%Y%m%d-%H%M%S")
1573 main.case("Scale-up tests complete...now making final changes")
1574 main.log.info("moving logs....")
1575 os.system("sudo mkdir ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up" + timestr + "")
1576 time.sleep(2)
1577 os.system("sudo cp ~admin/TestON/tests/scaleONOS7nodes/logs/*scale* ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up" + timestr + "")
1578 time.sleep(2)
1579 os.system("sudo rm ~admin/TestON/tests/scaleONOS7nodes/logs/*")
1580 time.sleep(2)
1581
1582 def CASE101(self,main):
1583
1584 import os
1585 import time
1586 main.case("Scale-down tests complete...now making final changes")
1587 global timestr
1588 main.case("Scale-down tests complete...now making final changes")
1589 main.log.info("moving logs....")
1590 os.system("sudo mkdir ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn" + timestr + "")
1591 time.sleep(2)
1592 os.system("sudo cp ~admin/TestON/tests/scaleONOS7nodes/logs/*scale* ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn" + timestr + "")
1593 time.sleep(2)
1594 os.system("sudo rm ~admin/TestON/tests/scaleONOS7nodes/logs/*")
1595 time.sleep(2)
1596
santhosh91195f12014-08-07 13:53:50 -07001597