diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1
new file mode 100644
index 0000000..eac3f27
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate1
@@ -0,0 +1,54 @@
+ONOS1
+847463	1.00421948691e-09	0.00473311631549	5.17485257651	102.776724405
+ONOS2
+882388	1.09149022693e-09	0.00512541642753	5.56228900078	107.025396153
+ONOS3
+838455	1.09149022693e-09	0.00456489018844	5.06932251859	101.73573642
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	6.0908990789e-10	0.00428270074617	5.00520072962	102.40320992
+ONOS2
+882388	6.62022287408e-10	0.00463766856665	5.37993547709	106.636341874
+ONOS3
+838455	6.62022287408e-10	0.00413048345172	4.90313035852	101.36576056
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	3.69431703657e-10	0.00387514788538	4.84111073183	102.032400217
+ONOS2
+882388	4.01536814726e-10	0.00419633605155	5.20356021299	106.250156872
+ONOS3
+838455	4.01536814726e-10	0.0037374159817	4.74238662552	100.998572339
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	2.24071654938e-10	0.00350637880712	4.68240024404	101.664280506
+ONOS2
+882388	2.43544389135e-10	0.0037970018781	5.03296721784	105.866860502
+ONOS3
+838455	2.43544389135e-10	0.00338175382701	4.58691269892	100.634034393
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	1.35906328692e-10	0.00317270274649	4.52889290494	101.298913203
+ONOS2
+882388	1.47717139011e-10	0.00343566937566	4.86796692629	105.486241575
+ONOS3
+838455	1.47717139011e-10	0.00305993740126	4.4365358139	100.272022623
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	8.24313552008e-11	0.00287078016133	4.38041813502	100.936199508
+ONOS2
+882388	8.24313552008e-11	0.00305733954854	4.6822908691	105.108655151
+ONOS3
+838455	8.95949737753e-11	0.00276874585751	4.29108886957	99.9129489399
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2
new file mode 100644
index 0000000..40a3407
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale3nodesrate2
@@ -0,0 +1,54 @@
+ONOS1
+847463	2.22083736264e-13	0.000879194169698	2.9526401612	96.8449626337
+ONOS2
+882388	2.41383712278e-13	0.000952065392017	3.17370159808	100.847432091
+ONOS3
+838455	2.41383712278e-13	0.000847945533444	2.89242737589	95.860833096
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	1.34700595068e-13	0.000795527782462	2.85584110284	96.5128091306
+ONOS2
+882388	1.46406622252e-13	0.000861464391114	3.06965528379	100.501924621
+ONOS3
+838455	1.46406622252e-13	0.000767252847117	2.79760232743	95.5322244135
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	8.170004079e-14	0.000719823304659	2.76221549509	96.1834175286
+ONOS2
+882388	8.88001051807e-14	0.000779485215385	2.96902001341	100.158723529
+ONOS3
+838455	8.88001051807e-14	0.000694239085166	2.70588601384	95.2060147919
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	4.95535796389e-14	0.00065132306043	2.67165929985	95.8562254241
+ONOS2
+882388	5.38599863778e-14	0.000705307389686	2.87168395963	99.818002296
+ONOS3
+838455	5.38599863778e-14	0.000628173501321	2.61717651866	94.8819824115
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	3.00557653495e-14	0.000589341476306	2.58407188982	95.5312497498
+ONOS2
+882388	3.00557653495e-14	0.000627640189025	2.76215097323	99.4795068946
+ONOS3
+838455	3.26677330698e-14	0.000568394889014	2.53137526665	94.5601609267
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	1.82297431856e-14	0.000533258219763	2.49935593663	95.2084684807
+ONOS2
+882388	1.82297431856e-14	0.000567912328093	2.67159689327	99.1433381741
+ONOS3
+838455	1.98139816902e-14	0.0005143049638	2.44838691426	94.2404051737
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1
new file mode 100644
index 0000000..298d74e
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate1
@@ -0,0 +1,66 @@
+ONOS1
+847462	1.20548688617e-14	0.129315675061	15.7186999124	116.939684223
+ONOS2
+882387	1.25875098788e-14	0.137937766424	16.802017331	121.7758056
+ONOS3
+838454	1.1850193398e-14	0.124543532822	15.3981216947	115.763729412
+ONOS4
+721963	1.2348104351e-14	0.133619810575	16.3748175019	116.513525616
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	0.0105419940976	0.120051060852	15.2044573092	116.456136846
+ONOS2
+882388	0.0105419940976	0.12785265174	16.2522593584	121.272176716
+ONOS3
+838455	0.0114581360747	0.115784162752	14.8943948994	115.284779118
+ONOS4
+721963	7.4895038782e-15	0.120904204399	15.8379871303	115.950426488
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	0.00639404263469	0.108626691934	14.7059959086	115.976548751
+ONOS2
+882388	0.00639404263469	0.115685863289	15.7194469207	120.772693149
+ONOS3
+838455	0.00694971083245	0.104765842874	14.4060985536	114.809742105
+ONOS4
+721963	4.54261372816e-15	0.109398648139	15.3187561516	115.392669644
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	0.00387818289745	0.0982894954593	14.2238760164	115.500730879
+ONOS2
+882388	0.00387818289745	0.104676897842	15.2041021523	120.277110584
+ONOS3
+838455	0.00421521269602	0.0947960547643	13.9338104662	114.338319476
+ONOS4
+721963	2.75523450136e-15	0.0989879903183	14.8165475892	114.840034853
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	0.00235223683127	0.0889360132914	13.7575618943	115.028787138
+ONOS2
+882388	0.00235223683127	0.0947155739711	14.7056523951	119.785643243
+ONOS3
+838455	0.00255665573735	0.0857750174329	13.477005824	113.870975582
+ONOS4
+721963	1.67113419977e-15	0.0895680375762	14.3308033819	114.292957463
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	0.00142670375707	0.080472632637	13.3065353676	114.56060173
+ONOS2
+882388	0.00142670375707	0.0857021953998	14.2235437646	119.29798248
+ONOS3
+838455	0.00155069009103	0.077612445306	13.0351770192	113.407173101
+ONOS4
+721963	1.01359412866e-15	0.081044511859	13.8609837638	113.750705794
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2
new file mode 100644
index 0000000..8a11c18
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale4nodesrate2
@@ -0,0 +1,66 @@
+ONOS1
+847463	9.61305429856e-06	0.0296042271241	9.53454922611	110.115061084
+ONOS2
+882388	9.61305429856e-06	0.0315280757509	10.1916144547	114.668040903
+ONOS3
+838455	1.04484676454e-05	0.0285520230071	9.34011247315	109.003891494
+ONOS4
+721963	6.82954351748e-18	0.0298146097327	9.9318288621	108.638596544
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	5.83061216556e-06	0.0267870124339	9.22196952233	109.68607983
+ONOS2
+882388	5.83061216556e-06	0.028527782658	9.85749359047	114.221317514
+ONOS3
+838455	6.33731597393e-06	0.0258349387775	9.03390716435	108.579164644
+ONOS4
+721963	4.14232753519e-18	0.0269773744903	9.60622478266	108.149012696
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	3.5364450433e-06	0.0242378911676	8.91963740015	109.260678936
+ONOS2
+882388	3.5364450433e-06	0.0258130052026	9.5343265111	113.77806128
+ONOS3
+838455	3.84377643848e-06	0.0233764192985	8.73774045962	108.157649859
+ONOS4
+721963	2.51244865267e-18	0.0244101378792	9.29129527463	107.663628878
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	2.14496234515e-06	0.0219313508627	8.62721690389	108.838410455
+ONOS2
+882388	2.14496234515e-06	0.0233565729793	9.22175410879	113.33817375
+ONOS3
+838455	2.33136825902e-06	0.021151858881	8.45128325437	107.739353376
+ONOS4
+721963	1.5238771388e-18	0.0220872061325	8.98669038396	107.182582366
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	1.30098542626e-06	0.0198443068887	8.34438309179	108.419552668
+ONOS2
+882388	1.30098542626e-06	0.0211339011887	8.91942904871	112.902078944
+ONOS3
+838455	1.41404632817e-06	0.0191389933765	8.17421723336	107.324416982
+ONOS4
+721963	9.24278206315e-19	0.0199853305686	8.69207162941	106.705878307
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847463	7.89087548868e-07	0.0179558714079	8.07082167497	108.003618095
+ONOS2
+882388	7.89087548868e-07	0.0191227445846	8.62701538302	112.468868542
+ONOS3
+838455	8.57662452292e-07	0.0173176773506	7.90623451695	106.912624706
+ONOS4
+721963	5.60603070234e-19	0.0180834749102	8.40711162651	106.23345851
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1
new file mode 100644
index 0000000..441f8dc
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate1
@@ -0,0 +1,78 @@
+ONOS1
+847462	1.62491345509e-07	3.44813864737	46.9599694633	135.303430215
+ONOS2
+882387	1.69670980272e-07	3.67804245786	50.1964046125	140.902128061
+ONOS3
+838454	1.59732460956e-07	3.32089183002	46.0022348291	133.95508364
+ONOS4
+721963	1.66443958328e-07	3.56290629642	48.9201355165	138.498334109
+ONOS5
+567904	1.84038661934e-07	3.9432994012	51.3609925765	136.570828049
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	9.85559829892e-08	3.12000487072	45.4204385431	134.655287699
+ONOS2
+882387	1.02910651598e-07	3.328030441	48.5507707275	140.226904265
+ONOS3
+838454	9.68826349213e-08	3.00486718905	44.4941021848	133.312234333
+ONOS4
+721963	1.0095336385e-07	3.22385093396	47.3163427094	137.700889244
+ONOS5
+567904	1.11625091036e-07	3.56804484872	49.6771789568	135.586642919
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	5.97772253811e-08	2.82309715148	43.9313794498	134.013508367
+ONOS2
+882387	6.24184654053e-08	3.01132647138	46.9590871385	139.558371492
+ONOS3
+838454	5.87622884735e-08	2.71891626888	43.0354120097	132.676128504
+ONOS4
+721963	6.12313103762e-08	2.91706095522	45.7651284844	136.911744918
+ONOS5
+567904	6.77040401063e-08	3.22850048835	48.0485673135	134.615010414
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	3.62567199462e-08	2.55444393741	42.4911375203	133.376011084
+ONOS2
+882387	3.78587130005e-08	2.72476086922	45.4195851443	138.894765341
+ONOS3
+838454	3.56411295941e-08	2.46017717659	41.6245433866	132.045532965
+ONOS4
+721963	3.71386670776e-08	2.63946590297	44.2647691108	136.127384754
+ONOS5
+567904	4.10645761109e-08	2.92126804601	46.4733479107	133.652547022
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	2.1990812268e-08	2.31135645685	41.0981123374	132.741019443
+ONOS2
+882387	2.29624701721e-08	2.46546558967	43.9305540288	138.233474737
+ONOS3
+838454	1.98890029484e-08	2.18926682285	40.0368824154	131.416551651
+ONOS4
+721963	2.25257402434e-08	2.38828751264	42.813597368	135.358799446
+ONOS5
+567904	2.49069244394e-08	2.64327263614	44.9497703425	132.711936992
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	1.33381018725e-08	2.09140180857	39.7507559521	132.117855679
+ONOS2
+882387	1.39274421821e-08	2.23084551842	42.4903391597	137.58373906
+ONOS3
+838454	1.20632900793e-08	1.98093053938	38.7243172852	130.79827849
+ONOS4
+721963	1.36625520903e-08	2.16101190646	41.4100006939	134.597742483
+ONOS5
+567904	1.51068133116e-08	2.39173198725	43.4761415883	131.783407499
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2
new file mode 100644
index 0000000..94b69e9
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale5nodesrate2
@@ -0,0 +1,78 @@
+ONOS1
+847462	8.26857012125e-11	0.756666934116	28.3248629861	126.144722387
+ONOS2
+882387	8.63391458494e-11	0.80711751897	30.2769848297	131.363075247
+ONOS3
+838454	8.12818091892e-11	0.728743619827	27.7471858155	124.881661441
+ONOS4
+721963	8.46970364105e-11	0.781851792969	29.5071771043	127.385098867
+ONOS5
+567904	9.36503157419e-11	0.86532607106	30.9794298034	123.107345043
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	5.01514129052e-11	0.684660554978	27.3962635241	125.581979863
+ONOS2
+882387	5.2367339091e-11	0.730310131917	29.2843872013	130.776956742
+ONOS3
+838454	4.92999093502e-11	0.659394495374	26.8375248638	124.324416773
+ONOS4
+721963	5.13713493698e-11	0.707448757637	28.539816775	126.712230222
+ONOS5
+567904	5.68017877892e-11	0.782979407897	29.9638032896	122.309028636
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	3.04183695549e-11	0.619506488798	26.4981071735	125.024149395
+ONOS2
+882387	3.17623967263e-11	0.660811934129	28.3243307939	130.195984043
+ONOS3
+838454	2.99019065419e-11	0.596644812661	25.9576861453	123.771845932
+ONOS4
+721963	3.11582984236e-11	0.640126107253	27.6041702896	126.045876251
+ONOS5
+567904	3.44520258207e-11	0.708469065817	28.9814729734	121.521081683
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	1.84496737535e-11	0.56055265178	25.6293958906	124.471190556
+ONOS2
+882387	1.92648674405e-11	0.597927364285	27.3957487792	129.620072017
+ONOS3
+838454	1.81364231015e-11	0.539866551773	25.106691971	123.223945922
+ONOS4
+721963	1.88984632984e-11	0.579210054104	26.6991979446	125.386849288
+ONOS5
+567904	2.08962099494e-11	0.641049320272	28.0313472755	120.743292878
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	1.11902927932e-11	0.50720901411	24.789164351	123.922990534
+ONOS2
+882387	1.16847327579e-11	0.541027052472	26.497609304	129.048911624
+ONOS3
+838454	1.10002966686e-11	0.48849145679	24.2835967042	122.680716997
+ONOS4
+721963	1.14624974119e-11	0.524090929856	25.8238941219	124.732734412
+ONOS5
+567904	1.26741920061e-11	0.580045411789	27.1123704031	119.972857182
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	6.78725567025e-12	0.458941694732	23.9764788778	123.378414608
+ONOS2
+882387	7.08714866823e-12	0.489541521247	25.6289143431	128.481903343
+ONOS3
+838454	6.67201719544e-12	0.442005348495	23.4874857099	122.141458884
+ONOS4
+721963	6.9523561172e-12	0.474217083787	24.9772861719	124.087232674
+ONOS5
+567904	7.6872860388e-12	0.524846792747	26.2235211761	119.214138441
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1
new file mode 100644
index 0000000..04237e2
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate1
@@ -0,0 +1,90 @@
+ONOS1
+847462	1.56939820715	86.0132392881	137.210706433	159.99030466
+ONOS2
+882387	1.63874162904	91.7481512179	146.667134072	166.615447169
+ONOS3
+838454	1.54275193589	82.839088806	134.412334815	158.415161744
+ONOS4
+721963	1.60757392324	88.8760990132	142.938047655	170.020068127
+ONOS5
+567904	1.77750972017	98.3649411075	150.069903261	177.922812924
+ONOS6
+354393	1.63526518851	90.8269123933	130.534802825	163.623243252
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.951888129936	77.8279973543	132.71240442	159.085204206
+ONOS2
+882387	0.993947041359	83.0171602575	141.858813486	165.67121857
+ONOS3
+838454	0.935726349446	74.9559072277	130.005774336	157.515513285
+ONOS4
+721963	0.975042872198	80.4184199562	138.251981063	168.818316164
+ONOS5
+567904	1.07811414322	89.004279337	145.150026632	176.253237434
+ONOS6
+354393	0.991838473595	82.1835888982	126.255362966	161.37091103
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.577349335423	70.421684177	128.361574289	158.188336271
+ONOS2
+882387	0.602859354715	75.1170329401	137.208128398	164.737679416
+ONOS3
+838454	0.56754672004	67.8229095625	125.743678093	156.628206068
+ONOS4
+721963	0.591393396522	72.7655954757	133.719542008	167.636376199
+ONOS5
+567904	0.653909282534	80.5344023094	140.391442744	174.61956196
+ONOS6
+354393	0.601580443718	74.3627863836	122.116219833	159.183652837
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.350180073299	63.7201748845	124.153381336	157.30218901
+ONOS2
+882387	0.365652682129	67.968702136	132.709910904	163.81550064
+ONOS3
+838454	0.344234486523	61.3687063722	121.621309986	155.746959199
+ONOS4
+721963	0.358698226942	65.8410335321	129.335693979	166.465200242
+ONOS5
+567904	0.396616028528	72.8705406487	135.788863792	173.007469557
+ONOS6
+354393	0.364876983398	67.2862316293	118.112773952	157.048210589
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.212394950876	57.6563985193	120.083149357	156.422881961
+ONOS2
+882387	0.221779562517	61.500624948	128.35916252	162.899734734
+ONOS3
+838454	0.208788770207	55.528701822	117.63408918	154.880250517
+ONOS4
+721963	0.217561472225	59.575430782	125.095565584	165.316791964
+ONOS5
+567904	0.240559781435	65.9359918515	131.337175326	171.434184052
+ONOS6
+354393	0.221309077455	60.8831000968	114.240576639	154.979337447
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.128824049674	52.1696667694	116.146355455	155.557343468
+ONOS2
+882387	0.134516104364	55.6480666856	124.151048634	161.997934084
+ONOS3
+838454	0.126636790534	50.2444471835	113.77758502	154.022229121
+ONOS4
+721963	0.131957703277	53.9060789672	120.994445131	164.18349001
+ONOS5
+567904	0.145906882934	59.6613526225	127.031430567	169.888124954
+ONOS6
+354393	0.134230740749	55.0893070936	110.495325054	152.962677603
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2
new file mode 100644
index 0000000..a4a2201
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn20140815-133306/scale6nodesrate2
@@ -0,0 +1,90 @@
+ONOS1
+847462	0.000798607401727	18.8749295551	82.7614349913	147.379860674
+ONOS2
+882387	0.000906362381731	20.4717796746	88.9581135865	153.479962958
+ONOS3
+838454	0.000785048121892	18.1783871712	81.0735400975	145.919199363
+ONOS4
+721963	0.000889124010799	19.8309382062	86.6963083421	153.622350418
+ONOS5
+567904	0.000904507481085	21.585413472	90.5177217275	155.797447153
+ONOS6
+354393	0.000904439616814	20.2662235081	79.1733600731	135.305854332
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.000484379874221	17.0787425243	80.0481924226	146.609924186
+ONOS2
+882387	0.00054973657333	18.5236322633	86.0417197294	152.678023561
+ONOS3
+838454	0.000476155755277	16.448484912	78.4156333054	145.156042842
+ONOS4
+721963	0.000539280972836	17.9437749237	83.8540652808	152.641333911
+ONOS5
+567904	0.000548611519218	19.5312897932	87.5501978338	154.517005318
+ONOS6
+354393	0.000548570357457	18.3376373524	76.5777485919	133.763528802
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.000293791244663	15.4534852889	77.4239005256	145.848084148
+ONOS2
+882387	0.00033343208649	16.7608755898	83.2209366355	151.885106112
+ONOS3
+838454	0.000288803064374	14.8832046184	75.8448630625	144.402164077
+ONOS4
+721963	0.000327090444225	16.2361989718	81.1050020305	151.674396734
+ONOS5
+567904	0.000332749706677	17.6726418274	84.6799609452	153.260715621
+ONOS6
+354393	0.000332724740807	16.5925804348	74.0672313768	132.259717669
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.000178193397443	13.9828917285	74.8856431505	145.09573196
+ONOS2
+882387	0.000202236783388	15.1658673927	80.492629811	151.101190959
+ONOS3
+838454	0.000175167913162	13.466880439	73.3583726929	143.65639038
+ONOS4
+721963	0.000182527963723	14.4482974951	78.0114606766	150.719897691
+ONOS5
+567904	0.00020182289911	15.990867601	81.9038216144	152.024272143
+ONOS6
+354393	0.000201807756544	15.0135876392	71.6390187058	130.788902222
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	0.000108079758908	12.6522436483	72.4305997501	144.350929495
+ONOS2
+882387	0.000122662809647	13.7226442939	77.8537675233	150.325719838
+ONOS3
+838454	0.000106244709931	12.1853373254	70.9533991737	142.918768666
+ONOS4
+721963	0.000110708806253	13.0733602005	75.4539407886	149.777784543
+ONOS5
+567904	0.000122411776142	14.4691353522	79.2186949564	150.807805383
+ONOS6
+354393	0.000122402591712	13.5848558749	69.2904123149	129.350412683
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+847462	6.55536874718e-05	11.4482234751	70.0560422459	143.609451911
+ONOS2
+882387	6.84501588617e-05	12.2115310069	74.8842361337	149.551953238
+ONOS3
+838454	6.44406740052e-05	11.0257491634	68.6272700647	142.181862885
+ONOS4
+721963	6.71482852926e-05	11.8292654889	72.9802663755	148.838777109
+ONOS5
+567904	7.42464953402e-05	13.0922150733	76.621597221	149.597520164
+ONOS6
+354393	6.83049481086e-05	12.0889156046	66.6475080482	127.927837628
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1
new file mode 100644
index 0000000..a59bc0d
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate1
@@ -0,0 +1,54 @@
+ONOS1
+20805	219.124237492	62.7194383367	22.2881841137	133.849655918
+ONOS2
+21868	229.319605783	65.6241488277	23.3286063879	140.622689217
+ONOS3
+21609	216.325388406	61.9157006823	22.0069392306	140.436871361
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+30969	249.243162962	86.4642910382	31.8821118507	164.554952799
+ONOS2
+30814	247.370983508	87.0423498158	32.1765083478	164.565686823
+ONOS3
+30778	252.095434536	86.5889893645	31.8886426074	167.145845368
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+36676	235.847855045	98.611903827	37.8509621868	167.882982343
+ONOS2
+35361	213.360487048	94.0868556917	36.4034573229	162.568186501
+ONOS3
+34999	216.101321017	93.5894513204	36.0910301903	163.12739404
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+47868	274.156392817	119.643014661	47.0109172601	192.361286414
+ONOS2
+46066	256.830483702	114.747281068	45.3403399001	185.855398627
+ONOS3
+45505	250.154938407	112.117433985	44.2764999975	185.95427261
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+57572	302.860192812	141.426347242	56.9062439306	206.346052027
+ONOS2
+55461	287.637766312	135.960876343	54.9377814383	199.500363535
+ONOS3
+55502	291.465311195	135.32904464	54.5021781396	201.919587657
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+62110	248.601289185	145.154181569	61.0453288194	200.566342335
+ONOS2
+59575	230.746536954	138.000918364	58.3742056208	192.963696888
+ONOS3
+59407	218.75817083	136.271674693	58.0197943298	194.423464673
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2
new file mode 100644
index 0000000..d14323f
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale3nodesrate2
@@ -0,0 +1,54 @@
+ONOS1
+118141	367.918381463	187.427497533	96.586700531	178.009213385
+ONOS2
+114680	361.107725049	183.344169628	94.2088567927	173.053680767
+ONOS3
+118154	386.393697097	191.83731201	97.1678534925	179.156730436
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+130575	388.808414633	209.901883941	107.321284123	188.206175923
+ONOS2
+126789	377.318436347	204.448153663	104.416532089	183.015200076
+ONOS3
+131151	403.078496462	214.73263041	108.178115009	190.184823512
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+142448	381.648168753	225.62052178	116.12392361	196.77037678
+ONOS2
+138420	377.012333151	221.148542302	113.468752371	191.472301158
+ONOS3
+142991	414.425251818	235.563024443	118.85785271	198.669770435
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+154527	395.431583906	244.083026135	126.09151283	204.932497103
+ONOS2
+149939	384.802931711	237.99270293	122.809378452	199.114565865
+ONOS3
+155462	404.862942682	249.584432004	127.474208878	207.325562206
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+164163	370.729465648	251.917134656	132.625600048	209.360323074
+ONOS2
+159295	361.579328609	245.384141157	129.07726269	203.415239134
+ONOS3
+165156	378.470568155	257.339562693	134.114485692	211.760521821
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+164343	242.097164036	232.738539058	129.967458869	201.846370805
+ONOS2
+159475	231.866680002	225.476860791	126.056962001	196.111622973
+ONOS3
+165336	251.438579194	238.962773326	131.87353076	204.119094577
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1
new file mode 100644
index 0000000..6aa974e
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate1
@@ -0,0 +1,66 @@
+ONOS1
+183665	204.849590871	119.709121054	104.094141742	151.787988457
+ONOS2
+179110	200.847804682	116.145538612	100.996434824	148.147613524
+ONOS3
+184233	198.038854617	119.000171582	104.455155917	152.787384046
+ONOS4
+19047	201.831707939	57.2026260172	20.3096947367	118.721314025
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+193375	246.787809378	137.914738037	110.876055082	155.791336494
+ONOS2
+189284	257.48549736	139.542470791	109.676504644	152.620048076
+ONOS3
+194140	249.263585001	138.841368199	111.764423562	156.938394547
+ONOS4
+28834	253.497703762	83.3364071922	30.5152722903	151.190014463
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+202841	271.388625792	154.357256778	117.434344062	159.537756818
+ONOS2
+198958	283.024030853	156.930660813	116.645268377	156.60812731
+ONOS3
+203648	275.317034657	155.459653581	118.366139207	160.702534748
+ONOS4
+38806	283.933347098	106.757607851	40.3079185843	175.713479682
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+212594	294.903659878	171.10810037	124.412267331	163.334850684
+ONOS2
+209019	302.362435684	173.564183129	123.694340695	160.710215519
+ONOS3
+213517	291.092779303	170.71700094	124.840151147	164.569862928
+ONOS4
+49248	303.773016302	128.465717635	49.9676990473	196.206702754
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+220821	287.78535674	181.787784757	129.656668716	165.816572039
+ONOS2
+217589	293.590185574	184.440879685	129.118077597	163.48453201
+ONOS3
+221313	285.388451241	181.590368677	130.135083884	166.681373357
+ONOS4
+57877	299.921385297	145.01801871	58.2886855639	205.719803264
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+226258	238.133292202	179.644951353	130.61639386	166.114933794
+ONOS2
+223753	254.592744054	185.038536884	131.119540085	164.398192627
+ONOS3
+226694	237.295535221	179.411046929	131.048707647	166.934493095
+ONOS4
+63999	257.523709507	149.149153216	62.5369170649	205.41542321
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2
new file mode 100644
index 0000000..2dc5ddc
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale4nodesrate2
@@ -0,0 +1,66 @@
+ONOS1
+261680	277.856307991	157.232430906	129.421237733	157.526420419
+ONOS2
+260555	293.206579942	163.746732677	131.415041316	156.944851565
+ONOS3
+261702	270.435481958	154.951446341	128.936669748	157.938837859
+ONOS4
+102338	304.916266556	154.14300608	83.6041737114	167.614448791
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+273779	327.131345509	180.168150081	138.207201083	161.877950126
+ONOS2
+273328	346.029238368	188.411434752	140.945991834	161.706992319
+ONOS3
+273725	323.664894843	178.56145631	137.908975733	162.24620562
+ONOS4
+115656	361.783324016	181.687642422	95.3727092398	180.516037018
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+285802	355.795968832	200.904455902	146.717616632	166.027450158
+ONOS2
+286355	381.197996327	211.389114875	150.388053667	166.446451967
+ONOS3
+286589	361.292204397	201.235118457	147.039940718	166.891535987
+ONOS4
+129997	410.369669315	210.058814072	107.946809557	193.759934222
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+297620	374.64384432	219.978791656	155.053299291	169.911925898
+ONOS2
+298609	393.84996441	230.242113322	158.862338735	170.57529671
+ONOS3
+297229	364.861592056	217.164126183	154.297058743	170.096563667
+ONOS4
+142316	408.996082424	228.614086048	117.677080363	203.02086857
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+310086	388.029406303	237.738964671	163.289817083	174.038433772
+ONOS2
+311004	403.091451703	247.678683019	167.18886412	174.652788714
+ONOS3
+309112	373.535529321	233.194474897	161.874363193	173.901626056
+ONOS4
+154295	409.065000557	245.211585977	126.999232296	211.048849997
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+323668	415.018741042	258.63123752	172.932714102	178.644021937
+ONOS2
+324513	418.718336325	266.368534581	176.274079037	179.210240256
+ONOS3
+321751	393.281278297	251.351291238	170.470587976	177.998389029
+ONOS4
+167948	423.962265429	264.426698455	137.496552216	220.640812914
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1
new file mode 100644
index 0000000..5d49b30
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate1
@@ -0,0 +1,78 @@
+ONOS1
+354062	206.292444865	123.868636	132.704118233	156.397776606
+ONOS2
+354962	208.171296794	126.292477483	135.001535724	156.865028229
+ONOS3
+350559	200.974665355	119.766793488	130.016262182	155.137750572
+ONOS4
+198542	208.104812051	125.994290789	111.528798145	163.645260729
+ONOS5
+20742	215.20075479	61.5778059303	21.8984475209	129.129506853
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+364499	262.262165724	146.736981236	140.279532773	158.762639655
+ONOS2
+365479	255.419230208	145.506888639	141.335365141	159.259204471
+ONOS3
+360969	253.209779046	141.779460851	137.253372454	157.507200142
+ONOS4
+209336	264.733587808	149.291897271	120.159194934	168.095832002
+ONOS5
+30876	265.457020796	88.1746734403	32.3518264392	161.674970954
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+374751	288.962427426	164.189535103	146.503018007	161.100472597
+ONOS2
+375939	294.853869376	167.47019611	149.103849389	161.680544042
+ONOS3
+370944	286.24211455	160.400898507	143.81852808	159.750996823
+ONOS4
+219738	297.815618746	168.312568826	127.66913306	172.264094509
+ONOS5
+41382	297.489031842	112.811255942	42.6701271193	187.158430402
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+384896	308.812743497	180.684016744	152.754669628	163.346120625
+ONOS2
+386256	311.411294143	183.533247197	155.236125493	163.993752936
+ONOS3
+380773	298.546414139	175.245931918	149.469861822	161.881950295
+ONOS4
+230150	313.32089684	184.333989885	134.517339252	176.26032273
+ONOS5
+52195	320.930845861	135.943150177	52.932337467	207.726743569
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+394749	316.706389222	194.768800372	158.521313473	165.411165061
+ONOS2
+396239	321.764057061	198.17772571	161.206973944	166.105373384
+ONOS3
+390358	311.278677591	189.984436797	155.388221309	163.858815146
+ONOS4
+240377	328.293659495	200.24307799	141.632436273	179.942016698
+ONOS5
+62695	332.729725921	156.433605993	62.7143502157	222.797918764
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+404710	322.298243796	207.836964032	164.21768949	167.470977968
+ONOS2
+406217	322.850343691	210.357903012	166.623812829	168.163500048
+ONOS3
+400025	311.15814486	201.719558318	160.576928081	165.818647496
+ONOS4
+250334	325.52205416	211.827995184	147.548344909	183.260559972
+ONOS5
+73079	337.296095548	174.387131968	71.9763519851	234.584446533
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2
new file mode 100644
index 0000000..3f68e7d
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale5nodesrate2
@@ -0,0 +1,78 @@
+ONOS1
+440053	278.443856414	167.824719734	153.516969427	162.052777856
+ONOS2
+442583	278.051349959	167.849418421	154.876433868	163.044938827
+ONOS3
+434310	269.872294146	162.821048108	149.927896655	160.185157484
+ONOS4
+287658	281.056512648	169.905789578	141.808213267	172.778077365
+ONOS5
+113348	326.860589621	169.487428093	92.5245955044	185.684020534
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+453394	340.282787325	193.440023461	162.81862359	165.131490906
+ONOS2
+456799	348.023293339	195.432572296	164.814385093	166.432957466
+ONOS3
+446336	320.234041043	185.073678797	158.011660447	162.809799553
+ONOS4
+301402	361.34261049	202.119631401	154.039604508	177.809697866
+ONOS5
+128676	395.276864475	201.117341808	105.950937107	200.865289479
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+464807	352.087850194	210.819099946	169.84242058	167.447812403
+ONOS2
+469447	383.127346319	219.110354907	174.014956327	169.180937659
+ONOS3
+457570	339.593882023	202.944053926	165.075675157	165.090093273
+ONOS4
+313846	380.252516998	222.25975338	162.579087345	181.917391683
+ONOS5
+141422	403.596180098	222.245210559	116.387260924	210.836680407
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+476514	367.863207133	227.805754949	177.022707238	169.821044467
+ONOS2
+482266	391.034693999	236.630264577	181.528725223	171.93237007
+ONOS3
+468635	346.933392368	217.357187673	171.262727243	167.257646146
+ONOS4
+326919	402.076093608	242.098143808	171.34386599	186.230577744
+ONOS5
+153212	400.505815145	238.502963553	125.446296434	218.571506948
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+489734	393.24321426	247.349613098	185.425318619	172.673292329
+ONOS2
+496451	427.300687943	262.781593695	192.696546514	175.104094338
+ONOS3
+481233	374.436457681	236.341850245	179.315117889	169.927435783
+ONOS4
+341308	428.731400885	263.923938562	181.191624639	191.148214763
+ONOS5
+167523	428.634092991	260.864166728	136.864656005	229.143751115
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+501712	397.154932806	262.457364233	192.677370108	175.037842794
+ONOS2
+509297	427.655645975	278.718377567	200.496453125	177.746703904
+ONOS3
+492999	383.049762107	251.789786789	186.519505161	172.250372969
+ONOS4
+354445	434.411808973	281.135080882	189.843654476	195.213313687
+ONOS5
+180653	431.214812809	277.607904416	146.707980634	237.325604588
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1
new file mode 100644
index 0000000..a495d45
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate1
@@ -0,0 +1,90 @@
+ONOS1
+532670	191.915994426	127.207103719	147.512875705	161.392910562
+ONOS2
+542133	195.986594946	132.531249542	153.146241027	164.310402903
+ONOS3
+523540	194.733991114	124.866045517	143.548352861	158.828515276
+ONOS4
+387680	194.235956989	132.969111279	146.681199192	172.314168274
+ONOS5
+214332	206.923150382	136.259696563	121.666506157	179.301992252
+ONOS6
+18648	198.065999019	56.423245186	20.0543367227	109.687171758
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+540668	219.127856752	139.861876563	151.202641374	162.303981699
+ONOS2
+551112	240.44015638	150.663967214	158.645773145	165.489215146
+ONOS3
+531981	226.388183741	139.186118829	147.871036859	159.897425398
+ONOS4
+396505	240.645677419	151.312493618	152.515985621	173.857903727
+ONOS5
+223488	244.254009004	151.970498027	127.55609894	182.262441935
+ONOS6
+26921	228.616786013	77.1042180363	28.3608384082	134.409937967
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+549339	246.87921237	153.828919352	155.626505624	163.42260414
+ONOS2
+560535	267.493758574	165.587077451	163.516089359	166.803325794
+ONOS3
+540971	251.87067727	153.533478854	152.522075792	161.134351424
+ONOS4
+406023	266.508070739	165.915909029	157.498649152	175.700346331
+ONOS5
+233331	275.652590863	168.151171934	133.91980726	185.713468819
+ONOS6
+36582	263.76872052	99.9075446456	37.8081909675	158.742341146
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+558868	273.843164089	169.25894704	160.886084377	164.778019716
+ONOS2
+570483	294.86043339	181.946729476	169.222843119	168.252680654
+ONOS3
+550537	279.485899631	169.685176985	158.126238358	162.518946374
+ONOS4
+416050	295.04136331	182.506110274	163.496874524	177.715688801
+ONOS5
+243469	299.718342771	184.25276504	140.591644067	189.232301857
+ONOS6
+46736	295.236939701	123.099554329	47.8334015592	179.117578506
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+568081	283.311970165	181.589502383	165.412939782	166.002416788
+ONOS2
+580156	301.872345585	194.506619798	173.972874638	169.580934705
+ONOS3
+560002	292.288743598	183.151461265	163.139447138	163.842182459
+ONOS4
+425948	305.422049865	195.752186884	168.684854048	179.609687367
+ONOS5
+253536	308.836589146	197.566586519	146.616432856	192.504592139
+ONOS6
+56748	306.37664055	142.136935759	56.8568362784	194.952292599
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+577261	295.566906269	194.182354091	170.278927072	167.211617917
+ONOS2
+589810	309.928424773	206.578240478	178.799124217	170.896636948
+ONOS3
+569489	304.280817811	196.316089156	168.323730199	165.161173671
+ONOS4
+435606	316.878732565	208.800012269	174.058557992	181.377652997
+ONOS5
+263100	318.01131195	210.381358074	152.702324728	195.298517124
+ONOS6
+66469	316.339232982	160.156806187	65.8592233799	206.932420493
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2
new file mode 100644
index 0000000..7208abe
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale6nodesrate2
@@ -0,0 +1,192 @@
+ONOS1
+610375	267.011500505	157.02319942	155.277875681	162.703902757
+ONOS2
+626731	293.875448071	171.360123553	165.281872122	167.10755954
+ONOS3
+604349	273.304544266	160.843661582	155.288466867	161.276713052
+ONOS4
+471953	293.650821896	171.020567492	161.247609241	174.735505722
+ONOS5
+300127	292.334940845	172.5366777	146.571183473	182.28474406
+ONOS6
+103379	295.743582999	154.650812204	84.4089817797	166.600887628
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+621371	305.774751156	177.126047923	162.276488245	164.308990388
+ONOS2
+638931	339.915524505	194.338908185	173.409107015	168.996607835
+ONOS3
+616094	322.078039252	183.677278996	163.357456916	163.093662304
+ONOS4
+484511	340.047999964	194.088819234	169.526751175	177.402085396
+ONOS5
+313007	342.1374441	196.248713085	155.607773586	186.684071105
+ONOS6
+115707	339.975377513	178.906359385	95.0758437712	177.813133931
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+632009	329.404886638	195.062136918	168.942197448	165.798366286
+ONOS2
+651286	367.625590127	214.798786375	181.137873273	170.900489839
+ONOS3
+627020	340.260671113	201.252526305	170.079127955	164.669951496
+ONOS4
+496205	364.409184513	213.569407991	177.026390034	179.698466315
+ONOS5
+325635	378.63662941	218.657188233	164.643334386	190.781524855
+ONOS6
+127290	357.673841558	198.368957909	104.520510814	186.941765504
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+642494	335.185971138	209.110493749	174.630497433	167.224326145
+ONOS2
+663174	375.064052086	231.344098082	187.95172099	172.652211864
+ONOS3
+637887	350.671582872	216.941544912	176.502739313	166.204199508
+ONOS4
+507613	367.983762834	228.850727509	183.492177459	181.839404652
+ONOS5
+337733	387.649474223	236.063680485	172.410661166	194.427786177
+ONOS6
+138454	360.514166649	214.404023222	113.131532002	194.701831138
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+653240	339.936387098	221.961974326	180.170996046	168.69550716
+ONOS2
+674865	382.682269026	246.516357099	194.581250518	174.325613705
+ONOS3
+648843	345.964245256	228.249248446	181.707998276	167.741707046
+ONOS4
+519000	371.855091406	242.6756595	189.721678441	183.932792452
+ONOS5
+350106	391.937291994	251.104494294	179.65466251	198.097479842
+ONOS6
+150020	369.740466828	230.409537049	121.957722122	202.349931871
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+664819	359.514760212	238.140767341	187.128328675	170.360568873
+ONOS2
+688424	409.799048844	266.173920853	203.064335175	176.446939575
+ONOS3
+661592	378.158783027	247.4900062	189.877486535	169.707774688
+ONOS4
+532057	395.381817144	260.935272464	197.765194679	186.550276122
+ONOS5
+363884	419.889579522	271.376402836	188.987462781	202.427473107
+ONOS6
+162480	389.983093926	248.719192602	131.831467698	210.56028192
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+773356	249.45137296	154.398229801	154.495225192	162.105027016
+ONOS2
+802448	249.914737764	158.680752265	163.19623879	168.238686707
+ONOS3
+767420	228.607855384	147.706361417	152.767613552	161.002289521
+ONOS4
+645195	249.929979558	159.356029008	161.606275676	173.431601801
+ONOS5
+481989	285.352120421	170.860863801	162.822642874	180.812115792
+ONOS6
+275398	252.320730035	157.310494291	135.301699659	167.952837129
+ONOS7
+102996	270.009169156	149.055080856	83.0706759754	161.816978843
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+785830	311.702680199	178.188631564	162.6691532	163.682092723
+ONOS2
+816069	328.204097668	186.02077177	172.450680206	170.016495926
+ONOS3
+779136	291.722797013	170.33459808	160.377734754	162.429832499
+ONOS4
+657923	319.500451247	184.581147622	170.208965841	175.430725531
+ONOS5
+496308	360.461894228	199.642161615	172.983963904	184.101000232
+ONOS6
+288763	327.563429421	184.320552072	145.315029131	172.923657219
+ONOS7
+116881	347.722404809	179.027668525	95.5402784649	175.328273
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+798091	349.350935165	199.999329013	170.69080799	165.198346877
+ONOS2
+829188	376.092475971	213.818241185	182.607739052	171.670843651
+ONOS3
+791047	334.422364161	192.017249663	168.162632753	163.880970136
+ONOS4
+670599	358.63055037	206.867236646	178.356281281	177.381771064
+ONOS5
+510615	402.640291229	225.289633666	182.701181503	187.309111537
+ONOS6
+301806	373.038860055	211.579668381	156.251926514	177.522600957
+ONOS7
+130372	383.867570644	203.759600005	106.793541671	187.077391512
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+810913	376.452013855	220.743265089	178.796234923	166.808277226
+ONOS2
+842791	404.838663316	236.234872116	191.354740446	173.401751886
+ONOS3
+803105	358.889771615	211.322579646	175.585623354	165.344785569
+ONOS4
+683889	388.265885763	228.438848521	186.719986839	179.461398417
+ONOS5
+525263	437.318730225	250.645880008	192.838354768	190.566800599
+ONOS6
+314942	396.625884232	232.796675574	165.383820701	182.009196115
+ONOS7
+144211	413.630207284	228.033819502	118.331233416	198.331107858
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+822872	387.208584327	237.927302096	186.077866829	168.222006429
+ONOS2
+856033	419.471281858	255.495249364	199.442526624	175.03616011
+ONOS3
+814570	366.051542118	226.935857771	182.12675952	166.666347249
+ONOS4
+696337	397.638401893	245.730738361	194.034298012	181.290400989
+ONOS5
+539352	446.20618213	270.32859869	201.500921299	193.557535841
+ONOS6
+327851	410.104056941	251.440507962	174.004831295	186.219162288
+ONOS7
+157329	420.852160619	247.009397397	128.440727991	207.74216205
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+835268	400.430419391	255.221484341	193.72919645	169.707977874
+ONOS2
+869273	430.355213808	273.705420421	207.551751531	176.65298677
+ONOS3
+826658	382.30538924	243.910519047	189.432438685	168.101494895
+ONOS4
+709141	411.35331864	263.534861247	201.864403933	183.182551787
+ONOS5
+553662	458.307854017	290.132687274	210.587903445	196.559397335
+ONOS6
+341347	423.632939192	269.697854337	182.826074928	190.609567034
+ONOS7
+171533	440.683015176	268.519750514	139.748166724	217.797386658
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1
new file mode 100644
index 0000000..6c34726
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate1
@@ -0,0 +1,102 @@
+ONOS1
+694469	178.094229286	120.499298444	144.838952961	160.80504083
+ONOS2
+720047	185.522727707	130.700388051	156.461494285	166.766479409
+ONOS3
+691552	174.090436664	122.332531691	146.758982473	160.285159223
+ONOS4
+563854	188.465363197	130.159161226	153.387802846	172.531431199
+ONOS5
+396049	187.647483959	133.086788904	148.245280609	178.912373978
+ONOS6
+193646	183.777444251	125.426295805	111.08624917	163.042274564
+ONOS7
+18005	194.177930043	54.4532800287	19.2938708667	97.1795758079
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+704276	230.807212362	138.574367558	150.259088063	161.90398381
+ONOS2
+729743	231.609723334	147.345768921	161.367070075	167.797685794
+ONOS3
+700862	230.319678273	141.9105856	152.601851202	161.274871895
+ONOS4
+573981	241.105807676	148.485341916	158.942548445	173.968776505
+ONOS5
+406314	241.385639953	151.226221586	153.994485778	180.998338641
+ONOS6
+203505	234.640066897	143.263469414	117.700634077	166.959066657
+ONOS7
+27855	248.101340143	80.637939722	29.4582962959	129.131160248
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+713568	264.026468386	157.139998321	156.250721181	162.908385502
+ONOS2
+739338	269.350368944	164.404902494	166.779743208	168.83058994
+ONOS3
+709855	258.034649902	156.957491378	157.430823088	162.216081181
+ONOS4
+583668	275.562808277	165.647304192	164.512911031	175.298244125
+ONOS5
+416247	279.598942499	170.721441409	160.64361271	182.958565645
+ONOS6
+212886	267.916104671	160.028775641	124.315730256	170.427059121
+ONOS7
+37839	282.104889303	104.603915028	39.3813175123	153.878892681
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+722774	280.759913607	171.260837186	161.138885656	163.880012537
+ONOS2
+749142	286.608137963	178.513923694	171.559573244	169.897184623
+ONOS3
+718928	273.835752061	170.215961687	161.972373055	163.161915847
+ONOS4
+593274	287.081036865	178.967450938	169.142909215	176.580071974
+ONOS5
+426396	300.728001671	186.15956139	166.290663931	184.9609983
+ONOS6
+222461	283.224390724	173.904564319	130.261550879	173.882280475
+ONOS7
+48024	304.134603115	126.536959363	49.0591879583	173.880652758
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+732296	291.415079269	184.324663927	165.974787595	164.907325557
+ONOS2
+758897	301.323619325	192.46378527	176.599793273	170.935523609
+ONOS3
+728439	287.589221829	183.355446908	166.766537962	164.192761562
+ONOS4
+603202	305.678987339	195.554154215	175.265938503	177.932387589
+ONOS5
+436385	311.195647906	199.661950343	171.597731851	186.842046826
+ONOS6
+232215	298.326375976	188.009311173	136.554623395	177.298742174
+ONOS7
+58045	313.131845097	145.490112744	58.1213166008	189.382284338
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+740681	285.722157826	193.283750799	169.6721453	165.665325251
+ONOS2
+768172	304.151119902	203.603702385	180.963592435	171.853025749
+ONOS3
+736817	284.88012187	192.808469275	170.578784585	164.956012806
+ONOS4
+612066	302.310294192	205.310611127	179.298442086	178.949812697
+ONOS5
+445279	305.118867606	209.137904524	175.801821222	188.211958059
+ONOS6
+240999	295.477598288	198.052252978	141.714948562	179.865631979
+ONOS7
+67535	314.202071902	161.795814084	66.6087364915	200.61433243
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up20140815-133306/scale7nodesrate2
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1
index 9bf2f2d..4ea2d4a 100644
--- a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1
+++ b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1
@@ -1,176 +1,54 @@
-ONOS1 
-1	0.0	0.0	0.0	0.00239947245396
-ONOS2 
-1	0.0	0.0	0.0	0.00240234871667
-ONOS3 
-5	0.0	0.0	0.0	0.0121141862312
+ONOS1
+1227590	1.25519486355e-21	0.0068039475535	7.50840588321	149.182531297
+ONOS2
+1181814	1.20055109198e-21	0.00633668100493	6.93739942224	143.650961062
+ONOS3
+1138041	1.1523716855e-21	0.00593171032296	6.6006298246	138.387175243
+
 
 --------------------------------------------------------------------------------- 
