saltstack / saltstack/salt

[Bug]: 3006.27 fuse filesystems break on minion restart

Open
#69,915 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

What happened?

We're using salt to mount a network fuse filesystem (LeilFS/SaunaFS).

Since the upgrade to 3006.27, when we restart the minion (or the minion is upgraded), the fuse process which services the mount point is terminated and the filesystem goes offline, but remains mounted.

saunafs-mount:
  mount.mounted:
    - name: /path/to/mountpoint
    - device: sfsmaster:9421
    - fstype: fuse.sfsmount
    - persist: False
    - opts: defaults,_netdev,sfssubfolder=/
    - extra_mount_invisible_keys:
      - sfsmaster
      - sfssubfolder

From journalctl

Jul 31 11:55:39 host.example.org systemd[1]: Stopping The Salt Minion...
Jul 31 11:55:44 host.example.org salt-minion[1394]: [WARNING ] Minion received a SIGTERM. Exiting.
Jul 31 11:55:44 host.example.org salt-minion[1394]: The Salt Minion is shutdown. Minion received a SIGTERM. Exited.
Jul 31 11:55:47 host.example.org systemd[1]: salt-minion.service: Killing process 18861 (sfsmount) with signal SIGKILL.
Jul 31 11:55:47 host.example.org systemd[1]: salt-minion.service: Killing process 18864 (masterProxyAcc) with signal SIGKILL.
Jul 31 11:55:47 host.example.org systemd[1]: salt-minion.service: Killing process 18865 (RCEP cleaner) with signal SIGKILL.
Jul 31 11:55:47 host.example.org systemd[1]: salt-minion.service: Killing process 18866 (readDelayedOps) with signal SIGKILL.

Killing the sfsmount process is what takes the filesystem offline.

Type of salt install

Official deb

Major version

3006.x

What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)

ubuntu-22.04

salt --versions-report output
Salt Version:
          Salt: 3006.27
 
Python Version:
        Python: 3.11.15 (main, Jun 29 2026, 22:21:49) [GCC 11.2.0]
 
Dependency Versions:
          cffi: 2.0.0
      cherrypy: 18.10.0
  cryptography: 47.0.0
      dateutil: 2.9.0.post0
     docker-py: Not Installed
         gitdb: 4.0.12
     gitpython: 3.1.50
        Jinja2: 3.1.6
       libgit2: Not Installed
  looseversion: 1.3.0
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.1.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     packaging: 24.0
     pycparser: 3.00
      pycrypto: Not Installed
  pycryptodome: 3.23.0
        pygit2: Not Installed
  python-gnupg: 0.5.6
        PyYAML: 6.0.3
         PyZMQ: 27.1.0
        relenv: 0.22.16
         smmap: 5.0.2
       timelib: 0.3.0
       Tornado: 6.5.5
           ZMQ: 4.3.5
 
System Versions:
          dist: ubuntu 22.04.5 jammy
        locale: utf-8
       machine: x86_64
       release: 5.15.0-185-generic
        system: Linux
       version: Ubuntu 22.04.5 jammy

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the salt-minion shutdown entry point and the systemd salt-minion.service behavior shown in the journalctl output. Reproduce the provided mount.mounted configuration on Ubuntu 22.04 with Salt 3006.27, then trace why sfsmount is killed during restart. Done means the FUSE filesystem remains usable after a minion restart or upgrade, with regression coverage where the existing test structure permits it.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, python, ubuntu
Domain
devops, infrastructure, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.