diff --git a/TestON/drivers/common/api/controller/onosrestdriver.py b/TestON/drivers/common/api/controller/onosrestdriver.py
index d5c1114..bfe49f1 100755
--- a/TestON/drivers/common/api/controller/onosrestdriver.py
+++ b/TestON/drivers/common/api/controller/onosrestdriver.py
@@ -35,7 +35,7 @@
     def __init__( self ):
         self.pwd = None
         self.user_name = "user"
-        super( Controller, self ).__init__()
+        super( OnosRestDriver, self ).__init__()
         self.ip_address = "localhost"
         self.port = "8080"
         self.wrapped = sys.modules[ __name__ ]
diff --git a/TestON/drivers/common/api/controllerdriver.py b/TestON/drivers/common/api/controllerdriver.py
index 6cda814..721e7e0 100644
--- a/TestON/drivers/common/api/controllerdriver.py
+++ b/TestON/drivers/common/api/controllerdriver.py
@@ -31,5 +31,5 @@
     # The common functions for emulator included in emulatordriver
 
     def __init__( self ):
-        super( API, self ).__init__()
+        super( Controller, self ).__init__()
 
diff --git a/TestON/drivers/common/api/dockerapidriver.py b/TestON/drivers/common/api/dockerapidriver.py
index 21e2024..6d9650c 100644
--- a/TestON/drivers/common/api/dockerapidriver.py
+++ b/TestON/drivers/common/api/dockerapidriver.py
@@ -24,7 +24,7 @@
         self.name = None
         self.home = None
         self.handle = None
-        super( API, self ).__init__()
+        super( DockerApiDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         """
diff --git a/TestON/drivers/common/api/fvtapidriver.py b/TestON/drivers/common/api/fvtapidriver.py
index f861f7d..1a71655 100644
--- a/TestON/drivers/common/api/fvtapidriver.py
+++ b/TestON/drivers/common/api/fvtapidriver.py
@@ -98,7 +98,7 @@
 class FvtApiDriver( API, templatetest.TemplateTest ):
 
     def __init__( self ):
-        super( API, self ).__init__()
+        super( FvtApiDriver, self ).__init__()
         print 'init'
 
     def connect( self, **connectargs ):
diff --git a/TestON/drivers/common/apidriver.py b/TestON/drivers/common/apidriver.py
index 166211e..2a7a1a3 100644
--- a/TestON/drivers/common/apidriver.py
+++ b/TestON/drivers/common/apidriver.py
@@ -34,7 +34,7 @@
         This will define common functions for CLI included.
     """
     def __init__( self ):
-        super( Component, self ).__init__()
+        super( API, self ).__init__()
 
     def connect( self ):
         """
diff --git a/TestON/drivers/common/cli/dpclidriver.py b/TestON/drivers/common/cli/dpclidriver.py
index f3ea3e5..bae91e4 100644
--- a/TestON/drivers/common/cli/dpclidriver.py
+++ b/TestON/drivers/common/cli/dpclidriver.py
@@ -13,7 +13,7 @@
 class DPCliDriver( CLI ):
 
     def __init__( self ):
-        super( CLI, self ).__init__()
+        super( DPCliDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -46,12 +46,12 @@
         and false if a single interface has issues
         """
         self.handle.sendline( "" )
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
 
         self.handle.sendline( "rm /tmp/local_ip.txt" )
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
         self.handle.sendline( "touch /tmp/local_ip.txt" )
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
 
         main.log.info( "Creating interfaces" )
         k = 0
@@ -69,7 +69,7 @@
                     intf ) + " " + ip + " netmask 255.255.255.0" )
 
             i = self.handle.expect( [
-                                    "\$",
+                                    self.prompt,
                                     "password",
                                     pexpect.TIMEOUT,
                                     pexpect.EOF ],
@@ -78,11 +78,11 @@
             if i == 0:
                 self.handle.sendline(
                     "echo " + str( ip ) + " >> /tmp/local_ip.txt" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
             elif i == 1:
                 main.log.info( "Sending sudo password" )
                 self.handle.sendline( self.pwd )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
             else:
                 main.log.error( "INTERFACES NOT CREATED" )
                 return main.FALSE
@@ -98,7 +98,7 @@
         this function will install fping then run the same command
         """
         self.handle.sendline( "" )
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
 
         self.handle.sendline( "scp " + str( destlogin ) + "@" +
                               str( destip ) +
@@ -123,7 +123,7 @@
             return result
 
         self.handle.sendline( "" )
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
 
         main.log.info( "Pinging interfaces on the " + str( netdst ) +
                        " network from " + str( netsrc ) + "." +
@@ -135,7 +135,7 @@
             i = self.handle.expect( [
                                     "reachable",
                                     "unreachable",
-                                    "\$",
+                                    self.prompt,
                                     "password",
                                     pexpect.TIMEOUT,
                                     "not installed" ],
@@ -160,12 +160,12 @@
                 main.log.info( "fping not installed, installing fping" )
                 self.handle.sendline( "sudo apt-get install fping" )
                 i = self.handle.expect( [ "password",
-                                          "\$",
+                                          self.prompt,
                                           pexpect.TIMEOUT ],
                                         timeout=60 )
                 if i == 0:
                     self.handle.sendline( self.pwd )
-                    self.handle.expect( "\$", timeout=30 )
+                    self.handle.expect( self.prompt, timeout=30 )
                     main.log.info( "fping installed, now pinging interfaces" )
                     self.handle.sendline(
                         "sudo fping -S " + str(
diff --git a/TestON/drivers/common/cli/emulator/flowvisordriver.py b/TestON/drivers/common/cli/emulator/flowvisordriver.py
index 35c0bbf..5839e18 100644
--- a/TestON/drivers/common/cli/emulator/flowvisordriver.py
+++ b/TestON/drivers/common/cli/emulator/flowvisordriver.py
@@ -37,7 +37,7 @@
         FlowVisorDriver is the basic driver which will handle the Mininet functions
     """
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( FlowVisorDriver, self ).__init__()
         self.handle = self
         self.wrapped = sys.modules[ __name__ ]
 
@@ -61,13 +61,13 @@
 
         # Copying the readme file to process the
         if self.handle:
-            self.execute( cmd='\r', prompt='\$', timeout=10 )
+            self.execute( cmd='\r', prompt=self.prompt, timeout=10 )
             self.options[ 'path' ] = '/home/openflow/flowvisor/scripts/'
             #self.handle.logfile = sys.stdout
             self.execute(
                 cmd='cd ' +
                 self.options[ 'path' ],
-                prompt='\$',
+                prompt=self.prompt,
                 timeout=10 )
             main.log.info( "Starting FlowVisor " )
 
@@ -92,7 +92,7 @@
             main.log.info( response )
             #import time
             # time.sleep( 10 )
-            #response = self.execute( cmd='./start_visualizer.sh & \r',prompt='\$',timeout=10 )
+            #response = self.execute( cmd='./start_visualizer.sh & \r',prompt=self.prompt,timeout=10 )
 
             return main.TRUE
         else:
@@ -111,13 +111,13 @@
             for id in flow_ids:
                 self.removeFlowSpace( id )
         else:
-            self.execute( cmd="clear", prompt="\$", timeout=10 )
+            self.execute( cmd="clear", prompt=self.prompt, timeout=10 )
             self.execute(
                 cmd="./fvctl.sh removeFlowSpace " +
                 id,
                 prompt="passwd:",
                 timeout=10 )
-            self.execute( cmd="\n", prompt="\$", timeout=10 )
+            self.execute( cmd="\n", prompt=self.prompt, timeout=10 )
             main.log.info( "Removed flowSpace which is having id :" + id )
 
         return main.TRUE
@@ -155,13 +155,13 @@
                 except Exception:
                     main.log.error( "Please specify flowspace properly" )
         """
-        # self.execute( cmd="clear",prompt="\$",timeout=10 )
+        # self.execute( cmd="clear",prompt=self.prompt,timeout=10 )
         self.execute(
             cmd="./fvctl.sh addFlowSpace " +
             flowspace,
             prompt="passwd:",
             timeout=10 )
-        self.execute( cmd="\n", prompt="\$", timeout=10 )
+        self.execute( cmd="\n", prompt=self.prompt, timeout=10 )
         sucess_match = re.search( "success\:\s+(\d+)", main.last_response )
         if sucess_match:
             main.log.info(
@@ -172,12 +172,12 @@
             return main.FALSE
 
     def listFlowSpace( self ):
-        self.execute( cmd="clear", prompt="\$", timeout=10 )
+        self.execute( cmd="clear", prompt=self.prompt, timeout=10 )
         self.execute(
             cmd="./fvctl.sh listFlowSpace ",
             prompt="passwd:",
             timeout=10 )
-        self.execute( cmd="\n", prompt="\$", timeout=10 )
+        self.execute( cmd="\n", prompt=self.prompt, timeout=10 )
         flow_space = main.last_response
         flow_space = self.remove_contol_chars( flow_space )
         flow_space = re.sub(
@@ -191,9 +191,9 @@
         return flow_space
 
     def listDevices( self ):
-        # self.execute( cmd="clear",prompt="\$",timeout=10 )
+        # self.execute( cmd="clear",prompt=self.prompt,timeout=10 )
         #self.execute( cmd="./fvctl.sh listDevices ",prompt="passwd:",timeout=10 )
-        # self.execute( cmd="\n",prompt="\$",timeout=10 )
+        # self.execute( cmd="\n",prompt=self.prompt,timeout=10 )
         devices_list = ''
         last_response = re.findall(
             "(Device\s\d+\:\s((\d|[a-z])(\d|[a-z])\:)+(\d|[a-z])(\d|[a-z]))",
diff --git a/TestON/drivers/common/cli/emulator/lincoedriver.py b/TestON/drivers/common/cli/emulator/lincoedriver.py
index 5024f17..dfc7511 100644
--- a/TestON/drivers/common/cli/emulator/lincoedriver.py
+++ b/TestON/drivers/common/cli/emulator/lincoedriver.py
@@ -31,7 +31,7 @@
     LincOEDriver class will handle all emulator functions
     """
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( LincOEDriver, self ).__init__()
         self.handle = self
         self.wrapped = sys.modules[ __name__ ]
         self.flag = 0
@@ -103,12 +103,12 @@
             self.handle.sendline( "make rel" )
             i = self.handle.expect( [
                 "ERROR",
-                "\$" ] )
+                self.prompt ] )
 
             if i == 0:
                 self.handle.sendline( "sudo pkill -9 epmd" )
                 self.handle.sendline( "make rel" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
 
                 handle = self.handle.before
                 return handle
@@ -222,7 +222,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "sudo ~/linc-oe/rel/linc/bin/linc attach" )
             self.handle.expect( ">" )
             return main.TRUE