-ONOS1 
-1629	18.7889293392	4.48449607458	1.54147719592	3.62505307741
-ONOS2 
-1629	19.2261277938	4.60475972875	1.58370323175	3.62941581988
-ONOS3 
-1629	17.8382714302	4.24867153003	1.459765156	3.66161718472
+ONOS1
+1227590	7.61314168654e-22	0.00615646633676	7.26225105919	148.638971757
+ONOS2
+1181814	7.28171045837e-22	0.00573366607942	6.70996441667	143.127502641
+ONOS3
+1138041	6.98948758641e-22	0.00536723345317	6.38423543968	137.882707965
+
 
 --------------------------------------------------------------------------------- 
-ONOS1 
-3183	31.2994548933	9.22645211247	3.29904481351	6.61046866244
-ONOS2 
-3183	32.7606424407	9.56283317479	3.41481907462	6.61796407638
-ONOS3 
-3183	31.5861689913	9.24594010149	3.30141569916	6.673448832
+ONOS1
+1227590	4.61760384962e-22	0.00557060110438	7.02416615019	148.099726015
+ONOS2
+1181814	4.41658064815e-22	0.00518803561118	6.48998561746	142.608136589
+ONOS3
+1138041	4.23933851684e-22	0.00485647365976	6.17493530653	137.38221829
+
 
 --------------------------------------------------------------------------------- 
