Autoinstall crash when using tmpfs mounts : mount entry without 'device' missing: ['fstype']
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
New
|
Undecided
|
Unassigned |
Bug Description
Hello !
I use the auto-install feature to automatically install my homelab server based on Ubuntu 22.04.3 LTS. However, today the autoinstaller crashed when curtin tried to add a standalone "tmpfs" mount in the target installation fstab, here the stack trace :
start: cmd-install/
An error occured handling 'tmpfs-tmp-mount': ValueError - mount entry without 'device' missing: ['fstype']. ({'path': '/tmp', 'options': 'mode=1777,
finish: cmd-install/
TIMED BLOCK_META: 11.849
finish: cmd-install/
Traceback (most recent call last):
File "/snap/
ret = args.func(args)
File "/snap/
return log_time("TIMED %s: " % msg, func, *args, **kwargs)
File "/snap/
return func(*args, **kwargs)
File "/snap/
return meta_custom(args)
File "/snap/
handler(
File "/snap/
mount_
File "/snap/
raise ValueError(
ValueError: mount entry without 'device' missing: ['fstype']. ({'path': '/tmp', 'options': 'mode=1777,
mount entry without 'device' missing: ['fstype']. ({'path': '/tmp', 'options': 'mode=1777,
curtin: Installation failed with exception: Unexpected error while running command.
This doesn't make sense since I specified the 'fstype' in my mount definition. This working well with other kind of volume having the 'device' directive.
#cloud-config
...omitted for brevity
storage:
swap:
size: 0 # Disable creation of swapfile
config:
...omitted for brevity
# Snap lib volume (path: /var/lib/snapd, size: 5G)
- id: lvm-system-
type: lvm_partition
volgroup: lvm-system-vg
name: snap-lib
size: 5GB
preserve: false
- id: lvm-system-
type: format
volume: lvm-system-
fstype: ext4
preserve: false
- id: lvm-system-
type: mount
device: lvm-system-
path: /var/lib/snapd
## tmpfs mounts
# /tmp tmpfs mount (path: /tmp, size: 50% total memory)
- id: tmpfs-tmp
type: mount
spec: tmpfs
fstype: tmpfs
path: /tmp
options: 'mode=1777,
I dig a bit and found that the 'fstype' directive was not kept for whatever reason in the final generated storage configuration, so that's why the installation is failing imo.
# cat /var/log/
# Autogenerated by Subiquity: 2023-10-28 15:19:23.214035 UTC
install:
error_tarfile: /var/log/
log_file: /var/log/
log_file_append: true
resume_data: /tmp/tmpo7eqfsj
save_
save_install_log: false
target: /target
unmount: disabled
storage:
...omitted for brevity
- path: /tmp
options: mode=1777,
spec: tmpfs
id: tmpfs-tmp-mount
type: mount
Then, I tried to search a bit in the curtin codebase but can't find anything useful to debug this issue. This was working fine previously when using the Ubuntu 22.04.2 ISO installer. Finally, I tried to disable the autoinstall auto-update when starting the installer and the installation worked as expected !
Here are the software versions used in both cases :
Installer crashed:
- Ubuntu 22.04.3 ISO
- Curtin 22.1-125-g7c18bf6a2
- Subiquity 23.10.1
Installer working fine:
- Ubuntu 22.04.3 ISO
- Curtin 22.1-43-g9e9f66e83
- Subiquity 23.08.1
I attached the crash log, I can provide more debug logs if needed.
Kind regards,
Florian BOBIN
Add Subiquity partitioning configuration