Merge branch 'master' of https://github.com/OPENNETWORKINGLAB/ONLabTest
diff --git a/TestON/drivers/common/cli/emulator/mininetclidriver.py b/TestON/drivers/common/cli/emulator/mininetclidriver.py
index 7032dff..41d65a6 100644
--- a/TestON/drivers/common/cli/emulator/mininetclidriver.py
+++ b/TestON/drivers/common/cli/emulator/mininetclidriver.py
@@ -882,7 +882,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 50 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 50 )
main.cleanup()
main.exit()
@@ -1250,7 +1250,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 50 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 50 )
main.cleanup()
main.exit()
@@ -1269,7 +1269,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 50 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 50 )
main.cleanup()
main.exit()
diff --git a/TestON/drivers/common/cli/emulator/remotemininetdriver.py b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
index e2e00e1..f5982bf 100644
--- a/TestON/drivers/common/cli/emulator/remotemininetdriver.py
+++ b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
@@ -326,7 +326,7 @@
except:
main.log.info(
self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 80 )
main.cleanup()
main.exit()
@@ -346,7 +346,7 @@
except:
main.log.info(
self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 80 )
main.cleanup()
main.exit()
@@ -577,7 +577,7 @@
self.name +
": Timeout exception in setIpTables function" )
except:
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.cleanup()
main.exit()
else:
@@ -620,7 +620,7 @@
self.name +
": Timeout exception in setIpTables function" )
except:
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.cleanup()
main.exit()
else:
diff --git a/TestON/drivers/common/cli/onosdriver.py b/TestON/drivers/common/cli/onosdriver.py
index 5eae84d..c92a608 100644
--- a/TestON/drivers/common/cli/onosdriver.py
+++ b/TestON/drivers/common/cli/onosdriver.py
@@ -68,7 +68,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 30 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 30 )
main.cleanup()
main.exit()
@@ -215,7 +215,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 60 )
main.cleanup()
main.exit()
@@ -323,7 +323,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 80 )
main.cleanup()
main.exit()
@@ -438,7 +438,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 80 )
main.cleanup()
main.exit()
@@ -491,7 +491,7 @@
main.exit()
except:
main.log.info( self.name + ":" * 60 )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":" * 80 )
main.cleanup()
main.exit()
@@ -576,7 +576,7 @@
main.exit()
except:
main.log.info( self.name + ":::::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( ":::::::" )
main.cleanup()
main.exit()
@@ -615,7 +615,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -650,7 +650,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -711,7 +711,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -766,7 +766,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -804,7 +804,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -842,7 +842,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -871,7 +871,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -904,7 +904,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -950,7 +950,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -987,7 +987,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1026,7 +1026,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1060,7 +1060,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1124,7 +1124,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1172,7 +1172,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1242,7 +1242,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1367,7 +1367,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
@@ -1429,7 +1429,7 @@
except:
main.log.error( "Copying files failed" )
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
def checkLogs( self, onosIp ):
@@ -1451,7 +1451,7 @@
except:
main.log.error( "Some error in check_logs:" )
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
def onosStatus( self, node="" ):
@@ -1485,7 +1485,7 @@
main.exit()
except:
main.log.info( self.name + " ::::::" )
- main.log.error( traceback.printExc() )
+ main.log.error( traceback.print_exc() )
main.log.info( self.name + " ::::::" )
main.cleanup()
main.exit()
diff --git a/TestON/tests/IntentsLoad/IntentsLoad.params b/TestON/tests/IntentsLoad/IntentsLoad.params
new file mode 100644
index 0000000..b60621c
--- /dev/null
+++ b/TestON/tests/IntentsLoad/IntentsLoad.params
@@ -0,0 +1,49 @@
+<PARAMS>
+
+ <testcases>1,2,4</testcases>
+
+ <ENV>
+ <cellName>cam_cells</cellName>
+ </ENV>
+
+ <SCALE>1</SCALE>
+
+ <GIT>
+ <autopull>off</autopull>
+ <checkout>master</checkout>
+ </GIT>
+
+ <CTRL>
+ <USER>admin</USER>
+ <ip1>10.128.5.51</ip1>
+ <port1>6633</port1>
+ <ip2>10.128.5.52</ip2>
+ <port2>6633</port2>
+ <ip3>10.128.5.53</ip3>
+ <port3>6633</port3>
+ </CTRL>
+
+ <MN>
+ <ip1>10.128.5.59</ip1>
+ <ip2>10.128.5.59</ip2>
+ </MN>
+
+ <BENCH>
+ <user>admin</user>
+ <ip1>10.128.5.55</ip1>
+ </BENCH>
+
+ <TEST>
+ <loadstart>curl --fail http://localhost:8181/onos/demo/intents/setup -H "Content-Type:application/json" -d '{"type" : "random"}'</loadstart>
+ <loadstop>curl --fail http://localhost:8181/onos/demo/intents/teardown</loadstop>
+ <arping>py [h.cmd("arping -c 1 -w 1 10.0.0.225") for h in net.hosts]</arping>
+ <metric1>intents-events-metrics|grep "Intent Installed Events"</metric1>
+ <duration>90</duration>
+ <log_interval>5</log_interval>
+ </TEST>
+
+ <JSON>
+ <intents_rate>intentInstalledRate</intents_rate>
+ </JSON>
+
+</PARAMS>
diff --git a/TestON/tests/IntentsLoad/IntentsLoad.py b/TestON/tests/IntentsLoad/IntentsLoad.py
new file mode 100644
index 0000000..f13e60d
--- /dev/null
+++ b/TestON/tests/IntentsLoad/IntentsLoad.py
@@ -0,0 +1,263 @@
+# ScaleOutTemplate --> IntentsLoad
+#
+# CASE1 starts number of nodes specified in param file
+#
+# cameron@onlab.us
+
+import sys
+import os
+
+
+class IntentsLoad:
+ def __init__(self):
+ self.default = ''
+
+ def CASE1(self, main):
+
+ global cluster_count
+ cluster_count = 1
+
+ checkout_branch = main.params['GIT']['checkout']
+ git_pull = main.params['GIT']['autopull']
+ cell_name = main.params['ENV']['cellName']
+ BENCH_ip = main.params['BENCH']['ip1']
+ BENCH_user = main.params['BENCH']['user']
+ ONOS1_ip = main.params['CTRL']['ip1']
+ ONOS2_ip = main.params['CTRL']['ip2']
+ ONOS3_ip = main.params['CTRL']['ip3']
+ MN1_ip = main.params['MN']['ip1']
+
+ main.log.step("Cleaning Enviornment...")
+ main.ONOSbench.onos_uninstall(ONOS1_ip)
+ main.ONOSbench.onos_uninstall(ONOS2_ip)
+ main.ONOSbench.onos_uninstall(ONOS3_ip)
+
+ main.step("Git checkout and pull "+checkout_branch)
+ if git_pull == 'on':
+ checkout_result = main.ONOSbench.git_checkout(checkout_branch)
+ pull_result = main.ONOSbench.git_pull()
+
+ else:
+ checkout_result = main.TRUE
+ pull_result = main.TRUE
+ main.log.info("Skipped git checkout and pull")
+
+ #mvn_result = main.ONOSbench.clean_install()
+
+ main.step("Set cell for ONOS cli env")
+ main.ONOS1cli.set_cell(cell_name)
+ main.ONOS2cli.set_cell(cell_name)
+ main.ONOS3cli.set_cell(cell_name)
+
+ main.step("Creating ONOS package")
+ package_result = main.ONOSbench.onos_package() #no file or directory
+
+ main.step("Installing ONOS package")
+ install1_result = main.ONOSbench.onos_install(node=ONOS1_ip)
+
+ cell_name = main.params['ENV']['cellName']
+ main.step("Applying cell file to environment")
+ cell_apply_result = main.ONOSbench.set_cell(cell_name)
+ main.step("verify cells")
+ verify_cell_result = main.ONOSbench.verify_cell()
+
+ main.step("Set cell for ONOS cli env")
+ main.ONOS1cli.set_cell(cell_name)
+
+ cli1 = main.ONOS1cli.start_onos_cli(ONOS1_ip)
+
+ def CASE2(self, main):
+
+ '''
+ Increase number of nodes and initiate CLI
+ '''
+ import time
+
+ global cluster_count
+
+ ONOS1_ip = main.params['CTRL']['ip1']
+ ONOS2_ip = main.params['CTRL']['ip2']
+ ONOS3_ip = main.params['CTRL']['ip3']
+ #ONOS4_ip = main.params['CTRL']['ip4']
+ #ONOS5_ip = main.params['CTRL']['ip5']
+ #ONOS6_ip = main.params['CTRL']['ip6']
+ #ONOS7_ip = main.params['CTRL']['ip7']
+ cell_name = main.params['ENV']['cellName']
+ scale = int(main.params['SCALE'])
+
+
+ #Cluster size increased everytime the case is defined
+ cluster_count += scale
+
+ main.log.report("Increasing cluster size to "+
+ str(cluster_count))
+ install_result = main.FALSE
+
+ if scale == 2:
+ if cluster_count == 3:
+ main.log.info("Installing nodes 2 and 3")
+ install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
+ install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
+ cli2 = main.ONOS2cli.start_onos_cli(ONOS2_ip)
+ cli3 = main.ONOS3cli.start_onos_cli(ONOS3_ip)
+ '''
+ elif cluster_count == 5:
+
+ main.log.info("Installing nodes 4 and 5")
+ node4_result = main.ONOSbench.onos_install(node=ONOS4_ip)
+ node5_result = main.ONOSbench.onos_install(node=ONOS5_ip)
+ install_result = node4_result and node5_result
+ time.sleep(5)
+
+ main.ONOS4cli.start_onos_cli(ONOS4_ip)
+ main.ONOS5cli.start_onos_cli(ONOS5_ip)
+
+ elif cluster_count == 7:
+
+ main.log.info("Installing nodes 4 and 5")
+ node6_result = main.ONOSbench.onos_install(node=ONOS6_ip)
+ node7_result = main.ONOSbench.onos_install(node=ONOS7_ip)
+ install_result = node6_result and node7_result
+ time.sleep(5)
+
+ main.ONOS6cli.start_onos_cli(ONOS6_ip)
+ main.ONOS7cli.start_onos_cli(ONOS7_ip)
+ '''
+ if scale == 1:
+ if cluster_count == 2:
+ main.log.info("Installing node 2")
+ install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
+ cli2 = main.ONOS2cli.start_onos_cli(ONOS2_ip)
+
+ if cluster_count == 3:
+ main.log.info("Installing node 3")
+ install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
+ cli3 = main.ONOS3cli.start_onos_cli(ONOS3_ip)
+
+
+
+ def CASE3(self,main):
+ import time
+ import json
+ import string
+
+ intents_rate = main.params['JSON']['intents_rate']
+
+ default_sw_port = main.params[ 'CTRL' ][ 'port1' ]
+
+ main.Mininet1.assign_sw_controller(sw="1", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="2", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="3", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="4", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="5", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="6", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="7", ip1=ONOS1_ip, port1=default_sw_port )
+
+ mn_arp = main.params['TEST']['arping']
+ main.Mininet1.handle.sendline(mn_arp)
+
+ generate_load = main.params['TEST']['loadstart']
+
+ main.ONOS1.handle.sendline(generate_load)
+ main.ONOS1.handle.expect("sdn")
+ print("before: ", main.ONOS1.handle.before)
+ print("after: ",main.ONOS1.handle.after)
+
+ load_confirm = main.ONOS1.handle.after
+ if load_confirm == "{}":
+ main.log.info("Load started")
+
+ else:
+ main.log.error("Load start failure")
+ main.log.error("expected '{}', got: " + str(load_confirm))
+
+ devices_json_str = main.ONOS1cli.devices()
+ devices_json_obj = json.loads(devices_json_str)
+
+ get_metric = main.params['TEST']['metric1']
+ test_duration = main.params['TEST']['duration']
+ stop = time.time() + float(test_duration)
+
+
+ main.log.info("Starting test loop...")
+ log_interval = main.params['TEST']['log_interval']
+
+ while time.time() < stop:
+ time.sleep(float(log_interval))
+
+ intents_json_str_1 = main.ONOS1cli.intents_events_metrics()
+ intents_json_obj_1 = json.loads(intents_json_str_1)
+ main.log.info("Node 1 rate: " + str(intents_json_obj_1[intents_rate]['m1_rate']))
+ last_rate_1 = intents_json_obj_1[intents_rate]['m1_rate']
+
+ stop_load = main.params['TEST']['loadstop']
+ main.ONOS1.handle.sendline(stop_load)
+
+
+ msg = ("Final rate on node 1: " + str(last_rate_1))
+ main.log.report(msg)
+
+ def CASE4(self, main): #2 node scale
+ import time
+ import json
+ import string
+
+ intents_rate = main.params['JSON']['intents_rate']
+
+ default_sw_port = main.params[ 'CTRL' ][ 'port1' ]
+
+ main.Mininet1.assign_sw_controller(sw="1", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="2", ip1=ONOS2_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="3", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="4", ip1=ONOS2_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="5", ip1=ONOS1_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="6", ip1=ONOS2_ip, port1=default_sw_port )
+ main.Mininet1.assign_sw_controller(sw="7", ip1=ONOS1_ip, port1=default_sw_port )
+
+ mn_arp = main.params['TEST']['arping']
+ main.Mininet1.handle.sendline(mn_arp)
+
+ generate_load = main.params['TEST']['loadstart']
+
+ main.ONOS1.handle.sendline(generate_load)
+ main.ONOS2.handle.sendline(generate_load)
+
+ devices_json_str_1 = main.ONOS1cli.devices()
+ devices_json_obj_1 = json.loads(devices_json_str_1)
+ devices_json_str_2 = main.ONOS2cli.devices()
+ devices_json_obj_2 = json.loads(devices_json_str_2)
+
+ get_metric = main.params['TEST']['metric1']
+ test_duration = main.params['TEST']['duration']
+ stop = time.time() + float(test_duration)
+
+
+ main.log.info("Starting test loop...")
+ log_interval = main.params['TEST']['log_interval']
+
+ while time.time() < stop:
+ time.sleep(float(log_interval))
+
+ intents_json_str_1 = main.ONOS1cli.intents_events_metrics()
+ intents_json_obj_1 = json.loads(intents_json_str_1)
+ main.log.info("Node 1 rate: " + str(intents_json_obj_1[intents_rate]['m1_rate']))
+ last_rate_1 = intents_json_obj_1[intents_rate]['m1_rate']
+
+ intents_json_str_2 = main.ONOS2cli.intents_events_metrics()
+ intents_json_obj_2 = json.loads(intents_json_str_2)
+ main.log.info("Node 2 rate: " + str(intents_json_obj_2[intents_rate]['m1_rate']))
+ last_rate_2 = intents_json_obj_2[intents_rate]['m1_rate']
+
+ stop_load = main.params['TEST']['loadstop']
+ main.ONOS1.handle.sendline(stop_load)
+ main.ONOS2.handle.sendline(stop_load)
+
+
+ msg = ("Final rate on node 1: " + str(last_rate_1))
+ main.log.report(msg)
+
+ msg = ("Final rate on node 2: " + str(last_rate_2))
+ main.log.report(msg)
+
+
+
diff --git a/TestON/tests/IntentsLoad/IntentsLoad.topo b/TestON/tests/IntentsLoad/IntentsLoad.topo
new file mode 100644
index 0000000..985baf9
--- /dev/null
+++ b/TestON/tests/IntentsLoad/IntentsLoad.topo
@@ -0,0 +1,94 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+
+ <ONOSbench>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosDriver</type>
+ <connect_order>1</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOSbench>
+
+ <ONOS1cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>2</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS1cli>
+
+ <ONOS2cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>3</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS2cli>
+
+ <ONOS3cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>4</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS3cli>
+
+ <ONOS1>
+ <host>10.128.5.51</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>5</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS1>
+
+ <ONOS2>
+ <host>10.128.5.52</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>6</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS2>
+
+ <ONOS3>
+ <host>10.128.5.53</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>7</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS3>
+
+ <Mininet1>
+ <host>10.128.5.59</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>MininetCliDriver</type>
+ <connect_order>8</connect_order>
+ <COMPONENTS>
+ <arg1> --custom ~/topo-intentTPtest.py </arg1>
+ <arg2> --mac --topo mytopo </arg2>
+ <arg3> </arg3>
+ <controller> remote </controller>
+ </COMPONENTS>
+ </Mininet1>
+
+ <Mininet2>
+ <host>10.128.5.59</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>RemoteMininetDriver</type>
+ <connect_order>9</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </Mininet2>
+
+ </COMPONENT>
+
+</TOPOLOGY>
+
diff --git a/TestON/tests/IntentsLoad/__init__.py b/TestON/tests/IntentsLoad/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/IntentsLoad/__init__.py
diff --git a/TestON/tests/LincOETest/LincOETest.topo b/TestON/tests/LincOETest/LincOETest.topo
index 9881845..5d572ca 100755
--- a/TestON/tests/LincOETest/LincOETest.topo
+++ b/TestON/tests/LincOETest/LincOETest.topo
@@ -20,7 +20,7 @@
</ONOScli>
<ONOS1>
- <host>10.128.174.1<</host>
+ <host>10.128.174.1</host>
<user>sdn</user>
<password>rocks</password>
<type>OnosDriver</type>
diff --git a/TestON/tests/PingallExample/PingallExample.params b/TestON/tests/PingallExample/PingallExample.params
index 8d0d10b..aecaab6 100644
--- a/TestON/tests/PingallExample/PingallExample.params
+++ b/TestON/tests/PingallExample/PingallExample.params
@@ -1,12 +1,12 @@
<PARAMS>
<testcases>1,2,3</testcases>
<ENV>
- <cellName>kelvin</cellName>
+ <cellName>HA</cellName>
</ENV>
<Git>True</Git>
<CTRL>
- <ip1>10.128.10.21</ip1>
+ <ip1>10.128.30.11</ip1>
<port1>6633</port1>
</CTRL>
</PARAMS>
diff --git a/TestON/tests/PingallExample/PingallExample.topo b/TestON/tests/PingallExample/PingallExample.topo
index dba7a5d..1712756 100644
--- a/TestON/tests/PingallExample/PingallExample.topo
+++ b/TestON/tests/PingallExample/PingallExample.topo
@@ -2,7 +2,7 @@
<COMPONENT>
<ONOSbench>
- <host>10.128.10.20</host>
+ <host>10.128.30.10</host>
<user>admin</user>
<password></password>
<type>OnosDriver</type>
@@ -11,7 +11,7 @@
</ONOSbench>
<ONOScli1>
- <host>10.128.10.20</host>
+ <host>10.128.30.10</host>
<user>admin</user>
<password></password>
<type>OnosCliDriver</type>
@@ -20,16 +20,16 @@
</ONOScli1>
<ONOS1>
- <host>10.128.10.21</host>
- <user>admin</user>
- <password></password>
+ <host>10.128.30.11</host>
+ <user>sdn</user>
+ <password>rocks</password>
<type>OnosDriver</type>
<connect_order>3</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS1>
<Mininet1>
- <host>10.128.10.20</host>
+ <host>10.128.30.9</host>
<user>admin</user>
<password></password>
<type>MininetCliDriver</type>
diff --git a/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.params b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.params
new file mode 100644
index 0000000..4dacc99
--- /dev/null
+++ b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.params
@@ -0,0 +1,41 @@
+<PARAMS>
+
+ <testcases>1,2</testcases>
+
+ <ENV>
+ <cellName>cam_cells</cellName>
+ </ENV>
+
+ <SCALE>2</SCALE>
+
+ <GIT>
+ <autopull>on</autopull>
+ <checkout>master</checkout>
+ </GIT>
+
+ <CTRL>
+ <USER>admin</USER>
+ <ip1>10.128.5.51</ip1>
+ <port1>6633</port1>
+ <ip2>10.128.5.52</ip2>
+ <port2>6633</port2>
+ <ip3>10.128.5.53</ip3>
+ <port3>6633</port3>
+ </CTRL>
+
+ <MN>
+ <ip1>10.128.5.59</ip1>
+ </MN>
+
+ <BENCH>
+ <user>admin</user>
+ <ip1>10.128.5.55</ip1>
+ </BENCH>
+
+ <TEST>
+ </TEST>
+
+ <JSON>
+ </JSON>
+
+</PARAMS>
diff --git a/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.py b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.py
new file mode 100644
index 0000000..a75d694
--- /dev/null
+++ b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.py
@@ -0,0 +1,136 @@
+# ScaleOutTemplate
+#
+# CASE1 starts number of nodes specified in param file
+#
+# cameron@onlab.us
+
+import sys
+import os
+
+
+class ScaleOutTemplate:
+ def __init__(self):
+ self.default = ''
+
+ def CASE1(self, main):
+
+ global cluster_count
+ cluster_count = 1
+
+ checkout_branch = main.params['GIT']['checkout']
+ git_pull = main.params['GIT']['autopull']
+ cell_name = main.params['ENV']['cellName']
+ BENCH_ip = main.params['BENCH']['ip1']
+ BENCH_user = main.params['BENCH']['user']
+ ONOS1_ip = main.params['CTRL']['ip1']
+ ONOS2_ip = main.params['CTRL']['ip2']
+ ONOS3_ip = main.params['CTRL']['ip3']
+ MN1_ip = main.params['MN']['ip1']
+
+ main.log.step("Cleaning Enviornment...")
+ main.ONOSbench.onos_uninstall(ONOS1_ip)
+ main.ONOSbench.onos_uninstall(ONOS2_ip)
+ main.ONOSbench.onos_uninstall(ONOS3_ip)
+
+ main.step("Git checkout and pull "+checkout_branch)
+ if git_pull == 'on':
+ checkout_result = main.ONOSbench.git_checkout(checkout_branch)
+ pull_result = main.ONOSbench.git_pull()
+
+ else:
+ checkout_result = main.TRUE
+ pull_result = main.TRUE
+ main.log.info("Skipped git checkout and pull")
+
+ mvn_result = main.ONOSbench.clean_install()
+
+ main.step("Set cell for ONOS cli env")
+ main.ONOS1cli.set_cell(cell_name)
+ main.ONOS2cli.set_cell(cell_name)
+ main.ONOS3cli.set_cell(cell_name)
+
+ main.step("Creating ONOS package")
+ package_result = main.ONOSbench.onos_package() #no file or directory
+
+ main.step("Installing ONOS package")
+ install1_result = main.ONOSbench.onos_install(node=ONOS1_ip)
+
+ cell_name = main.params['ENV']['cellName']
+ main.step("Applying cell file to environment")
+ cell_apply_result = main.ONOSbench.set_cell(cell_name)
+ main.step("verify cells")
+ verify_cell_result = main.ONOSbench.verify_cell()
+
+ main.step("Set cell for ONOS cli env")
+ main.ONOS1cli.set_cell(cell_name)
+ cli1 = main.ONOS1cli.start_onos_cli(ONOS1_ip)
+
+
+ def CASE2(self, main):
+
+ '''
+ Increase number of nodes and initiate CLI
+ '''
+ import time
+
+ global cluster_count
+
+ ONOS1_ip = main.params['CTRL']['ip1']
+ ONOS2_ip = main.params['CTRL']['ip2']
+ ONOS3_ip = main.params['CTRL']['ip3']
+ #ONOS4_ip = main.params['CTRL']['ip4']
+ #ONOS5_ip = main.params['CTRL']['ip5']
+ #ONOS6_ip = main.params['CTRL']['ip6']
+ #ONOS7_ip = main.params['CTRL']['ip7']
+ cell_name = main.params['ENV']['cellName']
+ scale = int(main.params['SCALE'])
+
+ #Cluster size increased everytime the case is defined
+ cluster_count += scale
+
+ main.log.report("Increasing cluster size to "+
+ str(cluster_count))
+ install_result = main.FALSE
+
+ if scale == 2:
+ if cluster_count == 3:
+ main.log.info("Installing nodes 2 and 3")
+ install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
+ install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
+ cli2 = main.ONOS1cli.start_onos_cli(ONOS2_ip)
+ cli3 = main.ONOS1cli.start_onos_cli(ONOS3_ip)
+
+ '''
+ elif cluster_count == 5:
+
+ main.log.info("Installing nodes 4 and 5")
+ node4_result = main.ONOSbench.onos_install(node=ONOS4_ip)
+ node5_result = main.ONOSbench.onos_install(node=ONOS5_ip)
+ install_result = node4_result and node5_result
+ time.sleep(5)
+
+ main.ONOS4cli.start_onos_cli(ONOS4_ip)
+ main.ONOS5cli.start_onos_cli(ONOS5_ip)
+
+ elif cluster_count == 7:
+
+ main.log.info("Installing nodes 4 and 5")
+ node6_result = main.ONOSbench.onos_install(node=ONOS6_ip)
+ node7_result = main.ONOSbench.onos_install(node=ONOS7_ip)
+ install_result = node6_result and node7_result
+ time.sleep(5)
+
+ main.ONOS6cli.start_onos_cli(ONOS6_ip)
+ main.ONOS7cli.start_onos_cli(ONOS7_ip)
+ '''
+ if scale == 1:
+ if cluster_count == 2:
+ main.log.info("Installing node 2")
+ install2_result = main.ONOSbench.onos_install(node=ONOS2_ip)
+ cli2 = main.ONOS1cli.start_onos_cli(ONOS2_ip)
+
+ if cluster_count == 3:
+ main.log.info("Installing node 3")
+ install3_result = main.ONOSbench.onos_install(node=ONOS3_ip)
+ cli3 = main.ONOS1cli.start_onos_cli(ONOS3_ip)
+
diff --git a/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.topo b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.topo
new file mode 100644
index 0000000..88c4d35
--- /dev/null
+++ b/TestON/tests/ScaleOutTemplate/ScaleOutTemplate.topo
@@ -0,0 +1,85 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+
+ <ONOSbench>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosDriver</type>
+ <connect_order>1</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOSbench>
+
+ <ONOS1cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>2</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS1cli>
+
+ <ONOS2cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>3</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS2cli>
+
+ <ONOS3cli>
+ <host>10.128.5.55</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>OnosCliDriver</type>
+ <connect_order>4</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS3cli>
+
+ <ONOS1>
+ <host>10.128.5.51</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>5</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS1>
+
+ <ONOS2>
+ <host>10.128.5.52</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>6</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS2>
+
+ <ONOS3>
+ <host>10.128.5.53</host>
+ <user>sdn</user>
+ <password>rocks</password>
+ <type>OnosDriver</type>
+ <connect_order>7</connect_order>
+ <COMPONENTS> </COMPONENTS>
+ </ONOS3>
+
+ <Mininet1>
+ <host>10.128.5.59</host>
+ <user>admin</user>
+ <password>onos_test</password>
+ <type>MininetCliDriver</type>
+ <connect_order>8</connect_order>
+ <COMPONENTS>
+ <arg1> --custom ~/mininet/custom/topo-2sw-2host.py </arg1>
+ <arg2> --arp --mac --topo mytopo</arg2>
+ <arg3> </arg3>
+ <controller> remote </controller>
+ </COMPONENTS>
+ </Mininet1>
+
+ </COMPONENT>
+
+</TOPOLOGY>
+
diff --git a/TestON/tests/ScaleOutTemplate/__init__.py b/TestON/tests/ScaleOutTemplate/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/ScaleOutTemplate/__init__.py
diff --git a/TestON/tests/TopoPerfNext/TopoPerfNext.params b/TestON/tests/TopoPerfNext/TopoPerfNext.params
index 08a3158..851522c 100644
--- a/TestON/tests/TopoPerfNext/TopoPerfNext.params
+++ b/TestON/tests/TopoPerfNext/TopoPerfNext.params
@@ -2,7 +2,7 @@
<testcases>1,2,3</testcases>
<ENV>
- <cellName>kelvin2</cellName>
+ <cellName>topo_perf_test</cellName>
</ENV>
<GIT>
@@ -13,21 +13,21 @@
<CTRL>
<user>admin</user>
- <ip1>10.128.10.21</ip1>
+ <ip1>10.128.174.1</ip1>
<port1>6633</port1>
- <ip2>10.128.10.22</ip2>
+ <ip2>10.128.174.2</ip2>
<port2>6633</port2>
- <ip3>10.128.10.23</ip3>
+ <ip3>10.128.174.3</ip3>
<port3>6633</port3>
</CTRL>
<MN>
- <ip1>10.128.10.24</ip1>
- <ip2>10.128.10.24</ip2>
+ <ip1>10.128.10.90</ip1>
+ <ip2>10.128.10.91</ip2>
</MN>
<BENCH>
- <ip>10.128.10.20</ip>
+ <ip>10.128.174.10</ip>
</BENCH>
<TEST>
diff --git a/TestON/tests/TopoPerfNext/TopoPerfNext.topo b/TestON/tests/TopoPerfNext/TopoPerfNext.topo
index 896e991..4ee44e2 100644
--- a/TestON/tests/TopoPerfNext/TopoPerfNext.topo
+++ b/TestON/tests/TopoPerfNext/TopoPerfNext.topo
@@ -2,72 +2,72 @@
<COMPONENT>
<ONOSbench>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>1</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOSbench>
<ONOS1cli>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosCliDriver</type>
<connect_order>2</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS1cli>
<ONOS2cli>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosCliDriver</type>
<connect_order>2</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS2cli>
<ONOS3cli>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosCliDriver</type>
<connect_order>2</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS3cli>
<ONOS1>
- <host>10.128.10.21</host>
+ <host>10.128.174.1</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>3</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS1>
<ONOS2>
- <host>10.128.10.22</host>
+ <host>10.128.174.2</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>3</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS2>
<ONOS3>
- <host>10.128.10.23</host>
+ <host>10.128.174.3</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>3</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS3>
<Mininet1>
- <host>10.128.10.24</host>
+ <host>10.128.10.90</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>MininetCliDriver</type>
<connect_order>4</connect_order>
<COMPONENTS>
@@ -79,9 +79,9 @@
</Mininet1>
<Mininet2>
- <host>10.128.10.24</host>
+ <host>10.128.10.90</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>RemoteMininetDriver</type>
<connect_order>5</connect_order>
<COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.params b/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.params
index 0db0459..f797706 100644
--- a/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.params
+++ b/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.params
@@ -2,7 +2,7 @@
<testcases>1,2,3,4,5</testcases>
<ENV>
- <cellName>kelvin2</cellName>
+ <cellName>topo_perf_test</cellName>
</ENV>
<GIT>
@@ -13,21 +13,21 @@
<CTRL>
<user>admin</user>
- <ip1>10.128.10.21</ip1>
+ <ip1>10.128.174.1</ip1>
<port1>6633</port1>
- <ip2>10.128.10.22</ip2>
+ <ip2>10.128.174.2</ip2>
<port2>6633</port2>
- <ip3>10.128.10.23</ip3>
+ <ip3>10.128.174.3</ip3>
<port3>6633</port3>
</CTRL>
<MN>
- <ip1>10.128.10.20</ip1>
- <ip2>10.128.10.25</ip2>
+ <ip1>10.128.10.90</ip1>
+ <ip2>10.128.10.91</ip2>
</MN>
<BENCH>
- <ip>10.128.10.20</ip>
+ <ip>10.128.174.10</ip>
</BENCH>
<TEST>
diff --git a/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.topo b/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.topo
index ecf46d3..3fc7bdc 100644
--- a/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.topo
+++ b/TestON/tests/TopoPerfNextSingleNode/TopoPerfNextSingleNode.topo
@@ -2,36 +2,36 @@
<COMPONENT>
<ONOSbench>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>1</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOSbench>
<ONOS1cli>
- <host>10.128.10.20</host>
+ <host>10.128.174.10</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosCliDriver</type>
<connect_order>2</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS1cli>
<ONOS1>
- <host>10.128.20.21</host>
+ <host>10.128.174.1</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>OnosDriver</type>
<connect_order>3</connect_order>
<COMPONENTS> </COMPONENTS>
</ONOS1>
<Mininet1>
- <host>10.128.10.20</host>
+ <host>10.128.10.90</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>MininetCliDriver</type>
<connect_order>4</connect_order>
<COMPONENTS>
@@ -43,9 +43,9 @@
</Mininet1>
<Mininet2>
- <host>10.128.10.25</host>
+ <host>10.128.10.90</host>
<user>admin</user>
- <password></password>
+ <password>onos_test</password>
<type>RemoteMininetDriver</type>
<connect_order>5</connect_order>
<COMPONENTS> </COMPONENTS>