-ONOS1 
-4842	39.9442818508	13.4074669965	4.93312182074	9.42788406221
-ONOS2 
-4842	39.9501179617	13.4738095108	4.96166898609	9.43793553665
-ONOS3 
-4842	38.0249857507	12.9562504618	4.77594497277	9.51213793959
+ONOS1
+1227590	2.8007183092e-22	0.00504048832019	6.79388659293	147.564441996
+ONOS2
+1181814	2.6787915742e-22	0.0046943287471	6.2772185811	142.092312816
+ONOS3
+1138041	2.57128878736e-22	0.00439431908706	5.97249684791	136.88504217
+
 
 --------------------------------------------------------------------------------- 
-ONOS1 
-6333	43.3326254024	17.1545676648	6.55334823824	11.6061812929
-ONOS2 
-6333	43.1025815278	17.1367790337	6.5530511963	11.6177361571
-ONOS3 
-6333	43.777667171	17.1929221224	6.55828955792	11.7036190253
+ONOS1
+1227590	1.69872152375e-22	0.00456082243728	6.57115649753	147.032657858
+ONOS2
+1181814	1.62476922073e-22	0.00424760430294	6.07142687789	141.580274261
+ONOS3
+1138041	1.55956548451e-22	0.00397614433676	5.77669511137	136.391652721
+
 
 --------------------------------------------------------------------------------- 
