33import threading
44import sys
55import os
6+ import time
67
78# Utility function to run ssh
89def ssh_exec_thread (ssh_object , command ):
@@ -151,21 +152,30 @@ def __init__(self, addrList):
151152 print "Starting netplugin on " + node .addr
152153 node .startNetplugin ()
153154
155+ # Wait few seconds before starting netmaster
156+ time .sleep (3 )
157+
154158 # Start netmaster in the end
155159 print "Starting netmaster"
156160 self .nodes [0 ].startNetmaster ()
157161
158162 # Cleanup a testbed once test is done
159163 def cleanup (self ):
160164 # Cleanup each node
165+ for node in self .nodes :
166+ print "Stopping containers on " + node .addr
167+ node .cleanupContainers ()
168+
169+ # Stop netmaster and remove networks
170+ self .nodes [0 ].stopNetmaster ()
171+
161172 for node in self .nodes :
162173 print "Cleaning up node " + node .addr
163174 node .stopNetplugin ()
164175 node .cleanupSlave ()
165176
166177 # cleanup master
167178 print "Cleaning up master"
168- self .nodes [0 ].stopNetmaster ()
169179 self .nodes [0 ].cleanupMaster ()
170180
171181 # Number of nodes in the testbed
@@ -180,9 +190,9 @@ def runContainers(self, numContainer, withService=False):
180190 nodeIdx = cntIdx % self .numNodes ()
181191 if withService :
182192 srvName = "srv" + str (cntIdx )
183- cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private.default " , serviceName = srvName )
193+ cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private" , serviceName = srvName )
184194 else :
185- cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private.default " )
195+ cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private" )
186196
187197 containers .append (cnt )
188198
@@ -194,7 +204,7 @@ def runContainersInService(self, numContainer, serviceName):
194204 # Start the containers
195205 for cntIdx in range (numContainer ):
196206 nodeIdx = cntIdx % self .numNodes ()
197- cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private.default " , serviceName = serviceName )
207+ cnt = self .nodes [nodeIdx ].runContainer ("ubuntu" , networkName = "private" , serviceName = serviceName )
198208 containers .append (cnt )
199209
200210 return containers
@@ -327,10 +337,6 @@ def remove(self):
327337 if exitCode != 0 :
328338 self .errorExit ("Error removing container" , out , err )
329339
330- # Unpublish the service
331- # if self.serviceName != None:
332- # self.node.runCmd("docker service unpublish " + self.serviceName)
333-
334340 # Get IP address of the container
335341 def getIpAddr (self , intfName = "eth0" ):
336342 if intfName == "eth0" :
@@ -377,7 +383,7 @@ def stopListener(self):
377383 # Check if this container can connect to destination port
378384 def checkConnection (self , ipAddr , port , protocol = "tcp" ):
379385 protoStr = "-u " if protocol == "udp" else " "
380- out , err , exitCode = self .execCmd ("netcat -z -n -v -w 5 " + protoStr + ipAddr + " " + str (port ))
386+ out , err , exitCode = self .execCmd ("netcat -z -n -v -w 1 " + protoStr + ipAddr + " " + str (port ))
381387
382388 print "checkConnection Output(" + str (exitCode ) + "): " + '' .join (out )
383389 print "checkConnection Err: " + '' .join (err )
0 commit comments