cf5675876c
1. update/fix codecheck Run workflow with pylint 2.15.7 Add a bunch of fiddly and mostly cosmetic changes to make pylint (and make codecheck) happy. Also try to run pyflakes3 vs. pyflakes 2. remove Ubuntu 18.04 Ubuntu 18.04 has been removed from github actions, so we remove it from our workflow as well
46 lines
1.1 KiB
Python
Executable File
46 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"This example doesn't use OpenFlow, but attempts to run sshd in a namespace."
|
|
|
|
import sys
|
|
|
|
from mininet.node import Host
|
|
from mininet.util import ensureRoot, waitListening
|
|
from mininet.log import info, warn, output
|
|
|
|
|
|
ensureRoot()
|
|
timeout = 5
|
|
|
|
info( "*** Creating nodes\n" )
|
|
h1 = Host( 'h1' )
|
|
|
|
root = Host( 'root', inNamespace=False )
|
|
|
|
info( "*** Creating link\n" )
|
|
h1.linkTo( root )
|
|
|
|
info( h1 )
|
|
|
|
info( "*** Configuring nodes\n" )
|
|
h1.setIP( '10.0.0.1', 8 )
|
|
root.setIP( '10.0.0.2', 8 )
|
|
|
|
info( "*** Creating banner file\n" )
|
|
with open( '/tmp/%s.banner' % h1.name, 'w' ) as f:
|
|
f.write( 'Welcome to %s at %s\n' % ( h1.name, h1.IP() ) )
|
|
|
|
info( "*** Running sshd\n" )
|
|
cmd = '/usr/sbin/sshd -o UseDNS=no -u0 -o "Banner /tmp/%s.banner"' % h1.name
|
|
# add arguments from the command line
|
|
if len( sys.argv ) > 1:
|
|
cmd += ' ' + ' '.join( sys.argv[ 1: ] )
|
|
h1.cmd( cmd )
|
|
listening = waitListening( server=h1, port=22, timeout=timeout )
|
|
|
|
if listening:
|
|
output( "*** You may now ssh into", h1.name, "at", h1.IP(), '\n' )
|
|
else:
|
|
warn( "*** Warning: after %s seconds, %s is not listening on port 22"
|
|
% ( timeout, h1.name ), '\n' )
|