diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index 416ecf2..06a1a48 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -778,7 +778,7 @@
             main.log.exception( self.name + ": Uncaught exception!" )
             main.cleanAndExit()
 
-    def devices( self, jsonFormat=True ):
+    def devices( self, jsonFormat=True, timeout=30 ):
         """
         Lists all infrastructure devices or switches
         Optional argument:
@@ -788,7 +788,7 @@
             cmdStr = "devices"
             if jsonFormat:
                 cmdStr += " -j"
-            handle = self.sendline( cmdStr )
+            handle = self.sendline( cmdStr, timeout=timeout )
             assert handle is not None, "Error in sendline"
             assert "Command not found:" not in handle, handle
             return handle
@@ -936,7 +936,7 @@
             main.log.exception( self.name + ": Uncaught exception!" )
             main.cleanAndExit()
 
-    def ports( self, jsonFormat=True ):
+    def ports( self, jsonFormat=True, timeout=30 ):
         """
         Lists all ports
         Optional argument:
@@ -946,7 +946,7 @@
             cmdStr = "ports"
             if jsonFormat:
                 cmdStr += " -j"
-            handle = self.sendline( cmdStr )
+            handle = self.sendline( cmdStr, timeout=timeout )
             assert handle is not None, "Error in sendline"
             assert "Command not found:" not in handle, handle
             return handle
diff --git a/TestON/tests/dependencies/ONOSSetup.py b/TestON/tests/dependencies/ONOSSetup.py
index fc6ceab..03328e7 100644
--- a/TestON/tests/dependencies/ONOSSetup.py
+++ b/TestON/tests/dependencies/ONOSSetup.py
@@ -416,7 +416,7 @@
         main.step( "Checking ONOS nodes" )
         stepResult = utilities.retry( main.Cluster.nodesCheck,
                                       False,
-                                      attempts=9 )
+                                      attempts=90 )
 
         utilities.assert_equals( expect=True,
                                  actual=stepResult,
@@ -429,7 +429,8 @@
                     ctrl.name,
                     ctrl.CLI.sendline( "scr:list | grep -v ACTIVE" ) ) )
             main.log.error( "Failed to start ONOS, stopping test" )
-        return main.TRUE if stepResult else main.FALSE
+            main.cleanAndExit()
+        return main.TRUE
 
     def checkOnosApps( self, cluster, apps ):
         """
