User VM's can test in TestON

Change-Id: I9dd60b757d16b0c09e9311ccf4a6616f129a0cb0
diff --git a/TestON/drivers/common/cli/onosclusterdriver.py b/TestON/drivers/common/cli/onosclusterdriver.py
index b0f924b..f3de41d 100755
--- a/TestON/drivers/common/cli/onosclusterdriver.py
+++ b/TestON/drivers/common/cli/onosclusterdriver.py
@@ -95,7 +95,9 @@
         self.useDocker = False
         self.dockerPrompt = None
         self.maxNodes = None
+        self.karafPromptPass = None
         self.kubeConfig = None
+        self.karafPromptUser = None
         self.nodes = []
         super( OnosClusterDriver, self ).__init__()
 
@@ -118,6 +120,14 @@
                     self.karafUser = self.options[ key ]
                 elif key == "karaf_password":
                     self.karafPass = self.options[ key ]
+                elif key == "node_username":
+                    self.nodeUser = self.options[ key ]
+                elif key == "node_password":
+                    self.nodePass = self.options[ key ]
+                elif key == "karafPrompt_username":
+                    self.karafPromptUser = self.options[ key ]
+                elif key == "karafPrompt_password":
+                    self.karafPromptPass = self.options[ key ]
                 elif key == "cluster_name":
                     prefix = self.options[ key ]
                 elif key == "useDocker":
@@ -137,6 +147,10 @@
             self.home = self.checkOptions( self.home, "~/onos" )
             self.karafUser = self.checkOptions( self.karafUser, self.user_name )
             self.karafPass = self.checkOptions( self.karafPass, self.pwd )
+            self.nodeUser = self.checkOptions( self.nodeUser, self.user_name )
+            self.nodePass = self.checkOptions( self.nodePass, self.pwd )
+            self.karafPromptUser = self.checkOptions( self.karafPromptUser, self.user_name )
+            self.karafPromptPass = self.checkOptions( self.karafPromptPass, self.pwd )
             self.webUser = self.checkOptions( self.webUser, "onos" )
             self.webPass = self.checkOptions( self.webPass, "rocks" )
             prefix = self.checkOptions( prefix, "ONOS" )
@@ -288,6 +302,7 @@
         home = main.componentDictionary[name]['COMPONENTS'].get( "onos_home", None )
         main.componentDictionary[name]['home'] = self.checkOptions( home, None )
         main.componentDictionary[name]['type'] = "OnosCliDriver"
+        main.componentDictionary[name]['COMPONENTS']['karafPromptUser'] = self.karafPromptUser
         main.componentDictionary[name]['connect_order'] = str( int( main.componentDictionary[name]['connect_order'] ) + 1 )
 
     def createCliComponent( self, name, host ):
@@ -415,8 +430,8 @@
         # TODO: for now we use karaf user name and password also for logging to the onos nodes
         # FIXME: We shouldn't use karaf* for this, what we want is another set of variables to
         #        login to a shell on the server ONOS is running on
-        #main.componentDictionary[name]['user'] = self.karafUser
-        #main.componentDictionary[name]['password'] = self.karafPass
+        main.componentDictionary[name]['user'] = self.nodeUser
+        main.componentDictionary[name]['password'] = self.nodePass
         main.componentDictionary[name]['connect_order'] = str( int( main.componentDictionary[name]['connect_order'] ) + 1 )
 
     def createServerComponent( self, name, ipAddress ):