Bug #23041
closedAnsible installer installs "fuse" package for python3-arvados-fuse, breaks Ubuntu 24.04 desktop
Description
Related: #23033
Ansible-based installer installs the package named fuse when installing the Arvados compute packages. On Ubuntu 24.04 Desktop, this will break the package ubuntu-session that explicitly depends on FUSE 3 (package name fuse3 etc) and conflicts with the package fuse (which provides FUSE 2). Therefore the installer will remove ubuntu-sessions and break the desktop entirely.
Since the dependencies of package python3-arvados-fuse will pull in the FUSE dependency, I am experimenting with removing the package fuse as an explicitly installed package in Ansible (PR soon).
Updated by Zoë Ma 8 months ago
I tried commit c5e6efe9 on Ubuntu 24.04 and it no longer breaks the desktop. But review is needed for other OSes.
Updated by Brett Smith 8 months ago
Zoë Ma wrote:
Since the dependencies of package
python3-arvados-fusewill pull in the FUSE dependency, I am experimenting with removing the packagefuseas an explicitly installed package in Ansible (PR soon).
Just this change is probably not sufficient. The reason Ansible is pulling in this package is so that it can write configuration to /etc/fuse.conf later. That file is provided by the fuse package, not libfuse2 or any other library package.
It might work if we add the necessary parameters to the later lineinfile task to create the file if necessary. I honestly don't know what's necessary to have those configuration options take effect.
Updated by Brett Smith 8 months ago
Zoë Ma wrote in #note-1:
I tried commit c5e6efe9 on Ubuntu 24.04 and it no longer breaks the desktop. But review is needed for other OSes.
On the system where you tested, can you please share the output of apt list --installed "*fuse*" and dpkg -S /etc/fuse.conf?
Updated by Zoë Ma 8 months ago
Sure -
$ apt list --installed '*fuse*' Listing... Done fuse3/noble,now 3.14.0-5build1 amd64 [installed] libfuse2t64/noble,now 2.9.9-8.1build1 amd64 [installed,automatic] libfuse3-3/noble,now 3.14.0-5build1 amd64 [installed,automatic] python3-arvados-fuse/noble-dev,now 3.2.0~dev20250626191439-1 amd64 [installed] $ dpkg -S /etc/fuse.conf fuse3: /etc/fuse.conf
Updated by Brett Smith 8 months ago
- Target version set to Development 2025-07-23
- Assigned To set to Brett Smith
- Status changed from New to In Progress
23041-fuse3 @ 96ed6ce1dbd66a092dfad39b19bcb8157cbf998d
This commit refines the playbook to only install a FUSE package when necessary, and then install fuse3 when it is to get the latest version.
I looked at updating our Python FUSE package to also depend on fuse3 | fuse. However, when I built a package to test, that got collapsed down to just a fuse dependency. I'm not sure if this is a limitation of fpm or what. It might need to become a separate ticket. At any rate, fuse3 Provides: fuse, so our package isn't going to break any systems currently using fuse3. I'm just not sure whether it will pull in that version first. That'll have to be a separate follow-up investigation and branch.
Tested with this small test playbook:
- hosts: hostname.example
roles:
- arvados_compute
Updated by Lucas Di Pentima 8 months ago
- Related to Bug #23033: arvados-client FUSE dependency needs fixing on Ubuntu 24.04 added
Updated by Brett Smith 8 months ago
- Status changed from In Progress to Resolved
Applied in changeset arvados|44423fb0ee07735999013e1102edb0569917fa45.
Updated by Brett Smith 8 months ago
- Related to Bug #23043: Make python3-arvados-fuse prefer to pull in fuse3 added