runc icon indicating copy to clipboard operation
runc copied to clipboard

Vagrantfile.fedora: upgrade Fedora to 39

Open AkihiroSuda opened this issue 2 years ago • 5 comments

AkihiroSuda avatar Nov 17 '23 20:11 AkihiroSuda

https://cirrus-ci.com/task/5012914067734528

not ok 122 runc run [dev,exec,suid,atime bind mount of a nodev,nosuid,noexec,noatime fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `fail_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 87,
#  in test file tests/integration/mounts_sshfs.bats, line 226)
#   `fail_sshfs_bind_flags "nodev,nosuid,nosuid,noatime" "bind,dev,suid,exec,atime"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,nosuid,nodev,noexec,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noexec,noatime,inode64 0 0
# runc run test_busybox (status=0):
# rw,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
not ok 123 runc run [ro bind mount of a nodev,nosuid,noexec fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 249)
#   `pass_sshfs_bind_flags "rw,nodev,nosuid,nodev,noexec,noatime" "bind,ro"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,rw,nodev,nosuid,nodev,noexec,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noexec,noatime,inode64 0 0
# runc run test_busybox (status=0):
# ro,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
ok 124 runc run [ro,symfollow bind mount of a rw,nodev,nosymfollow fuse sshfs mount]
not ok 125 runc run [ro,noexec bind mount of a nosuid,noatime fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 312)
#   `pass_sshfs_bind_flags "nodev,nosuid,noatime" "bind,ro,exec"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,nodev,nosuid,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noatime,inode64 0 0
# runc run test_busybox (status=0):
# ro,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
not ok 126 runc run [bind mount {no,rel,strict}atime semantics]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 338)
#   `pass_sshfs_bind_flags "noatime" "bind,norelatime"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,noatime,inode64 0 0
# runc run test_busybox (status=0):
# rw,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found

AkihiroSuda avatar Nov 17 '23 20:11 AkihiroSuda

Probably relevant:

  • https://github.com/libfuse/libfuse/pull/790 (https://github.com/libfuse/libfuse/commit/dba6b3983af34f30de01cf532dff0b66f0ed6045)

AkihiroSuda avatar Nov 17 '23 21:11 AkihiroSuda

  • https://github.com/libfuse/libfuse/pull/790

@kolyshkin @cyphar Do we need to disable the most part of mounts_sshfs.bats for FUSE >= 3.15?

AkihiroSuda avatar Nov 30 '23 06:11 AkihiroSuda

@kolyshkin @cyphar Do we need to disable the most part of mounts_sshfs.bats for FUSE >= 3.15?

When I was initially adding mounts_sshfs test in https://github.com/opencontainers/runc/pull/3283, it was to check a fix for a particular issue with fuse mount (https://github.com/containers/podman/issues/12205), and I also tried other setups at that time (tmpfs, read-only bind mount, and an ext2 mount) but was not able to repro.

Since that time, a bunch of other tests were added.

Yes, I guess, we need a version guard and a skip. @cyphar wdyt?

kolyshkin avatar Dec 12 '23 03:12 kolyshkin

The problem is that some of the recent mount rework is only tested through mount_sshfs because that was the way the old behaviour was tested. Disabling the tests will also disable the bulk of those tests. Maybe we can fall back to using tmpfs for FUSE >= 3.15 (as we do today if sshfs isn't available) so at least we are testing the bulk of the code. Or we can move those tests to mounts.bats and use tmpfs there so that the sshfs-specific stuff stays where it is.

As an aside, is there a PR for sshfs to do what the FUSE PR implies is sshfs's job? It's very weird they would be okay with breaking something as simple as mount -t sshfs -o atime...

cyphar avatar Dec 12 '23 04:12 cyphar