installed system boots with root=/dev/bcache0 rather than root=UUID when root is bcache
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
Medium
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
In some debugging of another issue, we realized that installs with root on bcache such as in tests/vmtests/
This is not good as bcache names are not guaranteed in any order.
The reason this was failing was that when we create a filesystem on /dev/bcache0 no symlinks would be updated in /dev/disk/by-uuid/. The lack of a by-uuid entry causes /etc/grub.
| if [ "x${GRUB_
| || ! test -e "/dev/disk/
| || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
| LINUX_ROOT_
| else
| LINUX_ROOT_
| fi
For other devices the /dev/disk/by-uuid entries were (we believe) being created by the the udev watches in /lib/udev/
## /lib/udev/
| # watch metadata changes, caused by tools closing the device node which was opened for writing
| ACTION!="remove", SUBSYSTEM=="block", KERNEL=
Related bugs:
* bug 1680597: udev 60-block.rules does not watch bcache
* bug 1676991: bcache mounts inconsistent after node reboots
Related branches
- Server Team CI bot: Approve (continuous-integration)
- Ryan Harper (community): Approve
-
Diff: 67 lines (+22/-1)3 files modifiedcurtin/commands/block_meta.py (+9/-1)
curtin/udev.py (+9/-0)
tests/vmtests/test_bcache_basic.py (+4/-0)
Changed in curtin: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
Changed in curtin (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in curtin: | |
status: | Confirmed → Fix Committed |
Can we link the kernel or grub issue as well? It'd be nice to make this not just a curtin install issue.