-ONOS1 
-7959	46.9561811449	20.4581350129	8.03528568305	13.7759524559
-ONOS2 
-7959	46.3408669423	20.4108823645	8.02922603097	13.7889504862
-ONOS3 
-7959	45.6410475294	20.1576242077	7.92726689795	13.8850824339
+ONOS1
+1227590	1.03032668647e-22	0.00412680279827	6.3557283632	146.500636327
+ONOS2
+1181814	9.8547234733e-23	0.00384339131031	5.87238182919	141.067805586
+ONOS3
+1138041	9.45924282185e-23	0.00359776417541	5.5873125193	135.897704469
 
---------------------------------------------------------------------------------- 
-ONOS1 
-9531	45.9906744738	22.7715112677	9.24095510988	15.6290021503
-ONOS2 
-9531	48.055448081	23.2523557438	9.41177895671	15.6430625973
-ONOS3 
-9531	47.4942907039	23.4438740596	9.53345804013	15.746412627
-
---------------------------------------------------------------------------------- 
-ONOS1 
-11178	48.3540408864	25.9507802704	10.8600911453	17.4138152199
-ONOS2 
-11178	47.5616430096	25.8795464358	10.8505372729	17.4285967804
-ONOS3 
-11178	48.7458886411	25.9965007518	10.8666758121	17.5380150699
-
---------------------------------------------------------------------------------- 
-ONOS1 
-12694	49.6724719708	28.3431418559	12.1755703493	18.8343463719
-ONOS2 
-12694	49.0146328907	28.2907017805	12.1735446036	18.849661524
-ONOS3 
-12694	48.6960578175	28.1228412863	12.0936097846	18.9623561373
-
---------------------------------------------------------------------------------- 
-ONOS1 
-14292	48.8589089419	30.4653291422	13.5261901847	20.242085149
-ONOS2 
-14292	49.3030435553	30.5976153949	13.5848633365	20.2578017737
-ONOS3 
-14292	48.9109659895	30.4555207991	13.5139122893	20.3733211479
-
---------------------------------------------------------------------------------- 
-ONOS1 
-15855	49.2637510688	32.350154998	14.7329286521	21.479967821
-ONOS2 
-15855	48.80087594	32.2746234064	14.721362789	21.4958003475
-ONOS3 
-15855	49.7070084114	32.4071423037	14.741735047	21.6129479915
-
---------------------------------------------------------------------------------- 
-ONOS1 
-17479	49.7954667568	34.2769555101	16.0681836861	22.6938152648
-ONOS2 
-17479	48.5948066323	33.8055349065	15.8243597438	22.71001968
-ONOS3 
-17479	50.1286934521	34.3315901641	16.077099823	22.8287509266
-
---------------------------------------------------------------------------------- 
-ONOS1 
-18996	50.4089945863	35.8426346551	17.200968186	23.6775401881
-ONOS2 
-18996	49.8422938084	35.7578440385	17.1873611818	23.6935523664
-ONOS3 
-18996	48.7482979129	35.4720353826	17.0666482037	23.8124199695
-
---------------------------------------------------------------------------------- 
-ONOS1 
-20565	48.5587834324	36.7329685213	18.1159622539	24.647671921
-ONOS2 
-20565	48.3110087382	36.676081054	18.1094495228	24.6638443055
-ONOS3 
-20565	48.93297292	36.793631721	18.1262156419	24.7827468466
-
---------------------------------------------------------------------------------- 
-ONOS1 
-22167	49.0508150775	38.1245132609	19.3059350415	25.5841260816
-ONOS2 
-22170	48.5221636661	38.0385655774	19.2912194483	25.6036562614
-ONOS3 
-22171	48.5824052178	37.9982884305	19.2528429078	25.7236458284
-
---------------------------------------------------------------------------------- 
-ONOS1 
-23639	47.9777788333	38.8926943034	20.1868609754	26.308941697
-ONOS2 
-23639	48.1528601732	38.9174026097	20.2069767591	26.3249181854
-ONOS3 
-23639	48.3280130991	38.9561603833	20.1981646715	26.4427299331
-
---------------------------------------------------------------------------------- 
-ONOS1 
-25268	49.8567068142	40.3154609814	21.3906394143	27.1525946206
-ONOS2 
-25268	49.260910735	40.2252713754	21.3745229372	27.1686258006
-ONOS3 
-25268	48.6285982236	40.0672365492	21.2987719637	27.2860637996
-
---------------------------------------------------------------------------------- 
-ONOS1 
-26786	48.5713107436	40.8577368773	22.194671911	27.82491922
-ONOS2 
-26786	48.2099421547	40.7761299471	22.1790837949	27.8408111321
-ONOS3 
-26786	48.806830681	40.9159842596	22.2060400391	27.9570400311
-
---------------------------------------------------------------------------------- 
-ONOS1 
-28345	49.5354143965	41.7745390383	23.1196161385	28.4949893223
-ONOS2 
-28345	48.9994356563	41.7084318627	23.1119888217	28.5101088539
-ONOS3 
-28352	48.8058937866	41.7666073305	23.2132849025	28.6323389508
-
---------------------------------------------------------------------------------- 
-ONOS1 
-29429	42.7205926401	41.133551867	23.6205125079	28.6600165985
-ONOS2 
-29429	42.3177151851	41.0468840661	23.6034227045	28.6753451692
-ONOS3 
-29429	43.0359873942	41.1940339927	23.632692912	28.7876408357
-
---------------------------------------------------------------------------------- 
-ONOS1 
-29429	25.9113492373	37.219176866	22.8461399993	27.7919878574
-ONOS2 
-29429	25.6669917087	37.1407565968	22.8296104663	27.8064105758
-ONOS3 
-29429	26.1026458256	37.2739033564	22.8579210822	27.9119214291
-
---------------------------------------------------------------------------------- 
-ONOS1 
-29429	14.4594435488	33.1206670242	21.9747328469	26.9749583673
-ONOS2 
-29429	14.3230834597	33.0508822562	21.9588337904	26.9884033819
-ONOS3 
-29429	14.5661937683	33.1693671304	21.9860645708	27.0878504545
 
 --------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2
