bug-guix
[Top][All Lists]
Advanced

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

bug#54786: Installation tests are failing


From: Ludovic Courtès
Subject: bug#54786: Installation tests are failing
Date: Thu, 28 Apr 2022 21:19:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi!

Mathieu Othacehe <othacehe@gnu.org> skribis:

>> * cgit-test (https://ci.guix.gnu.org/build/646812/details)
>
> The nginx daemon seems to be started multiple times:

I believe this is caused by a change of semantics (really: a bug) in the
shepherd ‘start’ method in 0.9.0.

Previously, ‘start’ would wait until the daemon was started.  If the
service was being started, shepherd wouldn’t reply until it was done
starting it.

In 0.9.0, shepherd replies even while it’s waiting for the service to be
started.  But as a consequence, it lets you start a service that is
already being started, leading to this mess you reported.


The proper fix is to better track the status of each service in
shepherd, and to prevent double-starts.

In the interim, perhaps we can work around that by using a different
check to determine whether the service is running.  For instance,
instead of:

          (test-assert "nginx running"
            (marionette-eval
             '(begin
                (use-modules (gnu services herd))
                (start-service 'nginx))
             marionette))

… we’d write something like:

          (test-assert "nginx running"
            (wait-for-file "/var/run/nginx/pid"))

Thoughts?  I’ll give that a try.

Thanks for the heads-up!

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]