The issue with this is that during the test setup, adding the dummy-
test-ns interface to the test-execute-netns network namespace fails with
EPERM, but this return code is not checked at all:

...
        /* Create dummy network interface for testing PrivateNetwork=yes */
        have_net_dummy = system("ip link add dummy-test-exec type dummy") == 0;

        if (have_net_dummy) {
                /* Create a network namespace and a dummy interface in it for 
NetworkNamespacePath= */
                (void) system("ip netns add test-execute-netns");
                (void) system("ip netns exec test-execute-netns ip link add 
dummy-test-ns type dummy");
        }
...

Running these commands manually in the LXD environment that the tests
run in:

# ip link add dummy-test-exec type dummy
# ip netns add test-execute-netns
# ip netns exec test-execute-netns ip link add dummy-test-ns type dummy
mount of /sys failed: Operation not permitted

The right solution might be to make the test case dependent on the
success of those setup calls, similar to what is done with
`have_net_dummy`.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2046498

Title:
  test-execute fails in LXD with failure in exec-networknamespacepath-
  privatemounts-no.service

Status in systemd package in Ubuntu:
  New

Bug description:
  This is in v255. This log snippet is taken from a local autopkgtest
  build:

  exec-networknamespacepath-privatemounts-no.service: Child 4580 belongs to 
exec-networknamespacepath-privatemounts-no.service.
  exec-networknamespacepath-privatemounts-no.service: Main process exited, 
code=exited, status=0/SUCCESS (success)
  exec-networknamespacepath-privatemounts-no.service: Running next main command 
for state start.
  exec-networknamespacepath-privatemounts-no.service: Will spawn child 
(service_run_next_main): /bin/sh
  exec-networknamespacepath-privatemounts-no.service: Passing 0 fds to service
  exec-networknamespacepath-privatemounts-no.service: About to execute: /bin/sh 
-x -c "ip link show dummy-test-ns"
  Serializing sd-executor-state to memfd.
  exec-networknamespacepath-privatemounts-no.service: Forked /bin/sh as 4581
  Closing set fd 19 (socket:[109908])
  Closing set fd 21 (socket:[111151])
  Closing set fd 20 (socket:[111150])
  Received SIGCHLD from PID 4581 (sh).
  Child 4581 (sh) died (code=exited, status=1/FAILURE)
  exec-networknamespacepath-privatemounts-no.service: Child 4581 belongs to 
exec-networknamespacepath-privatemounts-no.service.
  exec-networknamespacepath-privatemounts-no.service: Main process exited, 
code=exited, status=1/FAILURE
  exec-networknamespacepath-privatemounts-no.service: Failed with result 
'exit-code'.
  exec-networknamespacepath-privatemounts-no.service: Service will not restart 
(restart setting)
  exec-networknamespacepath-privatemounts-no.service: Changed start -> failed
  exec-networknamespacepath-privatemounts-no.service: Unit entered failed state.
  exec-networknamespacepath-privatemounts-no.service: Consumed 23ms CPU time.
  src/test/test-execute.c:1124:test_exec_networknamespacepath: 
exec-networknamespacepath-privatemounts-no.service: can_unshare=no: exit status 
1, expected 0
  (test-execute-without-unshare) terminated by signal ABRT.
  Assertion 'r >= 0' failed at src/test/test-execute.c:1330, function 
prepare_ns(). Aborting.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2046498/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to