new file mode 100644
index 0000000..85b5508
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2
@@ -0,0 +1,54 @@
+ONOS1
+1227590	2.55392451676e-25	0.00124296911654	4.26037212901	140.529109276
+ONOS2
+1181814	2.65502587391e-25	0.00117706234612	3.9583048687	135.316299941
+ONOS3
+1138041	2.34471187343e-25	0.00108362574546	3.74528758515	130.354827202
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.54903352201e-25	0.00112468496611	4.12070051722	140.047123712
+ONOS2
+1181814	1.61035459486e-25	0.00106505005413	3.82853619962	134.852040115
+ONOS3
+1138041	1.42213963943e-25	0.000980505121638	3.62250245329	129.905788026
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	9.3953632402e-26	0.00101765704084	3.98560788552	139.566390206
+ONOS2
+1181814	9.76729434791e-26	0.00096369714106	3.70302185355	134.389180449
+ONOS3
+1138041	8.62571293705e-26	0.000887197722634	3.50374269686	129.461280366
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	5.69857586432e-26	0.00092081416928	3.85494411708	139.090758337
+ONOS2
+1181814	5.92416348444e-26	0.000871989232885	3.58162235719	133.93106371
+ONOS3
+1138041	5.2317593582e-26	0.000802769696636	3.38887634835	129.019899937
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	3.45636097841e-26	0.000833187115422	3.7285640165	138.618423491
+ONOS2
+1181814	3.59318678646e-26	0.000789008486039	3.46420280972	133.476123918
+ONOS3
+1138041	3.17322245499e-26	0.000726376059581	3.27777576667	128.581428234
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	2.09638890444e-26	0.000753898878259	3.60632714844	138.149300399
+ONOS2
+1181814	2.17937795207e-26	0.000713924401316	3.3506327329	133.024322259
+ONOS3
+1138041	1.92465670904e-26	0.000657252238275	3.17031749529	128.146060187
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1
new file mode 100644
index 0000000..cfecba6
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1
@@ -0,0 +1,66 @@
+ONOS1
+1227590	1.21231106943e-14	0.169723328692	21.9385507954	169.046093322
+ONOS2
+1181814	1.159534205e-14	0.158067443136	20.2701468168	162.783157235
+ONOS3
+1138041	1.11300085031e-14	0.147965517507	19.286151407	156.826778687
+ONOS4
+993739	1.3241146351e-14	0.178952787474	22.5529927766	159.93471629
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	7.35303832719e-15	0.153572018514	21.2193195505	168.348391721
+ONOS2
+1181814	7.0329304632e-15	0.143025337123	19.6056123603	162.111314773
+ONOS3
+1138041	6.7506914e-15	0.13388473682	18.6538761571	156.179044172
+ONOS4
+993739	8.03116123161e-15	0.161923178168	21.8136177275	159.163760595
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	4.45984318748e-15	0.138957708715	20.5236675105	167.656334893
+ONOS2
+1181814	4.26568795356e-15	0.129414676756	18.9628639347	161.444730758
+ONOS3
+1138041	4.09450130836e-15	0.121143919578	18.0423293556	155.536643404
+ONOS4
+993739	4.87114552007e-15	0.146514150454	21.0984822758	158.400114113
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	2.70503163072e-15	0.125734134369	19.8508216571	166.970034123
+ONOS2
+1181814	2.5872705286e-15	0.117099241972	18.3411873089	160.783519468
+ONOS3
+1138041	2.48344057975e-15	0.109615551402	17.4508314429	154.899454419
+ONOS4
+993739	2.95449910584e-15	0.132571485602	20.4067917529	157.643926166
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.64068461952e-15	0.113768949502	19.2000343146	166.289420825
+ONOS2
+1181814	1.56925890057e-15	0.10595577576	17.7398916671	160.127875657
+ONOS3
+1138041	1.50628285319e-15	0.0991842525073	16.8787251384	154.267449827
+ONOS4
+993739	1.79199429179e-15	0.119955640738	19.7377775426	156.89433892
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	9.9512552466e-16	0.10294240252	18.5705823189	165.613528604
+ONOS2
+1181814	9.5180363622e-16	0.0958727505644	17.1583088412	159.477127027
+ONOS3
+1138041	9.13606732661e-16	0.0897456229485	16.3253747095	153.640300545
+ONOS4
+993739	1.08689948e-15	0.108540352244	19.0906962269	156.152461058
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2
new file mode 100644
index 0000000..8a29424
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2
@@ -0,0 +1,66 @@
+ONOS1
+1227590	6.7051030426e-18	0.0378703935119	13.306403687	159.129895399
+ONOS2
+1181814	6.41320245439e-18	0.0352696139012	12.2944655212	153.231538184
+ONOS3
+1138041	6.15583374268e-18	0.0330155696179	11.6976421362	147.620459846
+ONOS4
+993739	6.73791867165e-18	0.0392697831777	13.6032973961	149.076643047
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	4.06685057187e-18	0.0342665490853	12.8701678856	158.510842519
+ONOS2
+1181814	3.88980391553e-18	0.0319132663775	11.891404999	152.635687577
+ONOS3
+1138041	3.73370190103e-18	0.029873722768	11.3141478118	147.046327934
+ONOS4
+993739	4.08675425701e-18	0.0355327692174	13.1573282612	148.40660791
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	2.46666956031e-18	0.0310056557993	12.4482335949	157.894106807
+ONOS2
+1181814	2.35928533504e-18	0.0288763175501	11.5015583724	152.041637006
+ONOS3
+1138041	2.2646046772e-18	0.0270308621766	10.9432259268	146.47390969
+ONOS4
+993739	2.47874175559e-18	0.0321513791543	12.7259797335	147.739147663
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.49611071571e-18	0.028055077538	12.0401319555	157.285221046
+ONOS2
+1181814	1.43097889071e-18	0.0261283726144	11.1244924384	151.455219706
+ONOS3
+1138041	1.37355216885e-18	0.0244585355391	10.5844643076	145.908594082
+ONOS4
+993739	1.50343287227e-18	0.0290917709003	12.3087724927	147.080960848
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	9.07437019401e-19	0.0253852839223	11.6454094793	156.681050185
+ONOS2
+1181814	8.67932570618e-19	0.0236419292139	10.7597881961	150.873155653
+ONOS3
+1138041	8.33101503123e-19	0.0221309981462	10.2374642933	145.347657129
+ONOS4
+993739	9.11878131853e-19	0.0263233228675	11.9052429321	146.428533591
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	5.06381749398e-19	0.0225899014138	11.2012253365	156.081400914
+ONOS2
+1181814	5.26427714643e-19	0.0213921021873	10.407040381	150.295242095
+ONOS3
+1138041	5.05301604297e-19	0.0200249552211	9.90184029259	144.79076696
+ONOS4
+993739	5.5308204489e-19	0.0238183274976	11.5149426441	145.781606078
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1
new file mode 100644
index 0000000..4a242c9
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1
@@ -0,0 +1,78 @@
+ONOS1
+1227590	2.28058699027e-07	4.83757883083	67.0147045529	196.206635684
+ONOS2
+1181814	2.37086782602e-07	4.58107270115	62.2632538364	188.945213639
+ONOS3
+1138041	2.0937656377e-07	4.21742173398	58.9125394177	182.044763207
+ONOS4
+993739	2.49091069658e-07	5.10064363617	68.8916128418	190.804173897
+ONOS5
+801932	2.55742585888e-07	5.29722835659	70.5580956483	193.084021593
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.38324593174e-07	4.37722233883	64.8177012126	195.266951068
+ONOS2
+1181814	1.43800402661e-07	4.14512599474	60.222021579	188.039539623
+ONOS3
+1138041	1.26993305352e-07	3.81608099254	56.9811566451	181.17165974
+ONOS4
+993739	1.51081370808e-07	4.61525321808	66.6330771288	189.705953058
+ONOS5
+801932	1.55115719335e-07	4.79313042892	68.2449261304	191.692187977
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	8.38981067524e-08	3.96067455924	62.692724209	194.334716249
+ONOS2
+1181814	8.02456786606e-08	3.68867206117	57.9250077142	187.141843263
+ONOS3
+1138041	7.70253332741e-08	3.45293287231	55.1130921312	180.305872232
+ONOS4
+993739	9.16354835066e-08	4.17605380543	64.4485850236	188.61934931
+ONOS5
+801932	9.408243958e-08	4.33700376161	66.0075913295	190.31937394
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	5.08867740372e-08	3.58376654186	60.637412238	193.410915266
+ONOS2
+1181814	4.86714644171e-08	3.33764850381	56.0260000817	186.252206526
+ONOS3
+1138041	4.67182262053e-08	3.12434286483	53.3062700567	179.448670924
+ONOS4
+993739	5.55797302644e-08	3.77864974288	62.3357090881	187.546926603
+ONOS5
+801932	5.70638841459e-08	3.92428328567	63.8436050879	188.968400897
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	3.08643886274e-08	3.24272606458	58.6494814082	192.497295472
+ONOS2
+1181814	2.95207354221e-08	3.0200292545	54.1892493247	185.371920678
+ONOS3
+1138041	2.83360365609e-08	2.82702233087	51.5586826554	178.60004413
+ONOS4
+993739	3.37108104639e-08	3.41906367701	60.292101465	186.486840568
+ONOS5
+801932	3.46109952967e-08	3.55083835585	61.7505627538	187.63664566
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.87201979958e-08	2.93413987967	56.7267227029	191.592142297
+ONOS2
+1181814	1.79052311308e-08	2.73263547303	52.4127144199	184.500303471
+ONOS3
+1138041	1.71866749489e-08	2.5579955866	49.868387984	177.759866594
+ONOS4
+993739	2.04466401101e-08	3.09369674961	58.3154912688	185.43873989
+ONOS5
+801932	2.09926298106e-08	3.21293140977	59.7261385093	186.323702626
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2
new file mode 100644
index 0000000..044d02f
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2
@@ -0,0 +1,78 @@
+ONOS1
+1227590	1.26135701908e-10	1.07940973925	40.6464729629	182.960739601
+ONOS2
+1181814	1.20644498365e-10	1.00528041074	37.555350954	176.186119001
+ONOS3
+1138041	1.15802904896e-10	0.941033986916	35.7322613984	169.74553331
+ONOS4
+993739	1.26753026113e-10	1.11929617016	41.5533808249	175.536932847
+ONOS5
+801932	1.30137731199e-10	1.16243514249	42.5585539053	174.095970133
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	7.65051704917e-11	0.976690321469	39.3139230775	182.142864379
+ONOS2
+1181814	7.31745871843e-11	0.90961533126	36.324140102	175.398314686
+ONOS3
+1138041	7.02380123035e-11	0.851482763005	34.5608185311	168.986040269
+ONOS4
+993739	7.68795965489e-11	1.01278105663	40.1910989633	174.607962407
+ONOS5
+801932	7.89325239576e-11	1.05181481297	41.1633185504	172.964931077
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	4.64027315297e-11	0.883745948699	38.0250593737	181.332398621
+ONOS2
+1181814	4.43826306391e-11	0.823053987743	35.1332931428	174.617524598
+ONOS3
+1138041	4.26015079393e-11	0.77045346478	33.4277801292	168.233024345
+ONOS4
+993739	4.66298324132e-11	0.916402196315	38.8734780133	173.688142096
+ONOS5
+801932	4.78749958288e-11	0.951721399616	39.8138244512	171.8481203
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	2.81446793672e-11	0.79964640242	36.778449648	180.528962074
+ONOS2
+1181814	2.69194262413e-11	0.744730045174	33.9814867906	173.843654738
+ONOS3
+1138041	2.58391207152e-11	0.697135123788	32.3318871443	167.486712361
+ONOS4
+993739	2.82824230159e-11	0.829194997196	37.5990538162	172.777689348
+ONOS5
+801932	2.90376528038e-11	0.861153133918	38.508572031	170.744877325
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.57057202533e-11	0.71159075675	35.3756304375	179.731863826
+ONOS2
+1181814	1.63274573572e-11	0.673859611209	32.8674411422	173.075903249
+ONOS3
+1138041	1.56722189338e-11	0.630793945431	31.2719218049	166.747600638
+ONOS4
+993739	1.71541566901e-11	0.750286660311	36.366410214	171.877668143
+ONOS5
+801932	1.76122267116e-11	0.779203578228	37.246110875	169.657002747
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	9.52600086651e-12	0.643873943036	34.2158793239	178.942989443
+ONOS2
+1181814	9.90310348231e-12	0.609733390725	31.7899182544	172.316111349
+ONOS3
+1138041	8.74564897725e-12	0.561332033288	30.0791349127	166.015121477
+ONOS4
+993739	1.04045219741e-11	0.678887444503	35.1741774757	170.986893927
+ONOS5
+801932	1.06823554864e-11	0.705052553848	36.0250381186	168.582760243
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1
new file mode 100644
index 0000000..bfb6c0d
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1
@@ -0,0 +1,90 @@
+ONOS1
+1227590	2.3940916208	122.700654682	196.898790719	232.162460224
+ONOS2
+1181814	2.28986701039	114.274088932	181.9248424	223.58203697
+ONOS3
+1138041	2.19797218458	106.97095095	173.09347026	215.437070149
+ONOS4
+993739	2.614883121	129.373047002	202.413415828	234.415969701
+ONOS5
+801932	2.68470873756	134.359234254	207.309780761	251.836403339
+ONOS6
+522722	2.69809278929	136.525870522	192.494161397	242.122436095
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	1.45208997017	111.024143574	190.443680549	230.845166293
+ONOS2
+1181814	1.38887454847	103.399471578	175.960636646	222.313128054
+ONOS3
+1138041	1.33313751914	96.7913190625	167.418791324	214.21424077
+ONOS4
+993739	1.58600678445	117.061573813	195.777514742	232.760782172
+ONOS5
+801932	1.62835816173	121.573262612	200.513357739	249.475189111
+ONOS6
+522722	1.63647599945	123.533716178	186.183452152	238.789197097
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.880737087572	100.458799411	184.200194062	229.54420732
+ONOS2
+1181814	0.84239499614	93.5597108885	170.191960816	221.05876502
+ONOS3
+1138041	0.808588778973	87.5804072288	161.930150492	213.00438075
+ONOS4
+993739	0.961961741283	105.9216922	189.359164371	231.127247648
+ONOS5
+801932	0.987649150081	110.004037044	193.939747967	247.154968761
+ONOS6
+522722	0.992572867553	111.777928787	180.079632564	235.542255778
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.534194046758	90.8988806781	178.161393409	228.245826679
+ONOS2
+1181814	0.510938392747	84.6563272326	164.612404673	219.806383805
+ONOS3
+1138041	0.490433885547	79.2460295474	156.621448709	211.796443165
+ONOS4
+993739	0.536808460522	94.2577830412	182.136546887	229.500526487
+ONOS5
+801932	0.551142937435	97.8905873004	186.542415922	244.855630006
+ONOS6
+522722	0.60202587617	101.140852477	174.175919985	232.351310599
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.324005067595	82.2487084951	172.320568189	226.969846785
+ONOS2
+1181814	0.309899800426	76.6002125535	159.215768139	218.579559674
+ONOS3
+1138041	0.297463188146	71.7047727653	151.486786873	210.614130804
+ONOS4
+993739	0.3255907897	85.2879690368	176.165400635	227.912893776
+ONOS5
+801932	0.334285089438	88.5750662629	180.426828103	242.621228096
+ONOS6
+522722	0.365147151837	91.5160278133	168.465754126	229.277557452
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.196519007399	74.4217090315	166.671227997	225.711160659
+ONOS2
+1181814	0.187963730397	69.3107385479	153.996054395	217.367339751
+ONOS3
+1138041	0.180420543747	64.8811614498	146.520459273	209.445672586
+ONOS4
+993739	0.197480796473	77.1717456928	170.390011842	226.348058795
+ONOS5
+801932	0.202754155829	80.1460342597	174.5117331	240.428569829
+ONOS6
+522722	0.203764944103	81.4384449043	162.040061949	226.284975365
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2
new file mode 100644
index 0000000..1d82307
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2
@@ -0,0 +1,90 @@
+ONOS1
+1227590	0.00121826269462	26.92569461	118.763519929	213.780947833
+ONOS2
+1181814	0.00116522673158	25.0765509638	109.731677717	205.873983432
+ONOS3
+1138041	0.00111846492967	23.4739347144	104.40485556	198.364561565
+ONOS4
+993739	0.00133061513997	28.3898986797	122.089778494	211.710250212
+ONOS5
+801932	0.00136614675582	29.4840782956	125.043120829	220.372520112
+ONOS6
+522722	0.00137295739364	29.9595296013	116.106777954	200.003068196
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.000738913675872	24.3633759898	114.869988626	212.662794614
+ONOS2
+1181814	0.00070674573822	22.6902016273	106.13424542	204.788875482
+ONOS3
+1138041	0.000678383271661	21.2400944782	100.982057266	197.318534305
+ONOS4
+993739	0.000807058878671	25.6882426196	118.087199464	210.34792376
+ONOS5
+801932	0.000828609893073	26.6782972781	120.94371972	218.547134306
+ONOS6
+522722	0.00083274075372	27.10850341	112.300345012	197.704414411
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.000448173799297	22.0448942252	111.104102461	211.549509336
+ONOS2
+1181814	0.000428662958852	20.5309434552	102.654750983	203.724940842
+ONOS3
+1138041	0.000411460253298	19.2188322465	97.6714716475	196.292714309
+ONOS4
+993739	0.000489505954107	23.2436831258	114.215840582	209.013843708
+ONOS5
+801932	0.00050257730509	24.1395216267	116.978712965	216.766012203
+ONOS6
+522722	0.000505082798724	24.5287882323	108.618701785	195.475711666
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.000271831150154	19.9470451716	107.46167673	210.456109842
+ONOS2
+1181814	0.000259997227227	18.5771658658	99.2893279418	202.671716162
+ONOS3
+1138041	0.000249563258879	17.3899185475	94.4694199352	195.277450835
+ONOS4
+993739	0.000296900369278	21.0317542252	110.471399941	207.692791275
+ONOS5
+801932	0.000304828544413	21.8423424214	113.143694594	215.007918522
+ONOS6
+522722	0.000306348203119	22.1945654117	105.05775718	193.287073357
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.000164873926833	18.0488328505	103.938663918	209.369421785
+ONOS2
+1181814	0.000157696289753	16.8093147964	96.0342365914	201.62491962
+ONOS3
+1138041	0.000151367768048	15.7350489984	91.3723439645	194.268304398
+ONOS4
+993739	0.000180079176847	19.0303181899	106.849716666	206.391806581
+ONOS5
+801932	0.000184887858142	19.7637687204	109.434403079	213.28372701
+ONOS6
+522722	0.00018580957774	20.0824732615	101.613554225	191.157011172
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1227590	0.000100001091612	16.331259315	100.531149204	208.298794873
+ONOS2
+1181814	9.56476346583e-05	15.2096969994	92.8858598287	200.593475049
+ONOS3
+1138041	9.18091922132e-05	14.2376611084	88.3768022213	193.273746433
+ONOS4
+993739	0.000109223541934	17.2193439754	103.346766291	205.10771509
+ONOS5
+801932	0.000103173922869	17.5874175103	105.260309707	211.587399035
+ONOS6
+522722	0.000112699205767	18.1713732537	98.2822656736	189.073114058
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1 b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1
new file mode 100644
index 0000000..a050d2f
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1
@@ -0,0 +1,102 @@
+ONOS1
+1016740	239.345956625	182.101755739	218.732980515	235.699517896
+ONOS2
+986482	201.147393291	160.859283106	200.290330315	228.78174609
+ONOS3
+955763	202.100012284	159.813020483	196.883675188	221.830277188
+ONOS4
+775221	207.479927285	178.797400867	217.792120428	237.414423879
+ONOS5
+573833	249.143703698	193.671773043	217.093377879	259.596905657
+ONOS6
+291678	231.360463873	182.538372568	166.671454938	246.121117408
+ONOS7
+22628	232.230643677	67.5839366991	24.0686081022	123.296360023
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1027182	269.983278286	194.196469723	221.417115154	236.375534709
+ONOS2
+993701	204.933729763	163.901866127	199.948163172	228.766776185
+ONOS3
+962662	208.656618082	163.78867777	196.71300151	221.791527133
+ONOS4
+784539	242.706843613	188.360323159	219.710157973	237.943992909
+ONOS5
+586850	310.180080397	213.054495209	222.964688873	261.718883479
+ONOS6
+301940	272.164091747	195.584345404	171.600896524	248.12722166
+ONOS7
+33102	264.426600813	89.5513478979	32.9766167669	154.743945201
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1039462	326.294619108	215.122703088	227.737729609	237.538428151
+ONOS2
+1005088	274.416362154	184.610711533	205.900347362	229.778799526
+ONOS3
+972940	264.031509759	181.496649602	201.734872035	222.600000458
+ONOS4
+797004	310.883433189	210.168299186	226.201486919	239.518013187
+ONOS5
+600241	361.438730694	234.835347059	230.150016689	264.103785229
+ONOS6
+314588	334.827420452	218.078536056	180.138187749	252.209474163
+ONOS7
+45268	319.010443627	119.400899113	45.1142557185	185.336910344
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1052014	362.117802923	233.910752414	233.771432017	238.754669294
+ONOS2
+1017037	320.045188759	203.665798453	211.737423436	230.91196033
+ONOS3
+984500	310.25110789	199.898401852	207.37508211	223.694171363
+ONOS4
+809874	357.719665826	230.432794041	232.620277254	241.188702038
+ONOS5
+613413	391.092086741	253.659749806	236.766475792	266.354937747
+ONOS6
+327998	375.209808384	238.239588917	188.286669315	256.735805578
+ONOS7
+57911	358.877009915	147.546028281	57.2188728934	210.987660792
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1065429	392.612767973	253.474341672	240.515180352	240.151825466
+ONOS2
+1030356	366.246793141	225.925422748	219.142517042	232.341183287
+ONOS3
+996933	347.663123566	219.422633556	213.855387891	224.974622088
+ONOS4
+823618	393.871929777	251.198568286	239.69775903	243.095590136
+ONOS5
+626625	410.390314282	271.39144884	243.429768357	268.574168968
+ONOS6
+342151	407.842472796	259.213547032	197.152001537	261.634724709
+ONOS7
+71376	394.399400383	176.354242497	70.1111078127	234.293030734
+
+
+--------------------------------------------------------------------------------- 
+ONOS1
+1079081	414.950269011	272.192720128	247.392823481	241.58550252
+ONOS2
+1043927	398.258664889	247.074829875	226.65379594	233.808351425
+ONOS3
+1010065	380.687629818	239.723791324	221.037860092	226.394107805
+ONOS4
+837943	424.544276097	272.331786327	247.363151628	245.13701731
+ONOS5
+641120	434.785587075	290.707729958	251.011789067	271.272676289
+ONOS6
+356557	435.967817892	280.439855852	206.515885531	266.493260529
+ONOS7
+85373	419.370861463	203.154288006	82.8273883841	254.938226606
+
+
+--------------------------------------------------------------------------------- 
diff --git a/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2 b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2
diff --git a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
index d485ee8..27d5a61 100644
--- a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
+++ b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.params
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>1,2</testcases>
+    <testcases>1,31,32,4,41,42,5,51,52,6,61,62,7,71,72,8,61,62,9,51,52,10,41,42,11,31,32,101</testcases>
     <tcpdump> 
         <intf>eth0</intf>
         <port>port 6633</port>
