From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: ross.burton@arm.com
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] oeqa/runtime/ping: don't bother trying to ping localhost
Date: Mon, 18 Nov 2024 10:51:02 +0200 [thread overview]
Message-ID: <Zzr_9kbw8L9PHKnn@nuoska> (raw)
In-Reply-To: <20241114174336.3793581-1-ross.burton@arm.com>
Hi,
On Thu, Nov 14, 2024 at 05:43:36PM +0000, Ross Burton via lists.openembedded.org wrote:
> If SLIRP is being used instead of TAP for networking to the guest then
> the target IP will be localhost. There's no point in pinging localhost
> to see if the target is up but whilst you'd think it is harmless, in
> some containers ping doesn't actually have enough rights to work:
>
> ping: socktype: SOCK_RAW
> ping: socket: Operation not permitted
> ping: => missing cap_net_raw+p capability or setuid?
>
> Look at the target address and if it's localhost or 127.0.0.* return
> immediately.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> meta/lib/oeqa/runtime/cases/ping.py | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/meta/lib/oeqa/runtime/cases/ping.py b/meta/lib/oeqa/runtime/cases/ping.py
> index f72460e7f3f..bc543f6c41e 100644
> --- a/meta/lib/oeqa/runtime/cases/ping.py
> +++ b/meta/lib/oeqa/runtime/cases/ping.py
> @@ -18,6 +18,13 @@ class PingTest(OERuntimeTestCase):
> output = ''
> count = 0
> self.assertNotEqual(len(self.target.ip), 0, msg="No target IP address set")
> +
> + # If the target IP is localhost (because user-space networking is being used),
> + # then there's no point in pinging it.
> + if self.target.ip.startswith("127.0.0.") or self.target.ip in ("localhost", "::1"):
> + print("runtime/ping: localhost detected, not pinging")
> + return
> +
> try:
> while count < 5:
> cmd = 'ping -c 1 %s' % self.target.ip
I think this is the right thing to do and enables running these tests in kas container
for meta-arm.
I have seen some other odd ping test failures with meta-arm builds,
which may be related:
QMP connected to QEMU at 10/31/24 13:36:14 and took 0.58 seconds
QMP released QEMU at 10/31/24 13:36:14 and took 0.18 seconds from connect
Bitbake still alive (no events for 600s). Active tasks:
/home/builder/src/base/meta-arm/build/../poky/meta/recipes-core/images/core-image-base.bb:do_testimage
Test requires apt to be installed
Traceback (most recent call last):
File "/home/builder/src/base/meta-arm/poky/meta/lib/oeqa/runtime/cases/ping.py", line 30, in test_ping
sleep(1)
File "/home/builder/src/base/meta-arm/build/../poky/meta/lib/oeqa/core/decorator/oetimeout.py", line 18, in _timeoutHandler
raise OEQATimeoutError("Timed out after %s "
oeqa.core.exception.OEQATimeoutError: Timed out after 30 seconds of execution
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/builder/src/base/meta-arm/build/../poky/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
return func(*args, **kwargs)
File "/home/builder/src/base/meta-arm/poky/meta/lib/oeqa/runtime/cases/ping.py", line 32, in test_ping
self.fail("Ping timeout error for address %s, count %s, output: %s" % (self.target.ip, count, output))
AssertionError: Ping timeout error for address 127.0.0.1, count 0, output:
Then I also saw in one case that running "ping" host binary failed due to
command not found when it for sure was there on the host. I think leaked
cooker processes could have caused these and expected something to be in
build/tmp which had been removed.
While debugging into these, I stumbled on the non-cought RuntimeError exception
in testimage.bbclass which could explain the errors.
Just wanted to share these in case someone has seen similar odd things...
Cheers,
-Mikko
prev parent reply other threads:[~2024-11-18 8:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-14 17:43 [PATCH] oeqa/runtime/ping: don't bother trying to ping localhost Ross Burton
2024-11-18 8:51 ` Mikko Rapeli [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zzr_9kbw8L9PHKnn@nuoska \
--to=mikko.rapeli@linaro.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox