diff --git a/TestON/tests/LinkEventTP/LinkEventTP.params b/TestON/tests/LinkEventTP/LinkEventTP.params
index b4d50e5..7a47a51 100644
--- a/TestON/tests/LinkEventTP/LinkEventTP.params
+++ b/TestON/tests/LinkEventTP/LinkEventTP.params
@@ -1,10 +1,14 @@
 <PARAMS>
-    <testcases>1,3,2,3,2,3,2,3</testcases>
+    <testcases>1,2,3</testcases>
+    
     <ENV>
-    <cellName>network_tp_test</cellName>
-    <cellFeatures>"webconsole,onos-core,onos-api,onos-cli,onos-null,onos-rest,onos-app-metrics,onos-app-metrics-intent,onos-app-metrics-topology"</cellFeatures>
+        <cellName>network_tp_test</cellName>
+        <cellFeatures>"webconsole,onos-core,onos-api,onos-cli,onos-null,onos-rest,onos-app-metrics,onos-app-metrics-intent,onos-app-metrics-topology"</cellFeatures>
+        <onBaremetal>true</onBaremetal>   "true"
     </ENV>
-    <SCALE>2</SCALE>
+        
+    <SCALE>6</SCALE>
+    
     <availableNodes>7</availableNodes>
 
     <GIT>
@@ -26,7 +30,7 @@
         <port5>6633</port5>
 	<ip6>10.254.1.206</ip6>
         <port6>6633</port6>
-	<ip7>10.254.1.207</ip7>
+        <ip7>10.254.1.207</ip7>
         <port7>6633</port7>
     </CTRL>
 
@@ -38,21 +42,21 @@
     <TEST>          #   duration =      time the test loop runs
                     #   log_interval =  how often the data is reported 
                     #   wait =          time between tests, used to let the averages run down 
-               
-        <flickerRates>1000,0,0,0,0,0,0</flickerRates>
-        <devicesPerNode>20,0,0,0,0,0,0</devicesPerNode>
+        <configFile>/onos/tools/package/etc/org.onosproject.net.topology.impl.DefaultTopologyProvider.cfg</configFile>       
+        <flickerRates>20000,20000,20000,20000,20000,20000,20000</flickerRates>
+        <devicesPerNode>40,40,40,40,40,40,40</devicesPerNode>
         <flickerRate>1000</flickerRate>
         <linkgraphdif>.03</linkgraphdif>          # 0-1 indicated link/graph rate dif tolerance
-        <duration>120</duration>
+        <duration>1800</duration>
         <log_interval>15</log_interval>
         <wait>60</wait>
         <skipCleanInstall>yes</skipCleanInstall>
         <MN>localhost</MN>
-	    <logFile>link_event_tp_results_LOG</logFile>
+        <logFile>link_event_tp_results_LOG</logFile>
     </TEST>
 
     <JSON>
         <intents_rate>intentInstalledRate</intents_rate>
-    </JSON>
+    </JSON> 
 
 </PARAMS>
diff --git a/TestON/tests/LinkEventTP/LinkEventTP.py b/TestON/tests/LinkEventTP/LinkEventTP.py
index e7d2133..a4bc0aa 100644
--- a/TestON/tests/LinkEventTP/LinkEventTP.py
+++ b/TestON/tests/LinkEventTP/LinkEventTP.py
@@ -36,9 +36,12 @@
         flickerRate = main.params[ 'TEST' ][ 'flickerRate']
         deviceDistribution = (main.params[ 'TEST' ][ 'devicesPerNode']).split(",")    
         MNip = main.params[ 'TEST' ][ 'MN' ]
-      
+        logFileName = main.params[ 'TEST' ][ 'logFile' ]
+        onBaremetal = main.params[ 'ENV' ][ 'onBaremetal' ]
+
         main.ONOSbench.handle.sendline("export TERM=vt100")
         main.ONOSbench.handle.expect(":~") 	    
+        homeDir = os.path.expanduser('~')
 
         #Populate ONOSIp with ips from params 
         for i in range(1, maxNodes + 1): 
