Update cluster.py for new makeIntfPair

This commit is contained in:
Bob Lantz
2015-01-15 02:29:51 -08:00
parent d66b96260a
commit c62812a944
+10 -13
View File
@@ -254,10 +254,8 @@ class RemoteMixin( object ):
def addIntf( self, *args, **kwargs ): def addIntf( self, *args, **kwargs ):
"Override: use RemoteLink.moveIntf" "Override: use RemoteLink.moveIntf"
return super( RemoteMixin, kwargs.update( moveIntfFn=RemoteLink.moveIntf )
self).addIntf( *args, return super( RemoteMixin, self).addIntf( *args, **kwargs )
moveIntfFn=RemoteLink.moveIntf,
**kwargs )
def cleanup( self ): def cleanup( self ):
"Help python collect its garbage." "Help python collect its garbage."
@@ -316,22 +314,21 @@ class RemoteLink( Link ):
self.tunnel.terminate() self.tunnel.terminate()
self.tunnel = None self.tunnel = None
def makeIntfPair( self, intfname1, intfname2, addr1=None, addr2=None ): def makeIntfPair( self, intfname1, intfname2, addr1=None, addr2=None,
node1=None, node2=None, deleteIntfs=True ):
"""Create pair of interfaces """Create pair of interfaces
intfname1: name of interface 1 intfname1: name of interface 1
intfname2: name of interface 2 intfname2: name of interface 2
(override this method [and possibly delete()] (override this method [and possibly delete()]
to change link type)""" to change link type)"""
node1, node2 = self.node1, self.node2 node1 = self.node1 if node1 is None else node1
node2 = self.node2 if node2 is None else node2
server1 = getattr( node1, 'server', 'localhost' ) server1 = getattr( node1, 'server', 'localhost' )
server2 = getattr( node2, 'server', 'localhost' ) server2 = getattr( node2, 'server', 'localhost' )
if server1 == 'localhost' and server2 == 'localhost': if server1 == server2:
# Local link # Link within same server
return makeIntfPair( intfname1, intfname2, addr1, addr2 ) return Link.makeIntfPair( intfname1, intfname2, addr1, addr2,
elif server1 == server2: node1, node2, deleteIntfs=deleteIntfs )
# Remote link on same remote server
return makeIntfPair( intfname1, intfname2, addr1, addr2,
runCmd=node1.rcmd )
# Otherwise, make a tunnel # Otherwise, make a tunnel
self.tunnel = self.makeTunnel( node1, node2, intfname1, intfname2, self.tunnel = self.makeTunnel( node1, node2, intfname1, intfname2,
addr1, addr2 ) addr1, addr2 )