mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 17:31:31 +02:00
Use netstat for waitListening; client -h h1 "apps -a"
And fix do_log() Change-Id: I04402fda9c409fa4cb41ae20cf1c551369b7669d
This commit is contained in:
parent
e9e71f10d2
commit
9ba19dce8f
@ -149,34 +149,22 @@ def unpackONOS( destDir='/tmp', run=quietRun ):
|
|||||||
return onosDir
|
return onosDir
|
||||||
|
|
||||||
|
|
||||||
def waitListening( client=None, server='127.0.0.1', port=80, timeout=None,
|
def waitListening( server, port=80, callback=None, sleepSecs=.5,
|
||||||
callback=None, sleepSecs=.5 ):
|
proc='java' ):
|
||||||
"Modified mininet.util.waitListening with callback, sleepSecs"
|
"Simplified netstat version of waitListening"
|
||||||
runCmd = ( client.cmd if client else
|
while True:
|
||||||
partial( quietRun, shell=True ) )
|
lines = server.cmd( 'netstat -natp' ).strip().split( '\n' )
|
||||||
if not runCmd( 'which telnet' ):
|
entries = [ line.split() for line in lines ]
|
||||||
raise Exception('Could not find telnet' )
|
portstr = ':%s' % port
|
||||||
# pylint: disable=maybe-no-member
|
listening = [ entry for entry in entries
|
||||||
serverIP = server if isinstance( server, basestring ) else server.IP()
|
if len( entry ) > 6 and portstr in entry[ 3 ]
|
||||||
cmd = ( 'echo A | telnet -e A %s %s' % ( serverIP, port ) )
|
and proc in entry[ 6 ] ]
|
||||||
elapsed = 0
|
if listening:
|
||||||
result = runCmd( cmd )
|
break
|
||||||
while 'Connected' not in result:
|
|
||||||
if 'No route' in result:
|
|
||||||
rtable = runCmd( 'route' )
|
|
||||||
error( 'no route to %s:\n%s' % ( server, rtable ) )
|
|
||||||
return False
|
|
||||||
if timeout and elapsed >= timeout:
|
|
||||||
error( 'could not connect to %s on port %d\n' % ( server, port ) )
|
|
||||||
return False
|
|
||||||
debug( 'waiting for', server, 'to listen on port', port, '\n' )
|
|
||||||
info( '.' )
|
info( '.' )
|
||||||
if callback:
|
if callback:
|
||||||
callback()
|
callback()
|
||||||
time.sleep( sleepSecs )
|
time.sleep( sleepSecs )
|
||||||
elapsed += sleepSecs
|
|
||||||
result = runCmd( cmd )
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
### Mininet classes
|
### Mininet classes
|
||||||
@ -338,7 +326,7 @@ class ONOSNode( Controller ):
|
|||||||
callback=self.sanityCheck )
|
callback=self.sanityCheck )
|
||||||
info( ' client' )
|
info( ' client' )
|
||||||
while True:
|
while True:
|
||||||
result = quietRun( 'echo apps -a | %s -h %s' %
|
result = quietRun( '%s -h %s "apps -a"' %
|
||||||
( self.client, self.IP() ), shell=True )
|
( self.client, self.IP() ), shell=True )
|
||||||
if 'openflow' in result:
|
if 'openflow' in result:
|
||||||
break
|
break
|
||||||
@ -528,7 +516,8 @@ class ONOSCLI( OldCLI ):
|
|||||||
|
|
||||||
def do_log( self, line ):
|
def do_log( self, line ):
|
||||||
"Run tail -f /tmp/onos1/log; press control-C to stop"
|
"Run tail -f /tmp/onos1/log; press control-C to stop"
|
||||||
self.default( self.onos1().name, 'tail -f /tmp/%s/log' % self.onos1() )
|
self.default( '%s tail -f /tmp/%s/log' %
|
||||||
|
( self.onos1(), self.onos1() ) )
|
||||||
|
|
||||||
def do_status( self, line ):
|
def do_status( self, line ):
|
||||||
"Return status of ONOS cluster(s)"
|
"Return status of ONOS cluster(s)"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user