[oe-commits] Alejandro Hernandez : qemurunner: Improves checking for server and target IPs on qemus parameters

git at git.openembedded.org git at git.openembedded.org
Sun Aug 9 07:16:39 UTC 2015


Module: openembedded-core.git
Branch: master
Commit: d168bf34c553dbe5de7511e158cd83869d7a88bc
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=d168bf34c553dbe5de7511e158cd83869d7a88bc

Author: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
Date:   Thu Aug  6 18:44:22 2015 +0000

qemurunner: Improves checking for server and target IPs on qemus parameters

Fixes OS hanging infinitely waiting for qemus process to release bitbake.lock

Signed-off-by: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/lib/oeqa/utils/qemurunner.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 1cf8f76..02ac89c 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -120,14 +120,17 @@ class QemuRunner:
             cmdline = ''
             with open('/proc/%s/cmdline' % self.qemupid) as p:
                 cmdline = p.read()
-            ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
-            if not ips or len(ips) != 3:
+            try:
+                ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
+                if not ips or len(ips) != 3:
+                    raise ValueError
+                else:
+                    self.ip = ips[0]
+                    self.server_ip = ips[1]
+            except IndexError, ValueError:
                 logger.info("Couldn't get ip from qemu process arguments! Here is the qemu command line used: %s" % cmdline)
                 self.stop()
                 return False
-            else:
-                self.ip = ips[0]
-                self.server_ip = ips[1]
             logger.info("Target IP: %s" % self.ip)
             logger.info("Server IP: %s" % self.server_ip)
             logger.info("Waiting at most %d seconds for login banner" % self.boottime)



More information about the Openembedded-commits mailing list