@@ -90,34 +93,6 @@
         if skipMvn != "yes":
             mvnResult = main.ONOSbench.cleanInstall()
 
-        #configuring file to enable flicker
-        main.log.step(" Configuring null provider to enable flicker. Flicker Rate = " + flickerRate )
-        homeDir = os.path.expanduser('~')
-        main.log.info(homeDir)
-        localPath = "/onos/tools/package/etc/org.onosproject.provider.nil.link.impl.NullLinkProvider.cfg"
-        filePath = homeDir + localPath
-        main.log.info(filePath)
-
-        neighborsString = ""
-        for node in range(1, maxNodes + 1):
-            neighborsString += ONOSIp[node]
-            if node < maxNodes:
-                neighborsString += ","
-
-        configFile = open(filePath, 'w+')
-        main.log.info("File opened")
-        configFile.write("# Sample configurations for the NullLinkProvider.\n")
-        configFile.write("# \n")
-        configFile.write("# If enabled, sets time between linkEvent generation\n")
-        configFile.write("# in milliseconds.\n")
-        configFile.write("#\n") 
-        configFile.write("eventRate = " + flickerRate)
-        configFile.write("\n")
-        configFile.write("#Set order of islands to chain together, in a line.\n")
-        configFile.write("neighbors = " + neighborsString)
-        configFile.close()
-        main.log.info("Configuration completed")
-
         ### configure event rate file ###
         main.log.step("Writing Default Topology Provider config file")
         localPath = main.params[ 'TEST' ][ 'configFile' ]
@@ -129,29 +104,28 @@
         configFile.write("maxIdleMs = 0\n")
         configFile.write("maxBatchMs = 0\n")
         main.log.info("File written and closed")
-       
- 
-        devices_by_ip = ""
-        for node in range(1, maxNodes + 1):
-            devices_by_ip += (ONOSIp[node] + ":" + str(5))
-            if node < maxNodes:
-                devices_by_ip +=(",")
-        
-        main.log.step("Configuring device provider")
-        localPath = "/onos/tools/package/etc/org.onosproject.provider.nil.device.impl.NullDeviceProvider.cfg"
-        filePath = homeDir + localPath
-        main.log.info(filePath)
-        configFile = open(filePath, 'w+')
-        main.log.info("Device config file opened")
-        configFile.write("devConfigs = " + devices_by_ip)
         configFile.close()
-        main.log.info("File closed")
 
-        logFileName = main.params[ 'TEST' ][ 'logFile' ]
         logFile = open(logFileName, 'w+')
         main.log.info("Created log File")
         logFile.close()
 
+        if onBaremetal == "true":
+            filename = "/onos/tools/package/bin/onos-service"
+            serviceConfig = open(homeDir + filename, 'w+')
+            serviceConfig.write("#!/bin/bash\n ")
+            serviceConfig.write("#------------------------------------- \n ")
+            serviceConfig.write("# Starts ONOS Apache Karaf container\n ")
+            serviceConfig.write("#------------------------------------- \n ")
+            serviceConfig.write("#export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}\n ")
+            serviceConfig.write("""export JAVA_OPTS="${JAVA_OPTS:--Xms256m -Xmx8G}" \n """)
+            serviceConfig.write("")
+            serviceConfig.write("ONOS_HOME=/opt/onos \n ")
+            serviceConfig.write("")
+            serviceConfig.write("[ -d $ONOS_HOME ] && cd $ONOS_HOME || ONOS_HOME=$(dirname $0)/..\n")
+            serviceConfig.write("""${ONOS_HOME}/apache-karaf-$KARAF_VERSION/bin/karaf "$@" \n """)
+            serviceConfig.close() 
+
         main.step( "Creating ONOS package" )
         packageResult = main.ONOSbench.onosPackage()  
 
@@ -212,11 +186,14 @@
         main.step( "Set Cell" )
         main.ONOSbench.setCell(cellName)
 
