[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5188/8267] qemurunner: configure guest networking



commit 0e4ccf17341e24a3366c701b4740f29533074e5e
Author: Ed Bartosh <ed bartosh linux intel com>
Date:   Fri Mar 17 15:18:34 2017 +0200

    qemurunner: configure guest networking
    
    Configured guest network interface through serial connection
    when kernel is not run by qemu.
    
    This should make it possible to test wic images with testimage.
    
    [YOCTO #10833]
    
    (From OE-Core rev: 2032d9be26b539bf867622c0090fb4696209eba9)
    
    Signed-off-by: Ed Bartosh <ed bartosh linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/lib/oeqa/utils/qemurunner.py |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 7e5f588..9ef7629 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -195,6 +195,7 @@ class QemuRunner:
             time.sleep(1)
 
         out = self.getOutput(output)
+        netconf = False # network configuration is not required by default
         if self.is_alive():
             logger.info("qemu started - qemu procces pid is %s" % self.qemupid)
             if get_ip:
@@ -215,6 +216,10 @@ class QemuRunner:
                                      out, re.MULTILINE|re.DOTALL)
                     if match:
                         self.ip, self.server_ip, self.netmask = match.groups()
+                        # network configuration is required as we couldn't get it
+                        # from the runqemu command line, so qemu doesn't run kernel
+                        # and guest networking is not configured
+                        netconf = True
                     else:
                         logger.error("Couldn't get ip from qemu command line and runqemu output! "
                                      "Here is the qemu command line used:\n%s\n"
@@ -287,6 +292,14 @@ class QemuRunner:
                 if re.search("root@[a-zA-Z0-9\-]+:~#", output):
                     self.logged = True
                     logger.info("Logged as root in serial console")
+                    if netconf:
+                        # configure guest networking
+                        cmd = "ifconfig eth0 %s netmask %s up\n" % (self.ip, self.netmask)
+                        output = self.run_serial(cmd, raw=True)[1]
+                        if re.search("root@[a-zA-Z0-9\-]+:~#", output):
+                            logger.info("configured ip address %s", self.ip)
+                        else:
+                            logger.info("Couldn't configure guest networking")
                 else:
                     logger.info("Couldn't login into serial console"
                             " as root using blank password")


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]