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

Re: Testing for FUSE in ci tests



Hello Nikolaus,

On Wed, Apr 16, 2014 at 06:49:41PM -0700, Nikolaus Rath wrote:
> Hello,
> 
> Currently the S3QL CI tests fail because the test runner does not have
> permission to access the /dev/fuse device
> (http://ci.debian.net/data/unstable-amd64/packages/s/s3ql/2014-04-10.log).
> 
> Nothing wrong with that, but the test already goes out of its way to
> determine if it ought to be able to use FUSE, or if the test should be
> skipped. It checks:
> 
> - Is there a fusermount executable?
> - Is there a /dev/fuse device?
> - Are we root, or is the fusermount executable setuid root?
> - Can we execute fusermount -V without getting an error?
> 
> It seems all these preconditions are fulfilled, yet fuse access is
> not allowed.
> 
> Does someone know a test that will (even more) reliably determine if
> fuse is available or not?

I guess a more precise description of what exactly the ci.debian.net
test runner is would help figuring this out. So current ci.debian.net
runs test suites on schroot sessions with the following configuration:

----------------8<----------------8<----------------8<-----------------
==> /etc/schroot/chroot.d/debci-unstable-amd64 <==
[debci-unstable-amd64]
type=directory
profile=debci
description=debci unstable/amd64 chroot
directory=/usr/share/debci/chroots/debci-unstable-amd64
users=debci
groups=debci
root-users=debci
source-root-users=debci
root-groups=root
union-type=aufs
command-prefix=eatmydata

==> /etc/schroot/debci/copyfiles <==
# Files to copy into the chroot from the host system.
#
# <source and destination>
/etc/resolv.conf

==> /etc/schroot/debci/fstab <==
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/proc           /proc           none    rw,bind         0       0
/sys            /sys            none    rw,bind         0       0
/dev            /dev            none    rw,bind         0       0
/dev/pts        /dev/pts        none    rw,bind         0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0

# NOT bind mounting /home on purpose

==> /etc/schroot/debci/nssdatabases <==
# System databases to copy into the chroot from the host system.
#
# <database name>
services
protocols
networks
hosts
----------------8<----------------8<----------------8<-----------------

in the future, support for other runners such as lxc and kvm will be
added. at least on lxc fuse also does not work out of the box, but it
would just work on kvm.

And autopkgtest already lets you specify the required level of isolation
for tests (see the docs for isolation-container and isolation-machine in
/usr/share/doc/autopkgtest/README.package-tests.gz from jessie/sid), so
if you have a way of isolating that one test in a separate paragraph on
debian/tests/control and specify `isolation-machine` in the
Restrictions: field, debci will already skip it while we are still using
the current schroot runner.

-- 
Antonio Terceiro <terceiro@debian.org>

Attachment: signature.asc
Description: Digital signature


Reply to: