Batch link delete commands (and minor edits)

This commit is contained in:
Bob Lantz
2015-02-04 05:21:15 -08:00
parent cd02954c91
commit 5ac113cfaa
+8 -5
View File
@@ -75,13 +75,13 @@ class Cleanup( object ):
if dp: if dp:
sh( 'dpctl deldp ' + dp ) sh( 'dpctl deldp ' + dp )
info( "*** Removing OVS datapaths" ) info( "*** Removing OVS datapaths\n" )
dps = sh("ovs-vsctl --timeout=1 list-br").strip().splitlines() dps = sh("ovs-vsctl --timeout=1 list-br").strip().splitlines()
if dps: if dps:
sh( "ovs-vsctl " + " -- ".join( "--if-exists del-br " + dp sh( "ovs-vsctl " + " -- ".join( "--if-exists del-br " + dp
for dp in dps if dp ) ) for dp in dps if dp ) )
# And in case the above didn't work... # And in case the above didn't work...
dps = sh("ovs-vsctl --timeout=1 list-br").strip().splitlines() dps = sh( "ovs-vsctl --timeout=1 list-br" ).strip().splitlines()
for dp in dps: for dp in dps:
sh( 'ovs-vsctl del-br ' + dp ) sh( 'ovs-vsctl del-br ' + dp )
@@ -89,9 +89,12 @@ class Cleanup( object ):
links = sh( "ip link show | " links = sh( "ip link show | "
"egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'" "egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'"
).splitlines() ).splitlines()
for link in links: # Delete blocks of links
if link: n = 1000 # chunk size
sh( "ip link del " + link ) for i in xrange( 0, len( links ), n ):
cmd = ';'.join( 'ip link del %s' % link
for link in links[ i : i + n ] )
sh( '( %s ) 2> /dev/null' % cmd )
if 'tap9' in sh( 'ip link show' ): if 'tap9' in sh( 'ip link show' ):
info( "*** Removing tap9 - assuming it's from cluster edition\n" ) info( "*** Removing tap9 - assuming it's from cluster edition\n" )