@@ -68,11 +68,12 @@
 	<restPort>8080</restPort>
 	<restURL>/wm/onos/topology/hosts</restURL>
     </RESTCALL>
-    <switches_num>50</switches_num>
-    <RATE1>30</RATE1>
-    <RATE2>50</RATE2>
-    <RUN_DUR>600</RUN_DUR>
-    <sleep_t>32</sleep_t>
-    <loop>22</loop>
+    <switches_num>30</switches_num>
+    <RATE1>50</RATE1>
+    <RATE2>100</RATE2>
+    <RUN_DUR>240</RUN_DUR>
+    <sleep_t>30</sleep_t>
+    <loop>6</loop>
     <port>10</port>
+    <sleep_init>60</sleep_init>
 </PARAMS>      
diff --git a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
index 9f3bf3e..d3ea33d 100644
--- a/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
+++ b/TestON/tests/scaleONOS7nodes/scaleONOS7nodes.py
@@ -14,15 +14,16 @@
         main.case("Initial setup")
         main.step("Stop ONOS")
         import time
+        main.log.info("Stopping all ONOS nodes...")
         main.ONOS1.stop_all()
         main.ONOS2.stop_all()
         main.ONOS3.stop_all()
 #        main.print_hello_world()
         main.ONOS4.stop_all()
-       # main.ONOS5.stop_all()
-       # main.ONOS6.stop_all()
-       # main.ONOS7.stop_all()
-        main.ONOS2.stop_rest()
+        main.ONOS5.stop_all()
+        main.ONOS6.stop_all()
+        main.ONOS7.stop_all()
+        #main.ONOS2.stop_rest()
         time.sleep(5)
         #main.ONOS1.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
         #main.ONOS2.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")
@@ -30,18 +31,22 @@
         #main.ONOS4.handle.sendline("cp ~/onos.properties.proactive ~/ONOS/conf/onos.properties")        
         #main.step("Start tcpdump on mn")
         #main.Mininet2.start_tcpdump(main.params['tcpdump']['filename'], intf = main.params['tcpdump']['intf'], port = main.params['tcpdump']['port'])
-        main.step("Start ONOS")
+        main.step("Starting 3 ONOS nodes...")
         main.Zookeeper1.start()
         main.Zookeeper2.start()
         main.Zookeeper3.start()
         main.Zookeeper4.start()
+        main.Zookeeper5.start()
+        main.Zookeeper6.start()
+        main.Zookeeper7.start()
+        
         time.sleep(5)
         
         
         main.RamCloud1.del_db()
         main.RamCloud2.del_db()
         main.RamCloud3.del_db()
-        main.RamCloud4.del_db()
+       # main.RamCloud4.del_db()
 
         time.sleep(5)
         #main.log.report("Pulling latest code from github to all nodes")
@@ -85,14 +90,16 @@
         main.RamCloud1.start_serv()
         main.RamCloud2.start_serv()
         main.RamCloud3.start_serv()
-        #main.RamCloud4.start_serv()
-
+        time.sleep(5)
         main.ONOS1.start()
         main.ONOS2.start()
         main.ONOS3.start()
         #main.ONOS4.start()
-
-
+        time.sleep(5)
+        
+        #main.ONOS1.handle.sendline("./onos.sh core start")
+        #main.ONOS1.handle.sendline("./onos.sh core start")
+        #main.ONOS1.handle.sendline("./onos.sh core start")
 
         main.ONOS1.start_rest()
         main.ONOS2.start_rest()
@@ -144,7 +151,8 @@
         time.sleep(10)
 
 
-    def CASE2(self,main) :
+    def CASE31(self,main):
+        main.case("Staring SB load with 3 ONOS nodes")
         ip1 = main.params['CTRL']['ip1']
         ip2 = main.params['CTRL']['ip2']
         ip3 = main.params['CTRL']['ip3']
@@ -154,6 +162,7 @@
         port = main.params['port']
         switches_num = main.params['switches_num']
         print loop
+        sleep_init = int(main.params['sleep_init'])
         sleep_t =int( main.params['sleep_t'])
         main.case("Starting SB load on 3 nodes from mininet with " + rate1 +"  added/removed/s for " + run_dur)
         main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate1 + " -d " + rate1 + " -l " + run_dur)
@@ -162,6 +171,7 @@
         main.log.info("Starting SB load....")
         import time
         import json
+        time.sleep(sleep_init)
         open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", 'w').close()
         url1 = "http://10.128.10.1:8080/wm/onos/metrics"
         url2 = "http://10.128.10.2:8080/wm/onos/metrics"
@@ -169,47 +179,33 @@
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate1", "a")
         #time.sleep(10)
         for i in range(int (loop)):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            if json_str1 != "" and json_str2 != "" and json_str3 != "":
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
                 # write_str = str(json_str["meters"][4]["meter"][2])
                 #print str(json_str["meters"][4])
                 #f.write(str(json_str["meters"][4]))
                 #f.write('\n')
                 #time.sleep(3)