@@ -317,19 +317,19 @@
             # Send CTRL+C twice to exit CLI
             self.handle.send( "\x03" )
             self.handle.send( "\x03" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             handle1 = self.handle.before
             cmd = "pgrep -f linc"
             self.handle.sendline( cmd )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             handle2 = self.handle.before
             main.log.info( "pid's = " + handle2 )
             cmd = "sudo kill -9 `pgrep -f linc`"
             self.handle.sendline( cmd )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             # Close the ssh connection
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "exit" )
             self.handle.expect( "closed" )
         except pexpect.EOF:
diff --git a/TestON/drivers/common/cli/emulator/mininetclidriver.py b/TestON/drivers/common/cli/emulator/mininetclidriver.py
index 90f79a9..21ba948 100644
--- a/TestON/drivers/common/cli/emulator/mininetclidriver.py
+++ b/TestON/drivers/common/cli/emulator/mininetclidriver.py
@@ -44,12 +44,11 @@
 
 
 class MininetCliDriver( Emulator ):
-
     """
        MininetCliDriver is the basic driver which will handle
        the Mininet functions"""
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( MininetCliDriver, self ).__init__()
         self.handle = self
         self.name = None
         self.home = None
@@ -155,7 +154,7 @@
                     main.log.info( self.name + ": Sending sudo password" )
                     self.handle.sendline( self.pwd )
                     i = self.handle.expect( [ '%s:' % self.user,
-                                              '\$',
+                                              self.prompt,
                                               pexpect.EOF,
                                               pexpect.TIMEOUT ],
                                             timeout )
@@ -197,7 +196,7 @@
                     cmdString += mnCmd
                 # Send the command and check if network started
                 self.handle.sendline( "" )
-                self.handle.expect( '\$' )
+                self.handle.expect( self.prompt )
                 main.log.info( "Sending '" + cmdString + "' to " + self.name )
                 self.handle.sendline( cmdString )
                 while True:
@@ -213,7 +212,7 @@
                     elif i == 1:
                         response = str( self.handle.before +
                                         self.handle.after )
