Openembedded Core Discussions
 help / color / mirror / Atom feed
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


      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