Index: server/site_linux_router.py |
diff --git a/server/site_linux_router.py b/server/site_linux_router.py |
index dfa1ff3c5239d9aff391cddf320577128db37cf0..fc2d26dd511e35f77b5ca00f96eba6a09bc97ead 100644 |
--- a/server/site_linux_router.py |
+++ b/server/site_linux_router.py |
@@ -2,7 +2,7 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
-import logging, re |
+import logging, re, time |
from autotest_lib.client.common_lib import error |
from autotest_lib.server import site_eap_tls |
@@ -314,8 +314,19 @@ class LinuxRouter(object): |
# Tear down the bridge. |
self.router.run("%s link set %s down" % (self.cmd_ip, self.bridgeif), |
ignore_status=True) |
- self.router.run("%s delbr %s" % (self.cmd_brctl, self.bridgeif), |
- ignore_status=True) |
+ |
+ # Try a couple times to remove the bridge; hostapd may still be exiting |
+ for attempt in range(3): |
+ result = self.router.run("%s delbr %s" % |
+ (self.cmd_brctl, self.bridgeif), |
+ ignore_status=True) |
+ if not result.stderr: |
+ break |
+ time.sleep(1) |
+ else: |
+ raise error.TestFail("Unable to delete bridge %s: %s" % |
+ (self.bridgeif, result.stderr)) |
Sam Leffler
2010/09/01 21:15:07
would it be better to wait on the hostapd pid and/
Paul Stewart
2010/09/01 23:00:47
The "trap" technique just kicks the can down the r
|
+ |
self.hostapd['configured'] = False |