-                        self.handle.expect( '\$' )
+                        self.handle.expect( self.prompt )
                         response += str( self.handle.before +
                                          self.handle.after )
                         main.log.error(
@@ -2370,7 +2369,7 @@
             try:
                 self.handle.sendline( "" )
                 i = self.handle.expect( [ 'mininet>',
-                                          '\$',
+                                          self.prompt,
                                           pexpect.EOF,
                                           pexpect.TIMEOUT ],
                                         timeout )
@@ -2395,7 +2394,7 @@
 
                 if fileName:
                     self.handle.sendline( "" )
-                    self.handle.expect( '\$' )
+                    self.handle.expect( self.prompt )
                     self.handle.sendline(
                         "sudo kill -9 \`ps -ef | grep \"" +
                         fileName +
diff --git a/TestON/drivers/common/cli/emulator/poxclidriver.py b/TestON/drivers/common/cli/emulator/poxclidriver.py
index 02c43b1..349e54e 100644
--- a/TestON/drivers/common/cli/emulator/poxclidriver.py
+++ b/TestON/drivers/common/cli/emulator/poxclidriver.py
@@ -41,7 +41,7 @@
         PoxCliDriver driver provides the basic functions of POX controller
     """
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( PoxCliDriver, self ).__init__()
         self.handle = self
         self.wrapped = sys.modules[ __name__ ]
 
@@ -80,12 +80,12 @@
                 self.execute(
                     cmd="cd " +
                     self.options[ 'pox_lib_location' ],
-                    prompt="/pox\$",
+                    prompt="/pox" + self.prompt,
                     timeout=120 )
             else:
                 self.execute(
                     cmd="cd ~/TestON/lib/pox/",
-                    prompt="/pox\$",
+                    prompt="/pox" + self.prompt,
                     timeout=120 )
             # launching pox with components
             main.log.info( "launching POX controller with given components" )
@@ -102,7 +102,7 @@
 
     def disconnect( self, handle ):
         if self.handle:
-            self.execute( cmd="exit()", prompt="/pox\$", timeout=120 )
+            self.execute( cmd="exit()", prompt="/pox" + self.prompt, timeout=120 )
         else:
             main.log.error( "Connection failed to the host" )
 
diff --git a/TestON/drivers/common/cli/emulator/remotemininetdriver.py b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
index 8788af0..4aa8ad4 100644
--- a/TestON/drivers/common/cli/emulator/remotemininetdriver.py
+++ b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
@@ -39,7 +39,7 @@
     mininet running on the target.
     """
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( RemoteMininetDriver, self ).__init__()
         self.handle = self
         self.name = None
         self.wrapped = sys.modules[ __name__ ]
@@ -103,12 +103,12 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "cat " + pingList )
             self.handle.expect( pingList )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             outputs = self.handle.before + self.handle.after
             if re.search( " 0% packet loss", outputs ):
                 return main.FALSE
@@ -140,7 +140,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args(
                 [ "SRC", "TARGET", "PINGTIME" ], **pingParams )
             precmd = "sudo rm /tmp/ping." + args[ "SRC" ]
@@ -152,7 +152,7 @@
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             return main.TRUE
         except TypeError:
             main.log.exception(self.name + ": Object not as expected")
@@ -179,14 +179,14 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args( [ "SRC" ], **pingParams )
             self.handle.sendline( "tail /tmp/ping." + args[ "SRC" ] )
             self.handle.expect( "tail" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             result = self.handle.before + self.handle.after
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             if re.search( 'Unreachable', result ):
                 main.log.info( "Unreachable found in ping logs..." )
                 return main.FALSE
@@ -220,7 +220,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             command = "sudo kill -SIGINT `pgrep ping`"
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
@@ -231,11 +231,11 @@
             self.execute( cmd=command, prompt="100%", timeout=20 )
             # Make sure the output is cleared
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            i = self.handle.expect( [ "password", "\$" ] )
+            i = self.handle.expect( [ "password", self.prompt ] )
             if i == 0:
                 main.log.error( "Error, sudo asking for password" )
                 main.log.error( self.handle.before )
@@ -260,12 +260,12 @@
     def pingLongKill( self ):
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             command = "sudo kill -SIGING `pgrep ping`"
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             return main.TRUE
         except pexpect.TIMEOUT:
             main.log.exception( self.name + ": TIMEOUT exception found in pingLongKill" )
@@ -330,7 +330,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args( [ "SRC", "TARGET" ], **pingParams )
             command = "mininet/util/m " + \
                 args[ "SRC" ] + " ping " + args[ "TARGET" ] + " -c 4 -W 1 -i .2"
@@ -365,15 +365,15 @@
         try:
             if self.handle:
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline( 'ifconfig -a | grep "sw.. " | wc -l' )
                 self.handle.expect( "wc" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 response = self.handle.before
                 self.handle.sendline(
                     'ps -ef | grep "bash -ms mininet:sw" | grep -v color | wc -l' )
                 self.handle.expect( "color" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 response2 = self.handle.before
 
                 if re.search( num, response ):
@@ -424,7 +424,7 @@
             self.handle.sendline( "" )
             self.handle.sendline( "" )
             i = self.handle.expect( [ 'No\ssuch\device', 'listening\son',
-                                    pexpect.TIMEOUT, "\$" ], timeout=10 )
+                                    pexpect.TIMEOUT, self.prompt ], timeout=10 )
             main.log.info( self.handle.before + self.handle.after )
             if i == 0:
                 main.log.error( self.name + ": tcpdump - No such device exists.\
@@ -459,7 +459,7 @@
         try:
             self.handle.sendline( "sudo pkill tcpdump" )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
         except pexpect.EOF:
             main.log.error( self.name + ": EOF exception found" )
             main.log.error( self.name + ":     " + self.handle.before )
@@ -487,9 +487,9 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "cd ~/" + name + "/tools/test/topos" )
-            self.handle.expect( "topos\$" )
+            self.handle.expect( "topos"+ self.prompt )
             if ctrllerIP == None:
                 main.log.info( "You need to specify the IP" )
                 return main.FALSE
@@ -531,7 +531,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "sudo ~/linc-oe/rel/linc/bin/linc attach" )
             self.handle.expect( ">" )
             return main.TRUE
@@ -548,8 +548,8 @@
             if self.handle:
                 # Close the ssh connection
                 self.handle.sendline( "" )
-                # self.handle.expect( "\$" )
-                i = self.handle.expect( [ '\$', 'mininet>', pexpect.TIMEOUT,
+                # self.handle.expect( self.prompt )
+                i = self.handle.expect( [ self.prompt, 'mininet>', pexpect.TIMEOUT,
                                           pexpect.EOF ], timeout=2 )
                 if i == 0:
                     self.handle.sendline( "exit" )
@@ -557,7 +557,7 @@
                 elif i == 1:
                     self.handle.sendline( "exit" )
                     self.handle.expect( "exit" )
-                    self.handle.expect('\$')
+                    self.handle.expect(self.prompt)
                     self.handle.sendline( "exit" )
                     self.handle.expect( "exit" )
                     self.handle.expect( "closed" )
@@ -637,7 +637,7 @@
                 # at the time of writing this function )
                 # Check for existing rules on current input
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline(
                     "sudo iptables -C OUTPUT -p " +
                     str( packetType ) +
@@ -647,7 +647,7 @@
                     str( dstPort ) +
                     " -j " +
                     str( rule ) )
-                i = self.handle.expect( [ "iptables:", "\$" ] )
+                i = self.handle.expect( [ "iptables:", self.prompt ] )
                 print i
                 print self.handle.before
                 print "after: "
@@ -656,7 +656,7 @@
             elif actionType == 'remove':
                 # Check for existing rules on current input
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline(
                     "sudo iptables -C OUTPUT -p " +
                     str( packetType ) +
@@ -666,7 +666,7 @@
                     str( dstPort ) +
                     " -j " +
                     str( rule ) )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
             print "before: "
             print self.handle.before
             actualString = self.handle.after
@@ -710,7 +710,7 @@
                         main.log.info( infoString )
 
                         self.handle.expect(
-                            [ "\$", pexpect.EOF, pexpect.TIMEOUT ] )
+                            [ self.prompt, pexpect.EOF, pexpect.TIMEOUT ] )
                     except pexpect.TIMEOUT:
                         main.log.error(
                             self.name +
@@ -754,7 +754,7 @@
                         main.log.info( infoString )
 
                         self.handle.expect(
-                            [ "\$", pexpect.EOF, pexpect.TIMEOUT ] )
+                            [ self.prompt, pexpect.EOF, pexpect.TIMEOUT ] )
                     except pexpect.TIMEOUT:
                         main.log.error(
                             self.name +
diff --git a/TestON/drivers/common/cli/emulator/scapyclidriver.py b/TestON/drivers/common/cli/emulator/scapyclidriver.py
index f1457ea..f61536c 100644
--- a/TestON/drivers/common/cli/emulator/scapyclidriver.py
+++ b/TestON/drivers/common/cli/emulator/scapyclidriver.py
@@ -38,7 +38,7 @@
        ScapyCliDriver is the basic driver which will handle
        the Scapy functions"""
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( ScapyCliDriver, self ).__init__()
         self.handle = self
         self.name = None
         self.home = None
@@ -147,7 +147,7 @@
             try:
                 self.handle.sendline( "" )
                 i = self.handle.expect( [ '>>>',
-                                          '\$',
+                                          self.prompt,
                                           pexpect.EOF,
                                           pexpect.TIMEOUT ],
                                         timeout )
@@ -171,7 +171,7 @@
 
                 if fileName:
                     self.handle.sendline( "" )
-                    self.handle.expect( '\$' )
+                    self.handle.expect( self.prompt )
                     self.handle.sendline(
                         "sudo kill -9 \`ps -ef | grep \"" +
                         fileName +
diff --git a/TestON/drivers/common/cli/emulatordriver.py b/TestON/drivers/common/cli/emulatordriver.py
index fb7a80d..206c935 100644
--- a/TestON/drivers/common/cli/emulatordriver.py
+++ b/TestON/drivers/common/cli/emulatordriver.py
@@ -26,10 +26,8 @@
 """
 from drivers.common.clidriver import CLI
 
-
 class Emulator( CLI ):
     # The common functions for emulator included in emulatordriver
 
     def __init__( self ):
-        super( CLI, self ).__init__()
-
+        super( Emulator, self ).__init__()
\ No newline at end of file
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index b7a4439..032460b 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -41,9 +41,15 @@
         self.name = None
         self.home = None
         self.handle = None
+        self.karafUser = None
+        self.karafPass = None
         self.graph = Graph()
-        super( CLI, self ).__init__()
+        super( OnosCliDriver, self ).__init__()
 
+    def checkOptions(self, var, defaultVar):
+        if var is None or var == "":
+            return defaultVar
+        return var
     def connect( self, **connectargs ):
         """
         Creates ssh handle for ONOS cli.
@@ -54,10 +60,15 @@
             self.home = "~/onos"
             for key in self.options:
                 if key == "home":
-                    self.home = self.options[ 'home' ]
-                    break
-            if self.home is None or self.home == "":
-                self.home = "~/onos"
+                    self.home = self.options[ key ]
+                elif key == "karaf_username":
+                    self.karafUser = self.options[ key ]
+                elif key == "karaf_password":
+                    self.karafPass = self.options[ key ]
+
+            self.home = self.checkOptions(self.home, "~/onos")
+            self.karafUser = self.checkOptions(self.karafUser, self.user_name)
+            self.karafPass = self.checkOptions(self.karafPass, self.pwd )
 
             for key in self.options:
                 if key == 'onosIp':
@@ -89,7 +100,7 @@
                 home=self.home )
 
             self.handle.sendline( "cd " + self.home )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             if self.handle:
                 return self.handle
             else:
@@ -118,7 +129,7 @@
                 i = self.logout()
                 if i == main.TRUE:
                     self.handle.sendline( "" )
-                    self.handle.expect( "\$" )
+                    self.handle.expect( self.prompt )
                     self.handle.sendline( "exit" )
                     self.handle.expect( "closed" )
         except TypeError:
@@ -146,11 +157,11 @@
         try:
             if self.handle:
                 self.handle.sendline( "" )
-                i = self.handle.expect( [ "onos>", "\$", pexpect.TIMEOUT ],
+                i = self.handle.expect( [ "onos>", self.prompt, pexpect.TIMEOUT ],
                                         timeout=10 )
                 if i == 0:  # In ONOS CLI
                     self.handle.sendline( "logout" )
-                    j = self.handle.expect( [ "\$",
+                    j = self.handle.expect( [ self.prompt,
                                               "Command not found:",
                                               pexpect.TIMEOUT ] )
                     if j == 0:  # Successfully logged out
@@ -160,7 +171,7 @@
                         # or the command timed out
                         self.handle.send( "\x04" )  # send ctrl-d
                         try:
-                            self.handle.expect( "\$" )
+                            self.handle.expect( self.prompt )
                         except pexpect.TIMEOUT:
                             main.log.error( "ONOS did not respond to 'logout' or CTRL-d" )
                         return main.TRUE
@@ -211,7 +222,7 @@
                 handleAfter = self.handle.after
                 # Get the rest of the handle
                 self.handle.sendline("")
-                self.handle.expect("\$")
+                self.handle.expect(self.prompt)
                 handleMore = self.handle.before
 
                 main.log.info( "Cell call returned: " + handleBefore +
@@ -253,7 +264,7 @@
             # Check if we are already in the cli
             self.handle.sendline( "" )
             x = self.handle.expect( [
-                "\$", "onos>" ], commandlineTimeout)
+                self.prompt, "onos>" ], commandlineTimeout)
             if x == 1:
                 main.log.info( "ONOS cli is already running" )
                 return main.TRUE
@@ -276,7 +287,7 @@
                         "config:property-set -p org.apache.karaf.shell\
                                  sshIdleTimeout " +
                         karafTimeout )
-                    self.handle.expect( "\$" )
+                    self.handle.expect( self.prompt )
                     self.handle.sendline( startCliCommand + str( ONOSIp ) )
                     self.handle.expect( "onos>" )
                 return main.TRUE
@@ -295,7 +306,7 @@
                             "config:property-set -p org.apache.karaf.shell\
                                     sshIdleTimeout " +
                             karafTimeout )
-                        self.handle.expect( "\$" )
+                        self.handle.expect( self.prompt )
                         self.handle.sendline( startCliCommand + str( ONOSIp ) )
                         self.handle.expect( "onos>" )
                     return main.TRUE
@@ -338,7 +349,7 @@
         try:
             self.handle.sendline( "" )
             x = self.handle.expect( [
-                "\$", "onos>" ], commandlineTimeout)
+                self.prompt, "onos>" ], commandlineTimeout)
 
             if x == 1:
                 main.log.info( "ONOS cli is already running" )
@@ -357,7 +368,7 @@
                         "config:property-set -p org.apache.karaf.shell\
                                  sshIdleTimeout " +
                         karafTimeout )
-                    self.handle.expect( "\$" )
+                    self.handle.expect( self.prompt )
                     self.handle.sendline( "/opt/onos/bin/onos" )
                     self.handle.expect( "onos>" )
                 return main.TRUE
@@ -376,7 +387,7 @@
                             "config:property-set -p org.apache.karaf.shell\
                                     sshIdleTimeout " +
                             karafTimeout )
-                        self.handle.expect( "\$" )
+                        self.handle.expect( self.prompt )
                         self.handle.sendline( "/opt/onos/bin/onos" )
                         self.handle.expect( "onos>" )
                     return main.TRUE
@@ -464,7 +475,7 @@
         try:
             # Try to reconnect if disconnected from cli
             self.handle.sendline( "" )
-            i = self.handle.expect( [ "onos>", "\$", pexpect.TIMEOUT ] )
+            i = self.handle.expect( [ "onos>", self.prompt, pexpect.TIMEOUT ] )
             if i == 1:
                 main.log.error( self.name + ": onos cli session closed. ")
                 if self.onosIp:
@@ -496,7 +507,7 @@
             if dollarSign:
                 i = self.handle.expect( ["onos>"], timeout )
             else:
-                i = self.handle.expect( ["onos>", "\$"], timeout )
+                i = self.handle.expect( ["onos>", self.prompt], timeout )
             response = self.handle.before
             # TODO: do something with i
             main.log.info( "Command '" + str( cmdStr ) + "' sent to "
diff --git a/TestON/drivers/common/cli/onosdriver.py b/TestON/drivers/common/cli/onosdriver.py
index 805946b..454bd95 100755
--- a/TestON/drivers/common/cli/onosdriver.py
+++ b/TestON/drivers/common/cli/onosdriver.py
@@ -40,8 +40,7 @@
         self.home = None
         self.handle = None
         self.nicAddr = None
-        self.prompt = "\$"
-        super( CLI, self ).__init__()
+        super( OnosDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         """
@@ -52,6 +51,7 @@
         the ip address needed to ssh to the "bench"
         """
         try:
+
             for key in connectargs:
                 vars( self )[ key ] = connectargs[ key ]
             self.home = "~/onos"
@@ -182,7 +182,7 @@
         try:
             self.handle.sendline( 'date +%s.%N' )
             self.handle.expect( 'date \+\%s\.\%N' )
-            self.handle.expect( '\$' )
+            self.handle.expect( self.prompt )
             epochMs = self.handle.before
             return epochMs
         except Exception:
@@ -311,8 +311,8 @@
                     'Runtime\sEnvironment\sto\scontinue',
                     'BUILD\sFAILURE',
                     'BUILD\sSUCCESS',
-                    'onos\$',  #TODO: fix this to be more generic?
-                    'ONOS\$',
+                    'onos' + self.prompt,  #TODO: fix this to be more generic?
+                    'ONOS' + self.prompt,
                     pexpect.TIMEOUT ], mciTimeout )
                 if i == 0:
                     main.log.error( self.name + ":There is insufficient memory \
@@ -449,7 +449,7 @@
             if i == 0:
                 main.log.error( self.name + ": Git pull had some issue" )
                 output = self.handle.after
-                self.handle.expect( '\$' )
+                self.handle.expect( self.prompt )
                 output += self.handle.before
                 main.log.warn( output )
                 return main.ERROR
@@ -1733,7 +1733,7 @@
                 cmd += " old"
             self.handle.sendline( cmd )
             self.handle.expect( cmd )
-            self.handle.expect( "\$ " )
+            self.handle.expect( self.prompt + " " )
             response = self.handle.before
             return response
         except pexpect.EOF:
diff --git a/TestON/drivers/common/cli/ovsdbdriver.py b/TestON/drivers/common/cli/ovsdbdriver.py
index 150e5fa..2a7a919 100644
--- a/TestON/drivers/common/cli/ovsdbdriver.py
+++ b/TestON/drivers/common/cli/ovsdbdriver.py
@@ -24,7 +24,7 @@
         self.name = None
         self.home = None
         self.handle = None
-        super( CLI, self ).__init__()
+        super( OvsdbDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         try:
diff --git a/TestON/drivers/common/cli/quaggaclidriver.py b/TestON/drivers/common/cli/quaggaclidriver.py
index 721ae6a..5a59d88 100644
--- a/TestON/drivers/common/cli/quaggaclidriver.py
+++ b/TestON/drivers/common/cli/quaggaclidriver.py
@@ -17,7 +17,7 @@
 class QuaggaCliDriver( CLI ):
 
     def __init__( self ):
-        super( CLI, self ).__init__()
+        super( QuaggaCliDriver, self ).__init__()
 
     # TODO: simplify this method
     def connect( self, **connectargs ):
@@ -51,7 +51,7 @@
 
         if self.handle:
             # self.handle.expect( "",timeout=10 )
-            # self.handle.expect( "\$",timeout=10 )
+            # self.handle.expect( self.prompt,timeout=10 )
             self.handle.sendline( "telnet localhost 2605" )
             # self.handle.expect( "Password:", timeout=5 )
             self.handle.expect( "Password:" )
@@ -77,7 +77,7 @@
 
         if self.handle:
             # self.handle.expect( "" )
-            # self.handle.expect( "\$" )
+            # self.handle.expect( self.prompt )
             self.handle.sendline( "telnet localhost 2605" )
             # self.handle.expect( "Password:", timeout=5 )
             self.handle.expect( "Password:" )
@@ -460,7 +460,7 @@
 
         if self.handle:
             # self.handle.expect( "" )
-            # self.handle.expect( "\$" )
+            # self.handle.expect( self.prompt )
             main.log.info( "I in host " + str( ip_address ) )
             main.log.info( pingTestFile + " > " + pingTestResultFile + " &" )
             self.handle.sendline(
@@ -468,7 +468,7 @@
                 " > " +
                 pingTestResultFile +
                 " &" )
-            self.handle.expect( "\$", timeout=60 )
+            self.handle.expect( self.prompt, timeout=60 )
             handle = self.handle.before
 
             return handle
diff --git a/TestON/drivers/common/cli/remotesysdriver.py b/TestON/drivers/common/cli/remotesysdriver.py
index a56f644..fae42ac 100644
--- a/TestON/drivers/common/cli/remotesysdriver.py
+++ b/TestON/drivers/common/cli/remotesysdriver.py
@@ -31,7 +31,7 @@
     # The common functions for emulator included in emulatordriver
 
     def __init__( self ):
-        super( CLI, self ).__init__()
+        super( RemoteSysDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -48,13 +48,13 @@
             pwd=self.pwd )
         """
         if self.handle:
-            self.execute( cmd= "\n",prompt= "\$|>|#",timeout= 10 )
+            self.execute( cmd= "\n",prompt= self.prompt,timeout= 10 )
             self.execute( cmd= "ssh -l paxterra 10.128.4.1",prompt= "paxterra@10.128.4.1's password:",timeout= 10 )
             self.execute( cmd= "\n",prompt= "paxterra@10.128.4.1's password:",timeout= 10 )
-            self.execute( cmd="0nLab_gu3st",prompt="\$",timeout=10 )
-            self.execute( cmd="cd TestON/bin/",prompt="\$",timeout=10 )
-            self.execute( cmd="./cli.py run Assert example 1",prompt="\$",timeout=10 )
-            self.execute( cmd= "\n",prompt= "$",timeout= 10 )
+            self.execute( cmd="0nLab_gu3st",prompt=self.prompt,timeout=10 )
+            self.execute( cmd="cd TestON/bin/",prompt=self.prompt,timeout=10 )
+            self.execute( cmd="./cli.py run Assert example 1",prompt=self.prompt,timeout=10 )
+            self.execute( cmd= "\n",prompt= self.prompt,timeout= 10 )
             #self.execute( cmd="help",prompt=">",timeout=10 )
 
             #self.execute( cmd="~.",prompt= ".*",timeout= 10 )
diff --git a/TestON/drivers/common/cli/remotetestbed/floodlightclidriver.py b/TestON/drivers/common/cli/remotetestbed/floodlightclidriver.py
index 4f55a90..68345e6 100644
--- a/TestON/drivers/common/cli/remotetestbed/floodlightclidriver.py
+++ b/TestON/drivers/common/cli/remotetestbed/floodlightclidriver.py
@@ -34,7 +34,7 @@
         FloodLightCliDriver is the basic driver which will handle the Mininet functions
     """
     def __init__( self ):
-        super( RemoteTestBedDriver, self ).__init__()
+        super( FloodLightCliDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -51,16 +51,16 @@
             pwd=self.pwd )
         if self.handle:
             main.log.info( "Connected " + self.name )
-            self.execute( cmd="\r", prompt="\$", timeout=10 )
+            self.execute( cmd="\r", prompt=self.prompt, timeout=10 )
             self.execute(
                 cmd="cd /home/openflow/floodlight/",
-                prompt="floodlight\$",
+                prompt="floodlight" + self.prompt,
                 timeout=3 )
             self.execute(
                 cmd="java -jar target/floodlight.jar &",
-                prompt="\$",
+                prompt=self.prompt,
                 timeout=3 )
-            self.execute( cmd="\r", prompt="\$", timeout=10 )
+            self.execute( cmd="\r", prompt=self.prompt, timeout=10 )
             return self.handle
         else:
             return main.FALSE
diff --git a/TestON/drivers/common/cli/remotetestbed/remotepoxdriver.py b/TestON/drivers/common/cli/remotetestbed/remotepoxdriver.py
index 50100c9..0273a18 100644
--- a/TestON/drivers/common/cli/remotetestbed/remotepoxdriver.py
+++ b/TestON/drivers/common/cli/remotetestbed/remotepoxdriver.py
@@ -35,7 +35,7 @@
         RemoteVMDriver is the basic driver which will handle the Mininet functions
     """
     def __init__( self ):
-        super( RemoteTestBedDriver, self ).__init__()
+        super( RemotePoxDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -56,7 +56,7 @@
             self.execute(
                 cmd="cd " +
                 self.options[ 'pox_lib_location' ],
-                prompt="/pox\$",
+                prompt="/pox" + self.prompt,
                 timeout=120 )
             self.execute(
                 cmd='./pox.py samples.of_tutorial',
@@ -67,6 +67,6 @@
 
     def disconnect( self, handle ):
         if self.handle:
-            self.execute( cmd="exit()", prompt="/pox\$", timeout=120 )
+            self.execute( cmd="exit()", prompt="/pox" + self.prompt, timeout=120 )
         else:
             main.log.error( "Connection failed to the host" )
diff --git a/TestON/drivers/common/cli/remotetestbed/remotevmdriver.py b/TestON/drivers/common/cli/remotetestbed/remotevmdriver.py
index f4a1f1a..e8f4c00 100644
--- a/TestON/drivers/common/cli/remotetestbed/remotevmdriver.py
+++ b/TestON/drivers/common/cli/remotetestbed/remotevmdriver.py
@@ -37,7 +37,7 @@
         RemoteVMDriver is the basic driver which will handle the Mininet functions
     """
     def __init__( self ):
-        super( RemoteTestBedDriver, self ).__init__()
+        super( RemoteVMDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -102,7 +102,7 @@
         if i == 1:
             main.log.info( "ssh connection asked for password, gave password" )
             self.handle.sendline( self.pwd )
-            self.handle.expect( '>|#|$' )
+            self.handle.expect( self.prompt )
 
         elif i == 2:
             main.log.error( "Connection timeout" )
diff --git a/TestON/drivers/common/cli/remotetestbeddriver.py b/TestON/drivers/common/cli/remotetestbeddriver.py
index ebf8fbe..3c0b109 100644
--- a/TestON/drivers/common/cli/remotetestbeddriver.py
+++ b/TestON/drivers/common/cli/remotetestbeddriver.py
@@ -31,7 +31,7 @@
     # The common functions for emulator included in RemoteTestBedDriver
 
     def __init__( self ):
-        super( CLI, self ).__init__()
+        super( RemoteTestBedDriver, self ).__init__()
 
     def connect( self, **connectargs ):
         for key in connectargs:
@@ -53,9 +53,9 @@
             pwd=remote_pwd )
 
         if self.handle:
-            self.execute( cmd="\n", prompt="\$|>|#", timeout=10 )
-            self.execute( cmd="SET CYGWIN=notty", prompt="\$|>|#", timeout=10 )
-            self.execute( cmd="\n", prompt="\$|>|#", timeout=10 )
+            self.execute( cmd="\n", prompt=self.prompt, timeout=10 )
+            self.execute( cmd="SET CYGWIN=notty", prompt=self.prompt, timeout=10 )
+            self.execute( cmd="\n", prompt=self.prompt, timeout=10 )
             main.log.info(
                 "ssh " +
                 self.vm_user_name +
@@ -68,8 +68,8 @@
                 self.vm_ip_address,
                 prompt="(.*)",
                 timeout=10 )
-            self.execute( cmd="\n", prompt="assword:", timeout=10 )
-            self.execute( cmd=self.vm_pwd, prompt="\$", timeout=10 )
+            self.execute( cmd="\n", prompt="password:", timeout=10 )
+            self.execute( cmd=self.vm_pwd, prompt=self.prompt, timeout=10 )
 
             return self.handle
         else:
diff --git a/TestON/drivers/common/cli/tool/dpctlclidriver.py b/TestON/drivers/common/cli/tool/dpctlclidriver.py
index 683f16e..bb12089 100644
--- a/TestON/drivers/common/cli/tool/dpctlclidriver.py
+++ b/TestON/drivers/common/cli/tool/dpctlclidriver.py
@@ -84,7 +84,7 @@
         cmd = cmd + tcpIP + ":" + tcpPort + " in_port=" + \
             str( args[ "INPORT" ] ) + ",idle_timeout=" + str(
                 args[ "TIMEOUT" ] ) + ",actions=" + args[ "ACTION" ]
-        response = self.execute( cmd=cmd, prompt="\~\$", timeout=60 )
+        response = self.execute( cmd=cmd, prompt="\~" + self.prompt, timeout=60 )
         if utilities.assert_matches( expect="openflow", actual=response, onpass="Flow Added Successfully", onfail="Adding Flow Failed!!!" ):
             return main.TRUE
         else:
diff --git a/TestON/drivers/common/cli/toolsdriver.py b/TestON/drivers/common/cli/toolsdriver.py
index c96cb4f..a8f5d39 100644
--- a/TestON/drivers/common/cli/toolsdriver.py
+++ b/TestON/drivers/common/cli/toolsdriver.py
@@ -31,4 +31,4 @@
     # The common functions for Tools included in toolsdriver
 
     def __init__( self ):
-        super( CLI, self ).__init__()
+        super( Tools, self ).__init__()
diff --git a/TestON/drivers/common/clidriver.py b/TestON/drivers/common/clidriver.py
index c9a19bb..f9b69bd 100644
--- a/TestON/drivers/common/clidriver.py
+++ b/TestON/drivers/common/clidriver.py
@@ -32,7 +32,12 @@
         This will define common functions for CLI included.
     """
     def __init__( self ):
-        super( Component, self ).__init__()
+        super( CLI, self ).__init__()
+    def checkPrompt(self):
+        for key in self.options:
+            if key == "prompt" and self.options['prompt'] is not None:
+                self.prompt = self.options['prompt']
+                break
 
     def connect( self, **connectargs ):
         """
@@ -42,6 +47,7 @@
         """
         for key in connectargs:
             vars( self )[ key ] = connectargs[ key ]
+        self.checkPrompt()
 
         connect_result = super( CLI, self ).connect()
         ssh_newkey = 'Are you sure you want to continue connecting'
@@ -80,7 +86,7 @@
                                     pexpect.TIMEOUT,
                                     refused,
                                     'teston>',
-                                    '>|#|\$' ],
+                                    self.prompt ],
                             120 )
             if i == 0:  # Accept key, then expect either a password prompt or access
                 main.log.info( "ssh key confirmation received, send yes" )
@@ -98,7 +104,7 @@
                     self.pwd = ""
                 self.handle.sendline( self.pwd )
                 j = self.handle.expect( [
-                                        '>|#|\$',
+                                        self.prompt,
                                         'password:|Password:',
                                         pexpect.EOF,
                                         pexpect.TIMEOUT ],
@@ -126,7 +132,7 @@
                 main.log.info( "Password not required logged in" )
 
         self.handle.sendline( "" )
-        self.handle.expect( '>|#|\$' )
+        self.handle.expect( self.prompt )
         return self.handle
 
     def disconnect( self ):
@@ -292,7 +298,7 @@
                                 refused,
                                 "No such file or directory",
                                 "Permission denied",
-                                "\$",
+                                self.prompt,
                                 pexpect.EOF,
                                 pexpect.TIMEOUT ],
                                 120 )
@@ -330,7 +336,7 @@
                     "@" +
                     ipAddress )
                 returnVal = main.FALSE
