systemd defaulting to tmpfs for /tmp causes enospc errors

Bug #2069834 reported by Paride Legovini
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Auto Package Testing
New
Undecided
Unassigned
autopkgtest (Ubuntu)
Fix Released
Undecided
Unassigned
systemd (Ubuntu)
Triaged
Undecided
Unassigned

Bug Description

Debian systemd now mounts a tmpfs on /tmp by default; relevant d/changelog entry:

systemd (256~rc3-3) unstable; urgency=medium

   * Make /tmp/ a tmpfs by default. Restore the upstream default and make
    /tmp/ a tmpfs. Can be overridden with: touch
    /etc/systemd/system/tmp.mount or: systemctl mask tmp.mount

Ubuntu is aligning to this, however this means that available space under /tmp is limited to the half of the available ram. That is sometimes not enough to unpack source trees in /tmp, see for example [1].

We need to to decide how to deal with this. Possibilities I can think about:

1. Disable the tmpfs tmp.mount, as suggested in the d/changelog entry. To be done in setup-testbed. Good: easy. Bad: deviates from the Ubuntu defaults, requires rebuilding the images.

2. Make autopkgtest use /var/tmp. Good: we stick to the defaults: Bad: requires non trivial changes in src:autopkgtest, which makes assumptions on stuff being in /tmp, on /tmp being cleared on reboots, ...

This under the assumption that the switch to a tmpfs has been discussed, and we want it in Ubuntu.

[1] https://autopkgtest.ubuntu.com/results/autopkgtest-oracular/oracular/ppc64el/c/ceph/20240618_194813_d6efc@/log.gz

Revision history for this message
Nick Rosbrook (enr0n) wrote :

I think option (2) is the probably the "best" fix. Another alternative I can think of is shipping a tmp.mount drop-in on the autopkgtest environment to change the size to something better. E.g.,

# /etc/systemd/system/tmp.mount.d/size.conf
[Mount]
Options=size=<param>

where <param> could be a percentage of RAM (e.g. 75%%), or an explicit size (e.g. 4GB). But then again, these defaults are intentionally easy to override. If the autopkgtest environment wants to do something different, I don't think it's the end of the world, and masking tmp.mount as a first step is fine.

> This under the assumption that the switch to a tmpfs has been discussed, and we want it in Ubuntu.

This was discussed in the foundations team, and the initial consensus was to not deviate from upstream and Debian.

Nick Rosbrook (enr0n)
tags: added: update-excuse
Revision history for this message
Paride Legovini (paride) wrote :

This is affecting testing of the kernel packages (linux / linux-*), as those are tested with all-proposed (they're a special case in the autopkgtest-cloud worker script), and thus the new systemd is pulled in.

Revision history for this message
Paride Legovini (paride) wrote :
Paride Legovini (paride)
Changed in autopkgtest (Ubuntu):
status: New → Fix Committed
Revision history for this message
Nick Rosbrook (enr0n) wrote :

My understanding is that we will leave the systemd defaults as-is for now, so marking won't fix for systemd.

Changed in systemd (Ubuntu):
status: New → Won't Fix
Revision history for this message
Nick Rosbrook (enr0n) wrote :

Actually, re-opening for systemd for now so it shows up on update-excuse.

Changed in systemd (Ubuntu):
status: Won't Fix → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package autopkgtest - 5.37ubuntu2

---------------
autopkgtest (5.37ubuntu2) oracular; urgency=medium

  * New delta, all upstream cherry-picks:
    - t/autopkgtest-build-docker: use ports.ubuntu.com on non-amd64 Ubuntu
    - t/autopkgtest: test_git_source_build: skip if remote repo is unreachable
    - d/t/lxd: restrict architectures via Architecture and enable arm64
    - d/rules: don't run pre-commit at package build time

 -- Paride Legovini <email address hidden> Wed, 26 Jun 2024 13:16:53 +0200

Changed in autopkgtest (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.