I've made some headway in figuring out whats going on.

I've compared the qemu and lxc backends for autopkgtest and found two very 
notable differences.

1) The qemu one installs shared-mime-info.  lxc doesn't.
2) Apparmor rules in lxc lead to namespace failures.

Here's how I compared the two.

Launching qemu like this:
#autopkgtest --apt-upgrade --add-apt-release=unstable 
--pin-packages=unstable=src:fwupd,src:libxmlb fwupd -- qemu 
autopkgtest-testing.img

Launching lxc like this
# autopkgtest  --apt-upgrade --add-apt-release=unstable 
--pin-packages=unstable=src:fwupd,src:libxmlb fwupd -- lxc autopkgtest-testing

shared-mime-info
----------------------
shared-mime-info gets install in qemu but not in lxc.  In lxc, fwupd daemon 
fails with this error:
Failed to load engine: Failed to load config: cannot process file of type 
application/x-zerosize

namespace failures
--------------------------
In LXC the host shows this in dmesg when trying to start the daemon:
[ 3760.599980] audit: type=1400 audit(1550199530.985:19): apparmor="DENIED" 
operation="mount" info="failed flags match" error=-13 
profile="lxc-container-default-cgns" name="/" pid=13833 comm="(fwupd)" 
flags="rw, rslave"

Checking the systemd unit journal this is shown:

● fwupd.service - Firmware update daemon
   Loaded: loaded (/lib/systemd/system/fwupd.service; static; vendor preset: 
enabled)
   Active: failed (Result: exit-code) since Fri 2019-02-15 02:52:33 UTC; 8s ago
     Docs: https://fwupd.org/
  Process: 3945 ExecStart=/usr/lib/fwupd/fwupd (code=exited, 
status=226/NAMESPACE)
 Main PID: 3945 (code=exited, status=226/NAMESPACE)

Feb 15 02:52:33 autopkgtest-testing systemd[1]: Starting Firmware update 
daemon...
Feb 15 02:52:33 autopkgtest-testing systemd[3945]: fwupd.service: Failed to set 
up mount namespacing: Permission denied
Feb 15 02:52:33 autopkgtest-testing systemd[3945]: fwupd.service: Failed at 
step NAMESPACE spawning /usr/lib/fwupd/fwupd: Permission denied
Feb 15 02:52:33 autopkgtest-testing systemd[1]: fwupd.service: Main process 
exited, code=exited, status=226/NAMESPACE
Feb 15 02:52:33 autopkgtest-testing systemd[1]: fwupd.service: Failed with 
result 'exit-code'.
Feb 15 02:52:33 autopkgtest-testing systemd[1]: Failed to start Firmware update 
daemon.

Looking around this points at the following apparmor issue potentially.
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1811248


Reply via email to