-        self.handle.expect( "\$" )
+        self.handle.expect( self.prompt )
         return returnVal
 
     def scp( self, remoteHost, filePath, dstPath, direction="from" ):
diff --git a/TestON/drivers/component.py b/TestON/drivers/component.py
index fc17d47..6021071 100644
--- a/TestON/drivers/component.py
+++ b/TestON/drivers/component.py
@@ -32,6 +32,7 @@
         self.default = ''
         self.wrapped = sys.modules[ __name__ ]
         self.count = 0
+        self.prompt = "\$"
 
     def __getattr__( self, name ):
         """
diff --git a/TestON/tests/CHO/CHOtest/CHOtest.topo b/TestON/tests/CHO/CHOtest/CHOtest.topo
index 01801e7..f2af17a 100644
--- a/TestON/tests/CHO/CHOtest/CHOtest.topo
+++ b/TestON/tests/CHO/CHOtest/CHOtest.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli1>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -25,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -34,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -43,7 +53,9 @@
             <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
     </COMPONENT>
diff --git a/TestON/tests/CHOTestMonkey/CHOTestMonkey.topo b/TestON/tests/CHOTestMonkey/CHOTestMonkey.topo
index 7c7cfd7..23ebde5 100644
--- a/TestON/tests/CHOTestMonkey/CHOTestMonkey.topo
+++ b/TestON/tests/CHOTestMonkey/CHOTestMonkey.topo
@@ -7,7 +7,9 @@
             <password></password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli1>
@@ -16,7 +18,11 @@
             <password></password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -25,7 +31,9 @@
             <password></password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -34,7 +42,9 @@
             <password></password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -43,7 +53,9 @@
             <password></password>
             <type>MininetCliDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
index e4a4567..81be490 100644
--- a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
+++ b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
@@ -76,7 +76,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        scapy_ip,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
@@ -589,7 +589,7 @@
         bgplsConfig.ipValue( ipList, scapy_ip )
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        scapy_ip,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         for i in range( 1, main.numCtrls + 1 ):
             try:
diff --git a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.topo b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.topo
index 17debe1..c59caec 100755
--- a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.topo
+++ b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOS1>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOSrest>
@@ -37,7 +44,9 @@
             <password>rocks</password>
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSrest>
 
        <Scapy1>
@@ -46,6 +55,9 @@
             <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>5</connect_order>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Scapy1>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCflow/FUNCflow.py b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
index 31b427c..0bb43aa 100644
--- a/TestON/tests/FUNC/FUNCflow/FUNCflow.py
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
@@ -120,7 +120,7 @@
                                        "temp",
                                        main.Mininet1.ip_address,
                                        main.apps,
-                                       tempOnosIp, main.ONOScli1.user_name )
+                                       tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCflow/FUNCflow.topo b/TestON/tests/FUNC/FUNCflow/FUNCflow.topo
index 50e5d63..01fd70d 100755
--- a/TestON/tests/FUNC/FUNCflow/FUNCflow.topo
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -28,7 +32,9 @@
             <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
         <ONOSrest>
@@ -39,6 +45,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest>
 
@@ -48,6 +55,9 @@
             <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>7</connect_order>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Scapy>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
index 29b2d2a..4c80ee0 100644
--- a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
+++ b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
@@ -137,7 +137,7 @@
                                        "temp",
                                        main.Mininet1.ip_address,
                                        main.apps,
-                                       tempOnosIp, main.ONOScli1.user_name )
+                                       tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.topo b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.topo
index 50e5d63..01fd70d 100644
--- a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.topo
+++ b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -28,7 +32,9 @@
             <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
         <ONOSrest>
@@ -39,6 +45,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest>
 
@@ -48,6 +55,9 @@
             <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>7</connect_order>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Scapy>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCintent/FUNCintent.py b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
index 8adb52a..cfca916 100644
--- a/TestON/tests/FUNC/FUNCintent/FUNCintent.py
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
@@ -161,7 +161,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCintent/FUNCintent.topo b/TestON/tests/FUNC/FUNCintent/FUNCintent.topo
index 500fc3c..7f0a7f7 100755
--- a/TestON/tests/FUNC/FUNCintent/FUNCintent.topo
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -18,7 +19,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -27,7 +32,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
          <ONOScli3>
@@ -36,7 +43,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -47,6 +56,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -56,6 +66,9 @@
             <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>6</connect_order>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Scapy1>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
index 8ea8d0d..e1d26b0 100644
--- a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
+++ b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
@@ -182,7 +182,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
index d50c434..7701bee 100755
--- a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
+++ b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,7 @@
             <type>OnosRestDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -30,6 +32,7 @@
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -41,6 +44,7 @@
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -50,7 +54,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -59,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
          <ONOScli3>
@@ -68,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -79,6 +91,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -88,6 +101,9 @@
             <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>6</connect_order>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Scapy1>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
index 94f64ce..148f52d 100644
--- a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
+++ b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
@@ -138,7 +138,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
index 3e9369f..908d628 100755
--- a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
+++ b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
@@ -8,6 +8,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>5</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
          <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
          <ONOScli4>
@@ -44,7 +53,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
          <ONOScli5>
@@ -53,7 +64,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -63,7 +76,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <Mininet1>
@@ -74,6 +89,7 @@
             <connect_order>8</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
index 7c8bf3b..f09aec5 100644
--- a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
@@ -130,7 +130,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
index 591e2cd..72200a6 100755
--- a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -18,6 +19,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -28,6 +32,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -38,6 +43,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -49,6 +55,7 @@
             <type>OnosRestDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -60,6 +67,7 @@
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -71,6 +79,7 @@
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -80,7 +89,9 @@
             <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
index 1b22c2f..09867a3 100644
--- a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
+++ b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
@@ -163,7 +163,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
index e027146..57676b1 100644
--- a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
+++ b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,6 +21,7 @@
             <type>OnosRestDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -31,6 +33,7 @@
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -42,6 +45,7 @@
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -51,7 +55,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -60,7 +68,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
          <ONOScli3>
@@ -69,7 +79,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -80,6 +92,7 @@
             <connect_order>8</connect_order>
             <COMPONENTS>
                 <home>~/mininet/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
index 1e68327..c2a3483 100644
--- a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
+++ b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
@@ -123,7 +123,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
index c8037cd..72629b9 100755
--- a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
+++ b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -18,7 +19,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -27,7 +32,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
          <ONOScli3>
@@ -36,7 +43,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <Mininet1>
@@ -47,6 +56,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -57,6 +67,7 @@
             <type>LincOEMininetDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </LincOE>
 
diff --git a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
index e40a0e8..0737e63 100644
--- a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
@@ -94,7 +94,7 @@
         main.step( "Create cell file" )
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.OVSDB1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
index bde73ff..b669d4f 100644
--- a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOS1>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOSrest>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSrest>
 
         <OVSDB1>
@@ -44,7 +53,9 @@
             <password>rocks</password>
             <type>OvsdbDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </OVSDB1>
 
         <OVSDB2>
@@ -53,7 +64,9 @@
             <password>rocks</password>
             <type>OvsdbDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </OVSDB2>
 
     </COMPONENT>
diff --git a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
index 499aa77..7734bdd 100644
--- a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
+++ b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
@@ -64,7 +64,7 @@
         cellAppString = main.params[ 'ENV' ][ 'cellApps' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
index 72a1b61..ba44745 100644
--- a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
+++ b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOS1>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOSrest>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSrest>
 
         <Mininet1>
@@ -46,6 +55,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <controller> none </controller>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
index 83115b9..ce378d2 100644
--- a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
@@ -113,7 +113,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
index 6a8283f..91f8828 100644
--- a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
@@ -115,7 +115,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAkillNodes/HAkillNodes.py b/TestON/tests/HA/HAkillNodes/HAkillNodes.py
index 31bab52..31cd950 100644
--- a/TestON/tests/HA/HAkillNodes/HAkillNodes.py
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.py
@@ -115,7 +115,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/HA/HAkillNodes/HAkillNodes.topo b/TestON/tests/HA/HAkillNodes/HAkillNodes.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAkillNodes/HAkillNodes.topo
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAsanity/HAsanity.py b/TestON/tests/HA/HAsanity/HAsanity.py
index 52f0b49..84ec22a 100644
--- a/TestON/tests/HA/HAsanity/HAsanity.py
+++ b/TestON/tests/HA/HAsanity/HAsanity.py
@@ -114,7 +114,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/HA/HAsanity/HAsanity.topo b/TestON/tests/HA/HAsanity/HAsanity.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAsanity/HAsanity.topo
+++ b/TestON/tests/HA/HAsanity/HAsanity.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAscaling/HAscaling.py b/TestON/tests/HA/HAscaling/HAscaling.py
index 6e13d85..4bcf77a 100644
--- a/TestON/tests/HA/HAscaling/HAscaling.py
+++ b/TestON/tests/HA/HAscaling/HAscaling.py
@@ -98,7 +98,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/HA/HAscaling/HAscaling.topo b/TestON/tests/HA/HAscaling/HAscaling.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAscaling/HAscaling.topo
+++ b/TestON/tests/HA/HAscaling/HAscaling.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
index 42d88fe..4e27dbd 100644
--- a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
@@ -90,7 +90,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
@@ -165,7 +165,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, "SingleHA",
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList[ 0 ], main.ONOScli1.user_name )
+                                       cellAppString, ipList[ 0 ], main.ONOScli1.karafUser )
         cellResult = main.ONOSbench.setCell( "SingleHA" )
         verifyResult = main.ONOSbench.verifyCell()
         main.step( "Creating ONOS package" )
diff --git a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAstopNodes/HAstopNodes.py b/TestON/tests/HA/HAstopNodes/HAstopNodes.py
index 6b86378..f0a0518 100644
--- a/TestON/tests/HA/HAstopNodes/HAstopNodes.py
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.py
@@ -115,7 +115,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/HA/HAstopNodes/HAstopNodes.topo b/TestON/tests/HA/HAstopNodes/HAstopNodes.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAstopNodes/HAstopNodes.topo
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/HA/HAswapNodes/HAswapNodes.py b/TestON/tests/HA/HAswapNodes/HAswapNodes.py
index 0811287..6da29fe 100644
--- a/TestON/tests/HA/HAswapNodes/HAswapNodes.py
+++ b/TestON/tests/HA/HAswapNodes/HAswapNodes.py
@@ -98,7 +98,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/HA/HAswapNodes/HAswapNodes.topo b/TestON/tests/HA/HAswapNodes/HAswapNodes.topo
index 81cf47a..7c18a98 100644
--- a/TestON/tests/HA/HAswapNodes/HAswapNodes.topo
+++ b/TestON/tests/HA/HAswapNodes/HAswapNodes.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -17,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -26,7 +31,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -35,7 +42,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
 
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
 
@@ -55,7 +66,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
 
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
 
@@ -75,7 +90,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -84,7 +101,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -93,7 +112,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -102,7 +123,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -111,7 +134,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
         <Mininet1>
@@ -154,6 +185,7 @@
                 <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
                 <controller> none </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -164,6 +196,7 @@
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet2>
 
diff --git a/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.py b/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.py
index 70bad52..d2a55bb 100644
--- a/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.py
+++ b/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.py
@@ -95,7 +95,7 @@
             main.step( "Create onos cell file with: " + main.apps )
             main.ONOSbench.createCellFile( main.ONOSbench.ip_address, "temp",
                                            main.Mininet1.ip_address, main.apps,
-                                           tempOnosIp, main.ONOScli1.user_name )
+                                           tempOnosIp, main.ONOScli1.karafUser )
 
             main.step( "Apply cell to environment" )
             cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.topo b/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.topo
index 0237cda..3deb271 100755
--- a/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.topo
+++ b/TestON/tests/MISC/SCPFbatchFlowResp/SCPFbatchFlowResp.topo
@@ -8,6 +8,7 @@
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -18,6 +19,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -27,7 +31,9 @@
             <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </Mininet1>
 
         <ONOSrest>
@@ -38,6 +44,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest>
 
diff --git a/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
index f6d50ae..7056b66 100755
--- a/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
+++ b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
@@ -7,6 +7,9 @@
             <type>OnosCliDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbenchCli>
 
@@ -18,6 +21,7 @@
             <type>OnosRestDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbenchRest>
 
@@ -28,6 +32,7 @@
             <type>DockerApiDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbenchDocker>
 
@@ -39,6 +44,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.py b/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.py
index a0e3e7b..96ac3d8 100644
--- a/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.py
+++ b/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.py
@@ -98,7 +98,7 @@
         main.case( "Start up " + str( main.numCtrls ) + "-node onos cluster.")
         main.step( "Start ONOS cluster with basic (drivers) app.")
         stepResult = main.ONOSbench.startBasicONOS( nodeList=main.ONOSip, opSleep=200,
-                                                    onosUser=main.ONOScli1.user_name )
+                                                    onosUser=main.ONOScli1.karafUser )
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
                                  onpass="Successfully started basic ONOS cluster ",
diff --git a/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.topo b/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.topo
index cda1ed6..3cea19b 100755
--- a/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.topo
+++ b/TestON/tests/SAMP/SAMPstartTemplate_1node/SAMPstartTemplate_1node.topo
@@ -13,6 +13,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home></home> #defines where onos home is
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -23,6 +24,7 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -34,6 +36,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -45,6 +48,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
diff --git a/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.py b/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.py
index ba9a3cc..8d8faed 100644
--- a/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.py
+++ b/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.py
@@ -97,7 +97,8 @@
 
         main.case( "Start up " + str( main.numCtrls ) + "-node onos cluster.")
         main.step( "Start ONOS cluster with basic (drivers) app.")
-        stepResult = main.ONOSbench.startBasicONOS( nodeList=main.ONOSip, opSleep=200 )
+        stepResult = main.ONOSbench.startBasicONOS( nodeList=main.ONOSip, opSleep=200,
+                                                    onosUser=main.ONOScli1.karafUser )
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
                                  onpass="Successfully started basic ONOS cluster ",
diff --git a/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.topo b/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.topo
index 367633b..9d8298e 100755
--- a/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.topo
+++ b/TestON/tests/SAMP/SAMPstartTemplate_3node/SAMPstartTemplate_3node.topo
@@ -13,6 +13,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home></home> #defines where onos home is
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -23,6 +24,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -33,6 +37,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -43,6 +48,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -65,6 +71,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -76,6 +83,7 @@
             <type>OnosRestDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -87,6 +95,7 @@
             <type>OnosRestDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
diff --git a/TestON/tests/SCPF/SCPFcbench/SCPFcbench.py b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.py
index bd14c72..9de1993 100644
--- a/TestON/tests/SCPF/SCPFcbench/SCPFcbench.py
+++ b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.py
@@ -88,7 +88,7 @@
 
         print "Cellname is: "+ cellName + "ONOS IP is: " + str(ONOSIp)
         main.ONOSbench.createCellFile(BENCHIp, cellName, MN1Ip,
-                                      cellApps, [ONOSIp[1]], main.ONOScli1.user_name)
+                                      cellApps, [ONOSIp[1]], main.ONOScli1.karafUser)
 
         main.step( "Set Cell" )
         main.ONOSbench.setCell(cellName)
diff --git a/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
index 4f3b35c..ebd5fd4 100644
--- a/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
+++ b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
@@ -11,6 +11,7 @@
             <COMPONENTS>
                 <home>~/onos</home>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,9 +21,10 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
-
     </COMPONENT>
 
 </TOPOLOGY>
diff --git a/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py
index 369cb43..af88ab5 100644
--- a/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py
+++ b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py
@@ -99,7 +99,7 @@
             cellIp.append(ONOSIp[node])
 
         main.ONOSbench.createCellFile(BENCHIp, cellName, "localhost",
-                                      str(Apps), cellIp, main.ONOScli1.user_name)
+                                      str(Apps), cellIp, main.ONOScli1.karafUser)
         main.log.info("Cell Ip list: " + str(cellIp))
 
         main.step( "Set Cell" )
diff --git a/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
index 418f218..2e274da 100644
--- a/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
+++ b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
@@ -11,6 +11,7 @@
             <COMPONENTS>
                 <home>~/onos</home>
                 <nodes>7</nodes> 
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -92,7 +111,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -101,7 +122,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -110,7 +133,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
     
         <ONOS5>
@@ -119,7 +144,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -128,7 +155,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -137,7 +166,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
     </COMPONENT>
diff --git a/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py
index bfbe95d..e3af24a 100644
--- a/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py
+++ b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py
@@ -122,7 +122,7 @@
                                        main.Mininet1.ip_address,
                                        main.apps,
                                        tempOnosIp,
-                                       main.ONOScli1.user_name )
+                                       main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
index 615e957..74e1277 100644
--- a/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
+++ b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
@@ -11,6 +11,7 @@
             <COMPONENTS>
                 <home>~/onos</home>
                 <nodes>7</nodes> 
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <Mininet1>
@@ -93,6 +112,7 @@
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
@@ -103,8 +123,9 @@
             <password>rocks</password>
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENT>
-            </COMPONENT>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSrest1>
 
     </COMPONENT>
diff --git a/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py
index d5a2b4d..f71d2e5 100644
--- a/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py
+++ b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py
@@ -121,7 +121,7 @@
                                       main.MN1Ip,
                                       main.Apps,
                                       main.ONOSip,
-                                      main.ONOScli1.user_name )
+                                      main.ONOScli1.karafUser )
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( main.cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
index f375c84..acafd82 100644
--- a/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
+++ b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
@@ -11,6 +11,7 @@
             <COMPONENTS>
                 <home>~/onos</home>
                 <nodes>7</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -92,7 +111,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -101,7 +122,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -110,7 +133,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
         <ONOS5>
@@ -119,7 +144,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -128,7 +155,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -137,7 +166,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
     </COMPONENT>
diff --git a/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
index dd49dc0..345bd44 100644
--- a/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
@@ -120,7 +120,7 @@
                                       main.MN1Ip,
                                       main.apps,
                                       main.ONOSip,
-                                      main.ONOScli1.user_name )
+                                      main.ONOScli1.karafUser )
         main.step("Apply cell to environment")
         cellResult = main.ONOSbench.setCell(main.cellName)
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
index 226657f..236d55d 100644
--- a/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
@@ -10,7 +10,8 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home>~/onos</home>
-                <nodes>7</nodes> 
+                <nodes>7</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -92,7 +111,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -101,7 +122,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -110,7 +133,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
     
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
     </COMPONENT>
diff --git a/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py
index ab64f23..3ef9be8 100644
--- a/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py
+++ b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py
@@ -143,7 +143,7 @@
                                       main.MN1Ip,
                                       main.apps,
                                       main.ONOSip,
-                                      main.ONOScli1.user_name)
+                                      main.ONOScli1.karafUser)
         main.step("Apply cell to environment")
         cellResult = main.ONOSbench.setCell(main.cellName)
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
index 226657f..dfe92bc 100644
--- a/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
+++ b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
@@ -11,6 +11,7 @@
             <COMPONENTS>
                 <home>~/onos</home>
                 <nodes>7</nodes> 
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -92,7 +111,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -101,7 +122,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOS4>
@@ -110,7 +133,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS4>
 
     
@@ -120,7 +145,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS5>
 
         <ONOS6>
@@ -129,7 +156,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS6>
 
         <ONOS7>
@@ -138,7 +167,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS7>
 
     </COMPONENT>
diff --git a/TestON/tests/SCPF/SCPFportLat/SCPFportLat.py b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.py
index 951fe83..24e8e60 100644
--- a/TestON/tests/SCPF/SCPFportLat/SCPFportLat.py
+++ b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.py
@@ -124,7 +124,7 @@
                                       main.MN1Ip,
                                       main.Apps,
                                       main.ONOSip,
-                                      main.ONOScli1.user_name)
+                                      main.ONOScli1.karafUser)
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( main.cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
index 750cd78..c840e11 100644
--- a/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
+++ b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
@@ -10,7 +10,8 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home>~/onos</home>
-                <nodes>7</nodes> 
+                <nodes>7</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <Mininet1>
@@ -88,6 +105,7 @@
                 <arg2> --topo mytopo</arg2>
                 <arg3> --switch ovsk,protocols=OpenFlow13</arg3>
                 <controller> remote </controller>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py
index 5fd051c..32bd302 100644
--- a/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py
+++ b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py
@@ -163,7 +163,7 @@
 
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
                                        "temp", main.Mininet1.ip_address,
-                                       main.apps, tempOnosIp, main.ONOScli1.user_name )
+                                       main.apps, tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
index a47522d..36476f8 100755
--- a/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
+++ b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>3</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
index 3d46cc8..5a81c23 100644
--- a/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
@@ -145,7 +145,7 @@
                                        "temp",
                                        main.Mininet1.ip_address,
                                        main.apps,
-                                       tempOnosIp, main.ONOScli1.user_name )
+                                       tempOnosIp, main.ONOScli1.karafUser )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
index 8e58be7..cb54fe8 100755
--- a/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
@@ -10,7 +10,8 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home>~/onos</home>
-                <nodes>7</nodes> 
+                <nodes>7</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -22,6 +23,7 @@
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
         <ONOScli1>
@@ -30,7 +32,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -39,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -48,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -57,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -66,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -75,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -84,7 +100,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <Mininet1>
@@ -94,6 +112,7 @@
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
index 9f7ba70..6a5731d 100644
--- a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
@@ -126,7 +126,7 @@
                                       main.cellName,
                                       main.MN1Ip,
                                       main.Apps,
-                                      main.ONOSip, main.ONOScli1.user_name)
+                                      main.ONOSip, main.ONOScli1.karafUser)
         main.step("Apply cell to environment")
         cellResult = main.ONOSbench.setCell(main.cellName)
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
index 8373f13..7b01b63 100644
--- a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
@@ -10,7 +10,8 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home>~/onos</home>
-                <nodes>7</nodes> 
+                <nodes>7</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -20,7 +21,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -29,7 +34,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -38,7 +45,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOScli4>
@@ -47,7 +56,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli4>
 
         <ONOScli5>
@@ -56,7 +67,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli5>
 
         <ONOScli6>
@@ -65,7 +78,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli6>
 
         <ONOScli7>
@@ -74,7 +89,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli7>
 
         <ONOS1>
@@ -83,7 +100,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <Mininet1>
@@ -98,6 +117,7 @@
                 <arg3> --switch ovsk,protocols=OpenFlow13</arg3>
                 <controller> remote </controller>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
index ddac5d7..21cbfb4 100644
--- a/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
+++ b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli>
 
         <ONOS1>
@@ -25,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <QuaggaCliHost3>
@@ -34,23 +42,31 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost3>
+
         <QuaggaCliHost4>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost4>
+
         <QuaggaCliHost5>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost5>
 
         <QuaggaCliHost>
@@ -59,7 +75,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost>
 
         <QuaggaCliHost101>
@@ -68,55 +86,75 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>101</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost101>
+
         <QuaggaCliHost102>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>102</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost102>
+
         <QuaggaCliHost103>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>103</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost103>
+
         <QuaggaCliHost104>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>104</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost104>
+
         <QuaggaCliHost105>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>105</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost105>
+
         <QuaggaCliHost106>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>106</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost106>
+
         <QuaggaCliHost107>
             <host>127.0.0.1</host>
             <user>sdn</user>
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>107</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost107>
         <QuaggaCliHost108>
             <host>127.0.0.1</host>
@@ -124,7 +162,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>108</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost108>
         <QuaggaCliHost109>
             <host>127.0.0.1</host>
@@ -132,7 +172,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>109</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost109>
         <QuaggaCliHost110>
             <host>127.0.0.1</host>
@@ -140,7 +182,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>110</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost110>
         <QuaggaCliHost111>
             <host>127.0.0.1</host>
@@ -148,7 +192,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>111</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost111>
         <QuaggaCliHost112>
             <host>127.0.0.1</host>
@@ -156,7 +202,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>112</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost112>
         <QuaggaCliHost113>
             <host>127.0.0.1</host>
@@ -164,7 +212,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>113</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost113>
         <QuaggaCliHost114>
             <host>127.0.0.1</host>
@@ -172,7 +222,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>114</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost114>
         <QuaggaCliHost115>
             <host>127.0.0.1</host>
@@ -180,7 +232,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>115</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost115>
         <QuaggaCliHost116>
             <host>127.0.0.1</host>
@@ -188,7 +242,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>116</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost116>
         <QuaggaCliHost117>
             <host>127.0.0.1</host>
@@ -196,7 +252,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>117</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost117>
         <QuaggaCliHost118>
             <host>127.0.0.1</host>
@@ -204,7 +262,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>118</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost118>
         <QuaggaCliHost119>
             <host>127.0.0.1</host>
@@ -212,7 +272,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>119</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost119>
         <QuaggaCliHost120>
             <host>127.0.0.1</host>
@@ -220,7 +282,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>120</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost120>
         <QuaggaCliHost121>
             <host>127.0.0.1</host>
@@ -228,7 +292,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>121</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost121>
         <QuaggaCliHost122>
             <host>127.0.0.1</host>
@@ -236,7 +302,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>122</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost122>
         <QuaggaCliHost123>
             <host>127.0.0.1</host>
@@ -244,7 +312,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>123</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost123>
         <QuaggaCliHost124>
             <host>127.0.0.1</host>
@@ -252,7 +322,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>124</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost124>
         <QuaggaCliHost125>
             <host>127.0.0.1</host>
@@ -260,7 +332,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>125</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost125>
         <QuaggaCliHost126>
             <host>127.0.0.1</host>
@@ -268,7 +342,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>126</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost126>
         <QuaggaCliHost127>
             <host>127.0.0.1</host>
@@ -276,7 +352,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>127</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost127>
         <QuaggaCliHost128>
             <host>127.0.0.1</host>
@@ -284,7 +362,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>128</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost128>
         <QuaggaCliHost129>
             <host>127.0.0.1</host>
@@ -292,7 +372,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>129</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost129>
         <QuaggaCliHost130>
             <host>127.0.0.1</host>
@@ -300,7 +382,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>130</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost130>
         <QuaggaCliHost131>
             <host>127.0.0.1</host>
@@ -308,7 +392,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>131</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost131>
         <QuaggaCliHost132>
             <host>127.0.0.1</host>
@@ -316,7 +402,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>132</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost132>
         <QuaggaCliHost133>
             <host>127.0.0.1</host>
@@ -324,7 +412,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>133</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost133>
         <QuaggaCliHost134>
             <host>127.0.0.1</host>
@@ -332,7 +422,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>134</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost134>
         <QuaggaCliHost135>
             <host>127.0.0.1</host>
@@ -340,7 +432,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>135</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost135>
         <QuaggaCliHost136>
             <host>127.0.0.1</host>
@@ -348,7 +442,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>136</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost136>
         <QuaggaCliHost137>
             <host>127.0.0.1</host>
@@ -356,7 +452,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>137</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost137>
         <QuaggaCliHost138>
             <host>127.0.0.1</host>
@@ -364,7 +462,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>138</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost138>
         <QuaggaCliHost139>
             <host>127.0.0.1</host>
@@ -372,7 +472,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>139</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost139>
         <QuaggaCliHost140>
             <host>127.0.0.1</host>
@@ -380,7 +482,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>140</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost140>
         <QuaggaCliHost141>
             <host>127.0.0.1</host>
@@ -388,7 +492,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>141</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost141>
         <QuaggaCliHost142>
             <host>127.0.0.1</host>
@@ -396,7 +502,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>142</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost142>
         <QuaggaCliHost143>
             <host>127.0.0.1</host>
@@ -404,7 +512,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>143</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost143>
         <QuaggaCliHost144>
             <host>127.0.0.1</host>
@@ -412,7 +522,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>144</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost144>
         <QuaggaCliHost145>
             <host>127.0.0.1</host>
@@ -420,7 +532,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>145</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost145>
         <QuaggaCliHost146>
             <host>127.0.0.1</host>
@@ -428,7 +542,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>146</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost146>
         <QuaggaCliHost147>
             <host>127.0.0.1</host>
@@ -436,7 +552,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>147</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost147>
         <QuaggaCliHost148>
             <host>127.0.0.1</host>
@@ -444,7 +562,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>148</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost148>
         <QuaggaCliHost149>
             <host>127.0.0.1</host>
@@ -452,7 +572,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>149</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost149>
         <QuaggaCliHost150>
             <host>127.0.0.1</host>
@@ -460,7 +582,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>150</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost150>
         <QuaggaCliHost151>
             <host>127.0.0.1</host>
@@ -468,7 +592,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>151</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost151>
         <QuaggaCliHost152>
             <host>127.0.0.1</host>
@@ -476,7 +602,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>152</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost152>
         <QuaggaCliHost153>
             <host>127.0.0.1</host>
@@ -484,7 +612,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>153</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost153>
         <QuaggaCliHost154>
             <host>127.0.0.1</host>
@@ -492,7 +622,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>154</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost154>
         <QuaggaCliHost155>
             <host>127.0.0.1</host>
@@ -500,7 +632,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>155</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost155>
         <QuaggaCliHost156>
             <host>127.0.0.1</host>
@@ -508,7 +642,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>156</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost156>
         <QuaggaCliHost157>
             <host>127.0.0.1</host>
@@ -516,7 +652,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>157</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost157>
         <QuaggaCliHost158>
             <host>127.0.0.1</host>
@@ -524,7 +662,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>158</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost158>
         <QuaggaCliHost159>
             <host>127.0.0.1</host>
@@ -532,7 +672,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>159</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost159>
         <QuaggaCliHost160>
             <host>127.0.0.1</host>
@@ -540,7 +682,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>160</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost160>
         <QuaggaCliHost161>
             <host>127.0.0.1</host>
@@ -548,7 +692,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>161</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost161>
         <QuaggaCliHost162>
             <host>127.0.0.1</host>
@@ -556,7 +702,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>162</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost162>
         <QuaggaCliHost163>
             <host>127.0.0.1</host>
@@ -564,7 +712,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>163</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost163>
         <QuaggaCliHost164>
             <host>127.0.0.1</host>
@@ -572,7 +722,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>164</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost164>
         <QuaggaCliHost165>
             <host>127.0.0.1</host>
@@ -580,7 +732,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>165</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost165>
         <QuaggaCliHost166>
             <host>127.0.0.1</host>
@@ -588,7 +742,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>166</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost166>
         <QuaggaCliHost167>
             <host>127.0.0.1</host>
@@ -596,7 +752,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>167</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost167>
         <QuaggaCliHost168>
             <host>127.0.0.1</host>
@@ -604,7 +762,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>168</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost168>
         <QuaggaCliHost169>
             <host>127.0.0.1</host>
@@ -612,7 +772,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>169</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost169>
         <QuaggaCliHost170>
             <host>127.0.0.1</host>
@@ -620,7 +782,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>170</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost170>
         <QuaggaCliHost171>
             <host>127.0.0.1</host>
@@ -628,7 +792,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>171</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost171>
         <QuaggaCliHost172>
             <host>127.0.0.1</host>
@@ -636,7 +802,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>172</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost172>
         <QuaggaCliHost173>
             <host>127.0.0.1</host>
@@ -644,7 +812,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>173</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost173>
         <QuaggaCliHost174>
             <host>127.0.0.1</host>
@@ -652,7 +822,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>174</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost174>
         <QuaggaCliHost175>
             <host>127.0.0.1</host>
@@ -660,7 +832,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>175</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost175>
         <QuaggaCliHost176>
             <host>127.0.0.1</host>
@@ -668,7 +842,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>176</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost176>
         <QuaggaCliHost177>
             <host>127.0.0.1</host>
@@ -676,7 +852,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>177</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost177>
         <QuaggaCliHost178>
             <host>127.0.0.1</host>
@@ -684,7 +862,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>178</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost178>
         <QuaggaCliHost179>
             <host>127.0.0.1</host>
@@ -692,7 +872,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>179</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost179>
         <QuaggaCliHost180>
             <host>127.0.0.1</host>
@@ -700,7 +882,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>180</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost180>
         <QuaggaCliHost181>
             <host>127.0.0.1</host>
@@ -708,7 +892,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>181</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost181>
         <QuaggaCliHost182>
             <host>127.0.0.1</host>
@@ -716,7 +902,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>182</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost182>
         <QuaggaCliHost183>
             <host>127.0.0.1</host>
@@ -724,7 +912,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>183</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost183>
         <QuaggaCliHost184>
             <host>127.0.0.1</host>
@@ -732,7 +922,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>184</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost184>
         <QuaggaCliHost185>
             <host>127.0.0.1</host>
@@ -740,7 +932,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>185</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost185>
         <QuaggaCliHost186>
             <host>127.0.0.1</host>
@@ -748,7 +942,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>186</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost186>
         <QuaggaCliHost187>
             <host>127.0.0.1</host>
@@ -756,7 +952,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>187</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost187>
         <QuaggaCliHost188>
             <host>127.0.0.1</host>
@@ -764,7 +962,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>188</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost188>
         <QuaggaCliHost189>
             <host>127.0.0.1</host>
@@ -772,7 +972,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>189</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost189>
         <QuaggaCliHost190>
             <host>127.0.0.1</host>
@@ -780,7 +982,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>190</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost190>
         <QuaggaCliHost191>
             <host>127.0.0.1</host>
@@ -788,7 +992,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>191</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost191>
         <QuaggaCliHost192>
             <host>127.0.0.1</host>
@@ -796,7 +1002,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>192</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost192>
         <QuaggaCliHost193>
             <host>127.0.0.1</host>
@@ -804,7 +1012,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>193</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost193>
 
         <QuaggaCliHost194>
@@ -813,7 +1023,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>194</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost194>
         <QuaggaCliHost195>
             <host>127.0.0.1</host>
@@ -821,7 +1033,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>195</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost195>
         <QuaggaCliHost196>
             <host>127.0.0.1</host>
@@ -829,7 +1043,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>196</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost196>
         <QuaggaCliHost197>
             <host>127.0.0.1</host>
@@ -837,7 +1053,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>197</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost197>
         <QuaggaCliHost198>
             <host>127.0.0.1</host>
@@ -845,7 +1063,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>198</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost198>
         <QuaggaCliHost199>
             <host>127.0.0.1</host>
@@ -853,7 +1073,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>199</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost199>
         <QuaggaCliHost200>
             <host>127.0.0.1</host>
@@ -861,7 +1083,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>200</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliHost200>
 
 
diff --git a/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
index 828c7e9..8706d85 100644
--- a/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
+++ b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli>
 
         <ONOS1>
@@ -25,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
     </COMPONENT>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.topo b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.topo
index c531f7d..5ad1b13 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRClusterRestart/SRClusterRestart.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
         
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.topo b/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.topo
index c531f7d..5ad1b13 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRDynamic/SRDynamic.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
         
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.topo b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.topo
index bf9b6be..e0328c2 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRHighAvailability/SRHighAvailability.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.topo b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.topo
index 2d69c35..f63a8c2 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRLinkFailure/SRLinkFailure.topo
@@ -19,6 +19,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -29,6 +32,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +43,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +55,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +67,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +79,7 @@
             <type>OnosRestDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +91,7 @@
             <connect_order>8</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.topo b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.topo
index c531f7d..5ad1b13 100755
--- a/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SROnosFailure/SROnosFailure.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
         
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.topo b/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.topo
index c531f7d..5ad1b13 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRSanity/SRSanity.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
         
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.topo b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.topo
index 2d69c35..04f480a 100755
--- a/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRSwitchFailure/SRSwitchFailure.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -19,6 +20,9 @@
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli1>
 
@@ -29,6 +33,7 @@
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli2>
 
@@ -39,6 +44,7 @@
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOScli3>
 
@@ -50,6 +56,7 @@
             <type>OnosRestDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -61,6 +68,7 @@
             <type>OnosRestDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -72,6 +80,7 @@
             <type>OnosRestDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -83,6 +92,7 @@
             <connect_order>8</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py
index 983ac75..fbbdee8 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py
@@ -91,7 +91,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
index 01be5af..b0f884b 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli>
 
         <ONOS1>
@@ -25,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <QuaggaCliSpeaker1>
@@ -34,7 +42,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliSpeaker1>
 
         <Mininet>
@@ -45,6 +55,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/Mininet/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet>
 
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
index 74b378f..c96fa40 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
@@ -89,7 +89,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
index 0daf513..a666721 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli1>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
         <ONOScli2>
             <host>127.0.0.1</host>
@@ -24,7 +30,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
         <ONOScli3>
             <host>127.0.0.1</host>
@@ -32,7 +40,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <QuaggaCliSpeaker1>
@@ -41,7 +51,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliSpeaker1>
 
         <Mininet>
@@ -52,6 +64,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/Mininet/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet>
 
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
index da4269a..5197ba6 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
@@ -94,7 +94,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
index 2dbca1d..b8727e1 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli1>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
         <ONOScli2>
             <host>127.0.0.1</host>
@@ -24,7 +30,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -33,7 +41,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <QuaggaCliSpeaker1>
@@ -42,7 +52,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliSpeaker1>
 
         <Mininet>
@@ -53,6 +65,7 @@
             <connect_order>6</connect_order>
             <COMPONENTS>
                 <home>~/Mininet/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet>
 
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
index 52f96d6..da38107 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
@@ -103,7 +103,7 @@
         cellAppString = main.params[ 'ENV' ][ 'appString' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
 
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
diff --git a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
index 9ba2e9e..9f2ed34 100644
--- a/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
@@ -7,7 +7,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOSbench>
 
         <ONOScli1>
@@ -16,7 +18,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOS1>
@@ -25,7 +31,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <QuaggaCliSpeaker1>
@@ -34,7 +42,9 @@
             <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </QuaggaCliSpeaker1>
 
         <Mininet>
@@ -45,6 +55,7 @@
             <connect_order>5</connect_order>
             <COMPONENTS>
                 <home>~/Mininet/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet>
 
diff --git a/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.py b/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.py
index 5a5d089..62889c9 100644
--- a/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.py
+++ b/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.py
@@ -58,7 +58,7 @@
         cellAppString = main.params[ 'ENV' ][ 'cellApps' ]
         main.ONOSbench.createCellFile( main.ONOSbench.ip_address, cellName,
                                        main.Mininet1.ip_address,
-                                       cellAppString, ipList, main.ONOScli1.user_name )
+                                       cellAppString, ipList, main.ONOScli1.karafUser )
         main.step( "Applying cell variable to environment" )
         cellResult = main.ONOSbench.setCell( cellName )
         verifyResult = main.ONOSbench.verifyCell()
diff --git a/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.topo b/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.topo
index e9a1f8e..476d986 100755
--- a/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.topo
+++ b/TestON/tests/USECASE/VPLS/VPLSBasic/VPLSBasic.topo
@@ -9,6 +9,7 @@
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <nodes>1</nodes>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSbench>
 
@@ -18,7 +19,11 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <karaf_username></karaf_username>
+                <karaf_password></karaf_password>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli1>
 
         <ONOScli2>
@@ -27,7 +32,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli2>
 
         <ONOScli3>
@@ -36,7 +43,9 @@
             <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOScli3>
 
         <ONOS1>
@@ -45,7 +54,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS1>
 
         <ONOS2>
@@ -54,7 +65,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS2>
 
         <ONOS3>
@@ -63,7 +76,9 @@
             <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
+            <COMPONENTS>
+                <prompt></prompt>
+            </COMPONENTS>
         </ONOS3>
 
         <ONOSrest1>
@@ -74,6 +89,7 @@
             <type>OnosRestDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest1>
 
@@ -85,6 +101,7 @@
             <type>OnosRestDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest2>
 
@@ -96,6 +113,7 @@
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
+                <prompt></prompt>
             </COMPONENTS>
         </ONOSrest3>
 
@@ -108,6 +126,7 @@
             <connect_order>7</connect_order>
             <COMPONENTS>
                 <home>~/mininet/custom/</home>
+                <prompt></prompt>
             </COMPONENTS>
         </Mininet1>
 
