From 6447697a48e3b693ee38806bc2ba07c2a65c2bc8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 20 Nov 2017 20:55:34 +0000 Subject: runqemu: Ensure we process all tap devices The regexp in the script misses some tap devices, e.g. we see output like: runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap25.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap26.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap27.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap28.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap40.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap41.lock failed: [Errno 11] Resource temporarily unavailable What happened to tap29 to tap39? The issue is was we were missing devices with '0' in the number, like "10:" and so on in the output from "ip link". Signed-off-by: Richard Purdie --- scripts/runqemu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/runqemu b/scripts/runqemu index fe4459dfb8..ad88da38df 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -923,7 +923,7 @@ class BaseConfig(object): logger.debug('Running %s...' % cmd) ip_link = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8') # Matches line like: 6: tap0: - possibles = re.findall('^[1-9]+: +(tap[0-9]+): <.*', ip_link, re.M) + possibles = re.findall('^[0-9]+: +(tap[0-9]+): <.*', ip_link, re.M) tap = "" for p in possibles: lockfile = os.path.join(lockdir, p) -- cgit 1.2.3-korg