Stability fixes for SR Tests and small fixes for running ONOS in docker
- move checkOptions to component driver
- use karafTimeout for SR tests
- Fix some docker options
- Make sure mn docker can resolve own hostname
- Fix config file ip format for DHCP relay app
Change-Id: I85e8c52384e0fb478462fa9bbaf0b31a599b632b
(cherry picked from commit 521ecde3f8d28288303ea11129faa0cfd86b9bcd)
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index 7a0641e..72ed62c 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -58,15 +58,12 @@
self.handle = None
self.karafUser = None
self.karafPass = None
+ self.karafTimeout = None
+
self.dockerPrompt = None
self.graph = Graph()
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.
@@ -85,10 +82,13 @@
self.karafPass = self.options[ key ]
elif key == "docker_prompt":
self.dockerPrompt = self.options[ key ]
+ elif key == "karaf_timeout":
+ self.karafTimeout = 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 )
self.dockerPrompt = self.checkOptions( self.dockerPrompt, "~/onos#" )
+ self.karafTimeout = self.checkOptions( self.karafTimeout, 7200000 )
for key in self.options:
if key == 'onosIp':
@@ -301,6 +301,7 @@
startCliCommand = "onos " + str( ONOSIp )
self.handle.sendline( startCliCommand )
tries = 0
+ setTimeout = False
while tries < 5:
i = self.handle.expect( [
self.karafPrompt,
@@ -308,14 +309,17 @@
pexpect.TIMEOUT ], onosStartTimeout )
if i == 0:
- main.log.info( str( ONOSIp ) + " CLI Started successfully" )
+ if setTimeout:
+ main.log.info( str( ONOSIp ) + " CLI Started successfully" )
+ return main.TRUE
if karafTimeout:
self.handle.sendline(
"config:property-set -p org.apache.karaf.shell\
sshIdleTimeout " +
- karafTimeout )
- self.handle.expect( self.karafPrompt )
- return main.TRUE
+ str( karafTimeout ) )
+ self.handle.expect( "closed by remote host" )
+ self.handle.sendline( startCliCommand )
+ setTimeout = True
elif i == 1:
main.log.info( str( ONOSIp ) + " CLI asking for password" )
main.log.debug( "Sending %s" % self.karafPass )
@@ -6739,8 +6743,6 @@
if not ready:
self.handle.expect( self.dockerPrompt )
time.sleep( 1 )
- #main.log.debug( "%s: It took %s tries for onos log folder to %sbe created" %
- # ( self.name, retries, "" if ready else "NOT " ) )
cmdList = []
cmdList.append( "apt-get update" )