+        main.step( "Packaging" ) 
+        main.ONOSbench.onosPackage()
+
         main.log.report( "Increasing cluster size to " + str( clusterCount ) )
         for node in range(1, clusterCount + 1):
             time.sleep(10)
             main.log.info("Starting ONOS " + str(node) + " at IP: " + ONOSIp[node])
-            main.ONOSbench.onosInstall( ONOSIp[node] )
+            main.ONOSbench.onosInstall( node=ONOSIp[node] )
             exec "a = main.ONOS%scli.startOnosCli" %str(node)
             a(ONOSIp[node])
         
@@ -245,8 +222,7 @@
         linkResult = main.FALSE
         scale = int( main.params[ 'SCALE' ] )
 
-        testDelay = main.params[ 'TEST' ][ 'wait']
-        time.sleep( float( testDelay ) )
+        testDelay = main.params[ 'TEST' ][ 'wait' ]
                 
         for node in range(1, clusterCount + 1): 
             main.log.info("Writing flicker file to node " + str(node))
diff --git a/TestON/tests/LinkEventTP/LinkEventTP.pyc b/TestON/tests/LinkEventTP/LinkEventTP.pyc
index 08393ed..644df6d 100644
--- a/TestON/tests/LinkEventTP/LinkEventTP.pyc
+++ b/TestON/tests/LinkEventTP/LinkEventTP.pyc
Binary files differ
diff --git a/TestON/tests/LinkEventTP/LinkEventTP.topo b/TestON/tests/LinkEventTP/LinkEventTP.topo
index cf5fc94..3c24161 100644
--- a/TestON/tests/LinkEventTP/LinkEventTP.topo
+++ b/TestON/tests/LinkEventTP/LinkEventTP.topo
@@ -3,7 +3,7 @@
     <COMPONENT>
 
         <ONOSbench>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosDriver</type>
@@ -15,7 +15,7 @@
         </ONOSbench>
 
         <ONOS1cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -24,7 +24,7 @@
         </ONOS1cli>
 
         <ONOS2cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -33,7 +33,7 @@
         </ONOS2cli>
 
         <ONOS3cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -42,7 +42,7 @@
         </ONOS3cli>
 
         <ONOS4cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -51,7 +51,7 @@
         </ONOS4cli>
 
         <ONOS5cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -60,7 +60,7 @@
         </ONOS5cli>
 
 	<ONOS6cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -69,7 +69,7 @@
         </ONOS6cli>
 
         <ONOS7cli>
-            <host>10.128.5.55</host>
+            <host>10.254.1.200</host>
             <user>admin</user>
             <password>onos_test</password>
             <type>OnosCliDriver</type>
@@ -78,7 +78,7 @@
         </ONOS7cli>
 
         <ONOS1>
-            <host>10.128.5.51</host>
+            <host>10.254.1.201</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -87,7 +87,7 @@
         </ONOS1>
 
         <ONOS2>
-            <host>10.128.5.52</host>
+            <host>10.254.1.202</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -96,7 +96,7 @@
         </ONOS2>
 
         <ONOS3>
-            <host>10.128.5.53</host>
+            <host>10.254.1.203</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -105,7 +105,7 @@
         </ONOS3>
 
         <ONOS4>
-            <host>10.128.5.54</host>
+            <host>10.254.1.204</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -115,7 +115,7 @@
 
 	
         <ONOS5>
-            <host>10.128.5.65</host>
+            <host>10.254.1.205</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -124,7 +124,7 @@
         </ONOS5>
 
         <ONOS6>
-            <host>10.128.5.66</host>
+            <host>10.254.1.206</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
@@ -133,7 +133,7 @@
         </ONOS6>
 
         <ONOS7>
-            <host>10.128.5.67</host>
+            <host>10.254.1.207</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>OnosDriver</type>
diff --git a/TestON/tests/LinkEventTP/__init__.pyc b/TestON/tests/LinkEventTP/__init__.pyc
index 5415a7b..62abfab 100644
--- a/TestON/tests/LinkEventTP/__init__.pyc
+++ b/TestON/tests/LinkEventTP/__init__.pyc
Binary files differ
