oeqa/utils/qemurunner: get ip old fashioned way and use tcp serial console
authorStefan Stanacar <stefanx.stanacar@intel.com>
Tue, 13 Aug 2013 14:47:12 +0000 (17:47 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 13 Aug 2013 22:05:59 +0000 (23:05 +0100)
commitab4acb5e6dec676a64132f42b1c83e7398b0f764
tree3afcd5ad9378c7c75a2eeb510a2478aa74e6c87d
parent3d95f2bff4c52066e906b45f344a9ac71971ecd1
oeqa/utils/qemurunner: get ip old fashioned way and use tcp serial console

The way we read data from the serial console was unreliable and blocking (AutoBuilder
seems to hit that often), so change the serial console type from unix socket to tcp
and reverse the connection - don't let qemu act as server (wait for a connection).
So now the serial console is used to save the boot log and make sure that we reached
the login prompt. Until a better way is found this should solve some of the AutoBuilder
failures (one being YB#4904).

Also we need to use the same method as the old qemuimagetest to get the ip
(from the qemu process arguments), because that it's more reliable.
The first version used here was to log into the target and use the output of
"ip addr show eth0" but then systemd decides that it should rename interfaces,
so that was changed to get the ip of the interface that has the default gw,
but if there is no default gw we'll get the loopback ip and we end up trying to
ssh into the host machine (some recent AutoBuilder runs showed that).

Changed in V2:
 - use -ww for ps, as output might get truncated

(From OE-Core rev: 55e78185110937b7e2b143cf1020426d8df58b72)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/utils/oeqemuconsole.py [deleted file]
meta/lib/oeqa/utils/qemurunner.py