Fix some startup issues now that we use cluster size
- Change max cluster size to size of largest cluster
- Cleanup some reading of params
- Catch when ONOS isn't fully started
Change-Id: I5b2ca791046bd4061d31355276958ead39f8b65c
(cherry picked from commit ace1f317e19fd50924e78e53b566d69db23f5683)
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index 158c706..4112977 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -800,7 +800,8 @@
cmdStr += " -j"
output = self.sendline( cmdStr )
assert output is not None, "Error in sendline"
- assert "Command not found:" not in output, output
+ # "Command not found" or "Service org.onosproject.security.AuditService not found"
+ assert "not found" not in output, output
return output
except AssertionError:
main.log.exception( "" )
diff --git a/TestON/drivers/common/cli/onosclusterdriver.py b/TestON/drivers/common/cli/onosclusterdriver.py
index 6ca91b7..11c44ae 100755
--- a/TestON/drivers/common/cli/onosclusterdriver.py
+++ b/TestON/drivers/common/cli/onosclusterdriver.py
@@ -93,6 +93,7 @@
self.handle = None
self.useDocker = False
self.dockerPrompt = None
+ self.maxNodes = None
self.nodes = []
super( OnosClusterDriver, self ).__init__()
@@ -110,7 +111,7 @@
self.home = "~/onos"
for key in self.options:
if key == "home":
- self.home = self.options[ 'home' ]
+ self.home = self.options[ key ]
elif key == "karaf_username":
self.karafUser = self.options[ key ]
elif key == "karaf_password":
@@ -125,6 +126,9 @@
self.webUser = self.options[ key ]
elif key == "web_pass":
self.webPass = self.options[ key ]
+ elif key == "nodes":
+ # Maximum number of ONOS nodes to run, if there is any
+ self.maxNodes = self.options[ key ]
self.home = self.checkOptions( self.home, "~/onos" )
self.karafUser = self.checkOptions( self.karafUser, self.user_name )
@@ -134,20 +138,10 @@
prefix = self.checkOptions( prefix, "ONOS" )
self.useDocker = self.checkOptions( self.useDocker, False )
self.dockerPrompt = self.checkOptions( self.dockerPrompt, "~/onos#" )
+ self.maxNodes = int( self.checkOptions( self.maxNodes, 100 ) )
self.name = self.options[ 'name' ]
- # The 'nodes' tag is optional and it is not required in .topo file
- for key in self.options:
- if key == "nodes":
- # Maximum number of ONOS nodes to run, if there is any
- self.maxNodes = int( self.options[ 'nodes' ] )
- break
- self.maxNodes = None
-
- if self.maxNodes is None or self.maxNodes == "":
- self.maxNodes = 100
-
# Grabs all OC environment variables based on max number of nodes
# TODO: Also support giving an ip range as a compononet option
self.onosIps = {} # Dictionary of all possible ONOS ip
diff --git a/TestON/drivers/common/cli/onosdriver.py b/TestON/drivers/common/cli/onosdriver.py
index 18540f0..3ac31dd 100755
--- a/TestON/drivers/common/cli/onosdriver.py
+++ b/TestON/drivers/common/cli/onosdriver.py
@@ -65,10 +65,10 @@
# The 'nodes' tag is optional and it is not required in .topo file
for key in self.options:
if key == "home":
- self.home = self.options[ 'home' ]
+ self.home = self.options[ key ]
elif key == "nodes":
# Maximum number of ONOS nodes to run, if there is any
- self.maxNodes = int( self.options[ 'nodes' ] )
+ self.maxNodes = int( self.options[ key ] )
elif key == "web_user":
self.webUser = self.options[ key ]
elif key == "web_pass":