-                f.write("ONOS1 \n")
-                f.write(str(json_str1["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2 \n")
-                f.write(str(json_str2["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3 \n")
-                f.write(str(json_str3["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['mean_rate']))
+                for j in range(1,4):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
                 f.write('\n')
                 f.write('\n')
                 
@@ -219,11 +215,11 @@
         main.Mininet2.handle.expect("\$", timeout=900)
        # main.Mininet2.handle.sendline("sudo mn -c")
         #main.Mininet2.handle.expect("\$")
-        time.sleep(5)
        # main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
         
 
-    def CASE3(self,main):
+    def CASE32(self,main):
         ip1 = main.params['CTRL']['ip1']
         ip2 = main.params['CTRL']['ip2']
         ip3 = main.params['CTRL']['ip3']
@@ -231,6 +227,7 @@
         rate2 = main.params['RATE2']
         run_dur = main.params['RUN_DUR']
         loop = int(main.params['loop'])
+        sleep_init = int(main.params['sleep_init'])
         sleep_t = int(main.params['sleep_t'])
         port = main.params['port']
         switches_num = main.params['switches_num']
@@ -239,69 +236,57 @@
         main.Mininet2.handle.sendline("sudo ./loadgen_SB.py -u \"" + ip1 + " " + ip2 + " " + ip3 + "\"" + " -s " + switches_num + " -p " + port + " -a " + rate2 + " -d " + rate2 + " -l " + run_dur)
        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"10.128.10.1\" 100 50 1200 \"11\"")
         main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
-        
+        time.sleep(sleep_init )
         import json
-        
+        time.sleep(sleep_init)
         open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", 'w').close()
         url1 = "http://10.128.10.1:8080/wm/onos/metrics"
         url2 = "http://10.128.10.2:8080/wm/onos/metrics"
         url3 = "http://10.128.10.3:8080/wm/onos/metrics"
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale3nodesrate2", "a")
-        #time.sleep(10)
         for i in range(int (loop)):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            if json_str1 != "" and json_str2 != "" and json_str3 != "":
+            j1 = main.ONOS1.get_json(url1)
+            j2 = main.ONOS1.get_json(url2)
+            j3 = main.ONOS1.get_json(url3)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
                 # write_str = str(json_str["meters"][4]["meter"][2])
                 #print str(json_str["meters"][4])
                 #f.write(str(json_str["meters"][4]))
                 #f.write('\n')
                 #time.sleep(3)
-                f.write("ONOS1 \n")
-                f.write(str(json_str1["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2 \n")
-                f.write(str(json_str2["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3 \n")
-                f.write(str(json_str3["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['mean_rate']))
+                for j in range(1,4):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
                 f.write('\n')
                 f.write('\n')
+                
                 f.write("--------------------------------------------------------------------------------- \n") 
                 time.sleep(sleep_t)
-        f.close()
+        f.close() 
+        #time.sleep(10)
         main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
        # main.Mininet2.handle.sendline("sudo mn -c")
         #time.sleep(5)
        # main.Mininet2.handle.expect("\$", timeout=900)
 
 
-    def CASE4(self,main):
+    def CASE33(self,main):
         
         main.case("Starting NB Throughput test")
         ip1 = main.params['CTRL']['ip1']
@@ -324,10 +309,10 @@
         main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
         main.ONOS3.handle.expect("\$")
 
-        main.ONOS3.handle.sendline("./multiLoadgen_NB.py -u \"10.128.10.1:8080 10.128.10.2:8080 10.128.10.3:8080 \" -i 4 -g 100 -a 1 -d 1 -p 0")
-        main.ONOS3.handle.expect("intent group is : 0", timeout=900)
+        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")
+        main.ONOS3.handle.expect("Pause between add and delete:", timeout=900)
 
-        
+        time.sleep(60)
         import json
         
         open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", 'w').close()
@@ -337,94 +322,65 @@
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale3nodesrate1", "a")
         #time.sleep(10)
         for i in range(8):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            if json_str1 != "" and json_str2 != "" and json_str3 != "":
-                f.write("ONOS1......IncomingRate \n ")
-                f.write(str(json_str1["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2......IncomingRate \n")
-                f.write(str(json_str2["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3......IncomingRate \n")
-                f.write(str(json_str3["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write('\n')
-
-                f.write("--------------------------------------------------------------------------------- \n") 
+            j1 = main.ONOS1.get_json(url1)
+            j2 = main.ONOS1.get_json(url2)
+            j3 = main.ONOS1.get_json(url3)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "":
+                for j in range(1,4):
+                    f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
+                    f.write(str(json_str[j]["meters"][0]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
+                    f.write('\n')
                 
-                f.write("ONOS1......ProcessingRate \n ")
-                f.write(str(json_str1["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2......ProcessingRate \n")
-                f.write(str(json_str2["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3......ProcessingRate \n")
-                f.write(str(json_str3["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
-                f.write('\n')
+                    f.write('\n')
 
-                f.write("--------------------------------------------------------------------------------- \n") 
-                time.sleep(10)
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                
+                    f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
+                    f.write(str(json_str[j]["meters"][1]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
+                    f.write('\n')
+                    f.write('\n')
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                    f.write("--------------------------------------------------------------------------------- \n \n") 
+                    time.sleep(10)
         f.close()
-
-        main.ONOS3.handle.expect("\$", timeout=900)
         
-    def CASE5(self,main):
+        main.ONOS3.handle.expect("\$", timeout=900)
+   
+        
+    def CASE4(self,main):
         
         main.case("Starting ONOS scale-up to 4 nodes ")
         import time
        # main.RamCloud4.start_serv()
-        main.Zookeeper1.start()
+        main.ONOS5.stop_all()
+        main.ONOS6.stop_all()
+        main.ONOS7.stop_all()
+    
+            
+        main.Zookeeper4.start()
         time.sleep(5)
         
         main.RamCloud4.del_db()
@@ -446,10 +402,109 @@
             else:
                 break
         utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+        
+        time.sleep(10)
+    
+    def CASE5(self,main):
+        
+        main.case("Starting ONOS scale-up/down to 5 nodes ")
+        import time
+       # main.RamCloud4.start_serv()
+        main.ONOS6.stop_all()
+        main.ONOS7.stop_all()
+        #pdata = main.ONOS5.isup()
+    
+        main.Zookeeper5.start()
+        time.sleep(5)
+        
+        main.RamCloud5.del_db()
+        time.sleep(3)
+        main.RamCloud5.start_serv()
+        time.sleep(3)
+        main.ONOS5.start()
+        main.ONOS5.start_rest()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() 
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
         time.sleep(10)
 
     def CASE6(self,main):
         
+        main.case("Starting ONOS scale-up/down to 6 nodes ")
+        import time
+       # main.RamCloud4.start_serv()
+        main.ONOS7.stop_all()
+        #pdata = main.ONOS6.isup()
+
+        main.Zookeeper6.start()
+        time.sleep(5)
+        
+        main.RamCloud6.del_db()
+        time.sleep(3)
+        main.RamCloud6.start_serv()
+        time.sleep(3)
+        main.ONOS6.start()
+        main.ONOS6.start_rest()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+        time.sleep(10)
+
+    def CASE7(self,main):
+        
+        main.case("Starting ONOS scale-up/down to 7 nodes ")
+        import time
+       # main.RamCloud4.start_serv()
+        #pdata = main.ONOS7.isup()
+    
+        main.Zookeeper7.start()
+        time.sleep(5)
+        
+        main.RamCloud7.del_db()            
+        time.sleep(3)
+        main.RamCloud7.start_serv()
+        time.sleep(3)
+        main.ONOS7.start()
+        main.ONOS7.start_rest()
+        time.sleep(5)
+        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()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                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()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+        time.sleep(10)
+
+
+
+    def CASE41(self,main):
+        main.case("Starting SB test for 4 nodes")
         ip1 = main.params['CTRL']['ip1']
         ip2 = main.params['CTRL']['ip2']
         ip3 = main.params['CTRL']['ip3']
@@ -460,6 +515,7 @@
         switches_num = main.params['switches_num']
         port = main.params['port']
         print loop
+        sleep_init = int(main.params['sleep_init'])
         sleep_t =int( main.params['sleep_t'])
         main.case("Starting SB load on 4 nodes from mininet with " + rate1 +"  added/removed/s for " + run_dur)
         #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur +  "  \"11\"")
@@ -467,6 +523,7 @@
         main.Mininet2.handle.expect("Starting SB load....", timeout=900)
         import time
         import json
+        time.sleep(sleep_init)
         open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", 'w').close()
         url1 = "http://10.128.10.1:8080/wm/onos/metrics"
         url2 = "http://10.128.10.2:8080/wm/onos/metrics"
@@ -476,77 +533,51 @@
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate1", "a")
         #time.sleep(10)
         for i in range(int (loop)):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            json_str4 = main.ONOS4.get_json(url4)
-            if json_str1 != "" and json_str2 != "" and json_str3 != "" and json_str4 != "":
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
                 # write_str = str(json_str["meters"][4]["meter"][2])
                 #print str(json_str["meters"][4])
                 #f.write(str(json_str["meters"][4]))
                 #f.write('\n')
                 #time.sleep(3)
-
-                f.write("ONOS1 \n")
-                f.write(str(json_str1["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['mean_rate']))
+                for j in range(1,5):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
                 f.write('\n')
-
-                f.write("ONOS2 \n")
-                f.write(str(json_str2["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-
-                f.write("ONOS3 \n")
-                f.write(str(json_str3["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-
-                f.write("ONOS4 \n")
-                f.write(str(json_str4["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-
                 f.write('\n')
                 
+                f.write("--------------------------------------------------------------------------------- \n") 
                 time.sleep(sleep_t)
         f.close() 
+        
         #main.Mininet2.handle.expect("\$", timeout=900)
         #main.Mininet2.handle.sendline("sudo mn -c")
         #main.Mininet2.handle.expect("\$")
         time.sleep(5)
         main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
         
 
-    def CASE7(self,main):
+    def CASE42(self,main):
         
         ip1 = main.params['CTRL']['ip1']
         ip2 = main.params['CTRL']['ip2']
@@ -558,6 +589,7 @@
         rate2 = main.params['RATE2']
         run_dur = main.params['RUN_DUR']
         loop = int(main.params['loop'])
+        sleep_init = int(main.params['sleep_init'])
         sleep_t = int(main.params['sleep_t'])
         switches_num = main.params['switches_num']
         port = main.params['port']
@@ -565,7 +597,7 @@
         #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 +  "\"" + " " + switches_num + " " + port +  " " + rate2 + " " + run_dur +  "  \"11\"")
         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)
         main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
-        
+        time.sleep(sleep_init)
         open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", 'w').close()
         url1 = "http://10.128.10.1:8080/wm/onos/metrics"
         url2 = "http://10.128.10.2:8080/wm/onos/metrics"
@@ -574,66 +606,44 @@
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale4nodesrate2", "a")
         #time.sleep(10)
         for i in range(int (loop)):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            json_str4 = main.ONOS4.get_json(url4)
-            if json_str1 != "" and json_str2 != "" and json_str3 != "" and json_str4 != "":
-
-                f.write("ONOS1 \n")
-                f.write(str(json_str1["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][4]['meter']['mean_rate']))
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,5):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
                 f.write('\n')
                 
-                f.write("ONOS2 \n")
-                f.write(str(json_str2["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                
-                f.write("ONOS3 \n")
-                f.write(str(json_str3["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-                
-                f.write("ONOS4 \n")
-                f.write(str(json_str4["meters"][4]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][4]['meter']['mean_rate']))
-                f.write('\n')
-
-                f.write('\n')
-                
+                f.write("--------------------------------------------------------------------------------- \n") 
                 time.sleep(sleep_t)
-        f.close()
+        f.close() 
+        time.sleep(180)
 
-    def CASE8(self,main):
+    def CASE43(self,main):
         
         main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
         ip1 = main.params['CTRL']['ip1']
@@ -672,112 +682,916 @@
         f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale4nodesrate1", "a")
         #time.sleep(10)
         for i in range(8):
-            json_str1 = main.ONOS1.get_json(url1)
-            json_str2 = main.ONOS2.get_json(url2)
-            json_str3 = main.ONOS3.get_json(url3)
-            json_str4 = main.ONOS4.get_json(url4)
-
-            if json_str1 != "" and json_str2 != "" and json_str3 != "":
-                f.write("ONOS1......IncomingRate \n ")
-                f.write(str(json_str1["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2......IncomingRate \n")
-                f.write(str(json_str2["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3......IncomingRate \n")
-                f.write(str(json_str3["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS4......IncomingRate \n")
-                f.write(str(json_str4["meters"][0]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][0]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][0]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][0]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][0]['meter']['mean_rate']))
-                f.write('\n')
-                f.write('\n')
-
-                f.write("--------------------------------------------------------------------------------- \n") 
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "":
+                for j in range(1,5):
+                    f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
+                    f.write(str(json_str[j]["meters"][0]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
+                    f.write('\n')
                 
-                f.write("ONOS1......ProcessingRate \n ")
-                f.write(str(json_str1["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str1["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS2......ProcessingRate \n")
-                f.write(str(json_str2["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str2["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
-                f.write("ONOS3......ProcessingRate \n")
-                f.write(str(json_str3["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str3["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
+                    f.write('\n')
 
-                f.write("ONOS4......ProcessingRate \n")
-                f.write(str(json_str4["meters"][1]['meter']['count']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][1]['meter']['m1_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][1]['meter']['m5_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][1]['meter']['m15_rate']))
-                f.write('\t')
-                f.write(str(json_str4["meters"][1]['meter']['mean_rate']))
-                f.write('\n')
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                
+                    f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
+                    f.write(str(json_str[j]["meters"][1]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
+                    f.write('\n')
+                    f.write('\n')
+                    f.write('\n')
 
-                f.write('\n')
-
-                f.write("--------------------------------------------------------------------------------- \n") 
-       
-                time.sleep(10)
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                    f.write("--------------------------------------------------------------------------------- \n \n") 
+                    time.sleep(10)
         f.close()
+        
 
         main.ONOS3.handle.expect("\$", timeout=900)
+    
+    
+    def CASE51(self,main):
+        main.case("Starting SB test for 5 nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        rate1 = main.params['RATE1']
+        run_dur = main.params['RUN_DUR']
+        loop = int( main.params['loop'])
+        switches_num = main.params['switches_num']
+        port = main.params['port']
+        print loop
+        sleep_init = int(main.params['sleep_init'])
+        sleep_t =int( main.params['sleep_t'])
+        main.case("Starting SB load on 5 nodes from mininet with " + rate1 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900)
+        import time
+        import json
+        time.sleep(sleep_init)
+
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,6):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        
+        #main.Mininet2.handle.expect("\$", timeout=900)
+        #main.Mininet2.handle.sendline("sudo mn -c")
+        #main.Mininet2.handle.expect("\$")
+        time.sleep(5)
+        main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
+        
+
+    def CASE52(self,main):
+        
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        
+        import time
+        import json
+        rate2 = main.params['RATE2']
+        run_dur = main.params['RUN_DUR']
+        loop = int(main.params['loop'])
+        sleep_t = int(main.params['sleep_t'])
+        sleep_init = int(main.params['sleep_init'])
+        switches_num = main.params['switches_num']
+        port = main.params['port']
+        main.case("Starting SB load on 4 nodes from mininet with " + rate2 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 +  "\"" + " " + switches_num + " " + port +  " " + rate2 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
+        time.sleep(sleep_init)
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale5nodesrate2", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[4] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,6):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        time.sleep(180)
+
+    def CASE53(self,main):
+        
+        main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+
+        import time
+        import json
+
+        main.Mininet4.handle.expect("\$")
+        #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
+        #main.Mininet2.handle.expect("mininet>" , timeout=400)
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
+
+        main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
+        main.ONOS3.handle.expect("\$")
+
+        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")
+        main.ONOS3.handle.expect("intent group is : 0", timeout=900)
+
+        
+        import json
+        
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale5nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(8):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "":
+                for j in range(1,6):
+                    f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
+                    f.write(str(json_str[j]["meters"][0]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                
+                    f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
+                    f.write(str(json_str[j]["meters"][1]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
+                    f.write('\n')
+                    f.write('\n')
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                    f.write("--------------------------------------------------------------------------------- \n \n") 
+                    time.sleep(10)
+        f.close()
+        
+
+        main.ONOS3.handle.expect("\$", timeout=900)
+    
+    def CASE61(self,main):
+        main.case("Starting SB test for 5 nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        ip6 = main.params['CTRL']['ip6']
+        rate1 = main.params['RATE1']
+        run_dur = main.params['RUN_DUR']
+        loop = int( main.params['loop'])
+        switches_num = main.params['switches_num']
+        port = main.params['port']
+        print loop
+        sleep_t =int( main.params['sleep_t'])
+        sleep_init = int(main.params['sleep_init'])
+        main.case("Starting SB load on 6 nodes from mininet with " + rate1 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900)
+        
+        import time
+        import json
+        time.sleep(sleep_init)
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,7):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        
+        #main.Mininet2.handle.expect("\$", timeout=900)
+        #main.Mininet2.handle.sendline("sudo mn -c")
+        #main.Mininet2.handle.expect("\$")
+        time.sleep(5)
+        main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
+        
+
+    def CASE62(self,main):
+        
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        ip6 = main.params['CTRL']['ip6']
+        
+        import time
+        import json
+        rate2 = main.params['RATE2']
+        run_dur = main.params['RUN_DUR']
+        loop = int(main.params['loop'])
+        sleep_t = int(main.params['sleep_t'])
+        switches_num = main.params['switches_num']
+        sleep_init = int(main.params['sleep_init'])
+        port = main.params['port']
+        main.case("Starting SB load on 4 nodes from mininet with " + rate2 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 +  "\"" + " " + switches_num + " " + port +  " " + rate2 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
+        time.sleep(sleep_init)
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,7):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        time.sleep(180)
+
+    def CASE63(self,main):
+        
+        main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+
+        import time
+        import json
+
+        main.Mininet4.handle.expect("\$")
+        #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
+        #main.Mininet2.handle.expect("mininet>" , timeout=400)
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
+
+        main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
+        main.ONOS3.handle.expect("\$")
+
+        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")
+        main.ONOS3.handle.expect("intent group is : 0", timeout=900)
+
+        
+        import json
+        
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale6nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(8):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            if json_str[1] != "" and json_str[2] != "" and json_str[3] != "" and json_str[4] != "" and json_str[5] != "" and json_str[6] != "":
+                for j in range(1,7):
+                    f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
+                    f.write(str(json_str[j]["meters"][0]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                
+                    f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
+                    f.write(str(json_str[j]["meters"][1]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
+                    f.write('\n')
+                    f.write('\n')
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                    f.write("--------------------------------------------------------------------------------- \n \n") 
+                    time.sleep(10)
+        f.close()
+        
+
+        main.ONOS3.handle.expect("\$", timeout=900)
+
+    def CASE71(self,main):
+        main.case("Starting SB test for 7 nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        ip6 = main.params['CTRL']['ip6']
+        ip7 = main.params['CTRL']['ip7']
+        rate1 = main.params['RATE1']
+        run_dur = main.params['RUN_DUR']
+        loop = int( main.params['loop'])
+        switches_num = main.params['switches_num']
+        port = main.params['port']
+        print loop
+        sleep_t =int( main.params['sleep_t'])
+        sleep_init = int(main.params['sleep_init'])
+        main.case("Starting SB load on 6 nodes from mininet with " + rate1 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 + "\"" + " " + switches_num + " " + port + " " + rate1 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900)
+        import time
+        import json
+        time.sleep(sleep_init)
+        
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+        url7 = "http://10.128.10.7:8080/wm/onos/metrics"
+
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            j7 = main.ONOS2.get_json(url7)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            json_str.append(j7)
+            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] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,8):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        
+        #main.Mininet2.handle.expect("\$", timeout=900)
+        #main.Mininet2.handle.sendline("sudo mn -c")
+        #main.Mininet2.handle.expect("\$")
+        time.sleep(5)
+        main.Mininet2.handle.expect("\$", timeout=900)
+        time.sleep(180)
+        
+
+    def CASE72(self,main):
+        
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+        ip5 = main.params['CTRL']['ip5']
+        ip6 = main.params['CTRL']['ip6']
+        ip7 = main.params['CTRL']['ip7']
+        
+        import time
+        import json
+        rate2 = main.params['RATE2']
+        run_dur = main.params['RUN_DUR']
+        loop = int(main.params['loop'])
+        sleep_t = int(main.params['sleep_t'])
+        sleep_init = int(main.params['sleep_init'])
+        switches_num = main.params['switches_num']
+        port = main.params['port']
+        main.case("Starting SB load on 7 nodes from mininet with " + rate2 +"  added/removed/s for " + run_dur)
+        #main.Mininet2.handle.sendline("./loadgen_SB.sh startload \"" + ip1 + " " + ip2 + " " + ip3 + " " + ip4 +  "\"" + " " + switches_num + " " + port +  " " + rate2 + " " + run_dur +  "  \"11\"")
+        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)
+        main.Mininet2.handle.expect("Starting SB load....", timeout=900 )
+        
+        time.sleep(sleep_init)
+
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale7nodesrate2", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+        url7 = "http://10.128.10.7:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/scale6nodesrate2", "a")
+        #time.sleep(10)
+        for i in range(int (loop)):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            j7 = main.ONOS2.get_json(url7)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            json_str.append(j7)
+            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] != "":
+                # write_str = str(json_str["meters"][4]["meter"][2])
+                #print str(json_str["meters"][4])
+                #f.write(str(json_str["meters"][4]))
+                #f.write('\n')
+                #time.sleep(3)
+                for j in range(1,8):
+                    f.write("ONOS" + str(j) + "\n")
+                    f.write(str(json_str[j]["meters"][4]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][4]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                f.write('\n')
+                f.write('\n')
+                
+                f.write("--------------------------------------------------------------------------------- \n") 
+                time.sleep(sleep_t)
+        f.close() 
+        time.sleep(180)
+
+    def CASE73(self,main):
+        
+        main.case("Starting NB Throughput test after scaling up to 4 onos nodes")
+        ip1 = main.params['CTRL']['ip1']
+        ip2 = main.params['CTRL']['ip2']
+        ip3 = main.params['CTRL']['ip3']
+        ip4 = main.params['CTRL']['ip4']
+
+        import time
+        import json
+
+        main.Mininet4.handle.expect("\$")
+        #main.Mininet2.handle.sendline("sudo mn --custom topo-intentTPtest.py --topo mytopo --mac --arp")
+        #main.Mininet2.handle.expect("mininet>" , timeout=400)
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s1 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s2 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s3 tcp:10.128.10.3:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s4 tcp:10.128.10.4:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s5 tcp:10.128.10.1:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s6 tcp:10.128.10.2:6633")
+        main.Mininet4.handle.sendline("sudo ovs-vsctl set-controller s7 tcp:10.128.10.4:6633")
+
+        main.ONOS3.handle.sendline("cd ~admin/suibin-dev")
+        main.ONOS3.handle.expect("\$")
+
+        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")
+        main.ONOS3.handle.expect("intent group is : 0", timeout=900)
+
+        
+        import json
+        
+        open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", 'w').close()
+        url1 = "http://10.128.10.1:8080/wm/onos/metrics"
+        url2 = "http://10.128.10.2:8080/wm/onos/metrics"
+        url3 = "http://10.128.10.3:8080/wm/onos/metrics"
+        url4 = "http://10.128.10.4:8080/wm/onos/metrics"
+        url5 = "http://10.128.10.5:8080/wm/onos/metrics"
+        url6 = "http://10.128.10.6:8080/wm/onos/metrics"
+        url7 = "http://10.128.10.7:8080/wm/onos/metrics"
+        f = open("/home/admin/TestON/tests/scaleONOS7nodes/logs/NBscale7nodesrate1", "a")
+        #time.sleep(10)
+        for i in range(8):
+            j1 = main.ONOS2.get_json(url1)
+            j2 = main.ONOS2.get_json(url2)
+            j3 = main.ONOS2.get_json(url3)
+            j4 = main.ONOS2.get_json(url4)
+            j5 = main.ONOS2.get_json(url5)
+            j6 = main.ONOS2.get_json(url6)
+            j7 = main.ONOS2.get_json(url7)
+            json_str = []
+            json_str.append(0)
+            json_str.append(j1)
+            json_str.append(j2)
+            json_str.append(j3)
+            json_str.append(j4)
+            json_str.append(j5)
+            json_str.append(j6)
+            json_str.append(j7)
+            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] != "":
+                for j in range(1,8):
+                    f.write("*****************ONOS" + str(j) + " INCOMING RATE****************************" "\n")
+                    f.write(str(json_str[j]["meters"][0]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][0]['meter']['mean_rate']))
+                    f.write('\n')
+                
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                
+                    f.write("***************** ONOS" + str(j) + " PROCESSING RATE************************" + " \n ")
+                    f.write(str(json_str[j]["meters"][1]['meter']['count']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m1_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m5_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['m15_rate']))
+                    f.write('\t')
+                    f.write(str(json_str[j]["meters"][1]['meter']['mean_rate']))
+                    f.write('\n')
+                    f.write('\n')
+                    f.write('\n')
+
+                    f.write("--------------------------------------------------------------------------------- \n") 
+                    f.write("--------------------------------------------------------------------------------- \n \n") 
+                    time.sleep(10)
+        f.close()
+        
+
+        main.ONOS3.handle.expect("\$", timeout=900)
+
+    def CASE8(self,main):
+        import time
+        main.case("Scaling ONOS down to 6 ONOS instances")
+        main.ONOS7.stop_all()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup() and main.ONOS6.isup()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+    
+    def CASE9(self,main):
+
+        main.case("Scaling ONOS down to 5 ONOS instances")
+        main.ONOS6.stop_all()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup() and main.ONOS5.isup()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+
+    def CASE10(self,main):
+
+        main.case("Scaling ONOS down to 4 ONOS instances")
+        main.ONOS5.stop_all()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup() and main.ONOS4.isup()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+
+    def CASE11(self,main):
+
+        main.case("Scaling ONOS down to 3 ONOS instances")
+        main.ONOS4.stop_all()
+        time.sleep(5)
+        data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
+        for i in range(3):
+            if data == main.FALSE: 
+                #main.log.report("Something is funny... restarting ONOS")
+                #main.ONOS1.stop()
+                time.sleep(3)
+                #main.ONOS1.start()
+                #time.sleep(5) 
+                data = main.ONOS1.isup() and main.ONOS2.isup() and main.ONOS3.isup()
+            else:
+                break
+        utilities.assert_equals(expect=main.TRUE,actual=data,onpass="ONOS is up and running!",onfail="ONOS didn't start...")
+
+    def CASE100(self,main):
+        import os
+        import time
+        global timestr
+        timestr = time.strftime("%Y%m%d-%H%M%S")
+        main.case("Scale-up tests complete...now making final changes")
+        main.log.info("moving logs....")
+        os.system("sudo mkdir ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up" + timestr + "")
+        time.sleep(2)
+        os.system("sudo  cp ~admin/TestON/tests/scaleONOS7nodes/logs/*scale* ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_up" + timestr + "")
+        time.sleep(2)
+        os.system("sudo rm ~admin/TestON/tests/scaleONOS7nodes/logs/*")
+        time.sleep(2)
+
+    def CASE101(self,main):
+        
+        import os
+        import time
+        main.case("Scale-down tests complete...now making final changes")
+        global timestr
+        main.case("Scale-down tests complete...now making final changes")
+        main.log.info("moving logs....")
+        os.system("sudo mkdir ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn" + timestr + "")
+        time.sleep(2)
+        os.system("sudo  cp ~admin/TestON/tests/scaleONOS7nodes/logs/*scale* ~admin/TestON/tests/scaleONOS7nodes/logs/ONOSscale_dwn" + timestr + "")
+        time.sleep(2)
+        os.system("sudo rm ~admin/TestON/tests/scaleONOS7nodes/logs/*")
+        time.sleep(2)
+
 
