curtin makes assumptions about partition names on all devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
Undecided
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Unassigned | ||
Vivid |
Fix Released
|
Medium
|
Unassigned |
Bug Description
== Begin SRU Template ==
[Description]
Installing to a system with a NVM Express card/block device will fail, showing something to the effect of:
Could not stat /dev/nvme0n11 --- No such file or directory
This is due to curtin's fairly innocent understanding of device name paths.
The fix is both
- better parsing of /sys to get information on device names and partitions that are on them.
- specific handling of the very odd named '!ccis' devices.
[Impact]
Installation via curtin can not be done on these systems.
[Test Case]
Positive test case:
Install via maas and curtin onto a system with a NVM Express card/block device.
Successful installation and boot is success anything else is failure.
Negative test case:
Install on a sytem without these devices and expect it to boot.
[Regression Potential]
Curtin's understanding of /dev/ and /sys generally improved. However, there are possibly still corner cases.
It seems unlikely that anything that worked before would fail with these changes.
[Other]
Related bugs:
* bug 1263181: curtin discovers HP /dev/cciss/c0d0 incorrectly
* bug 1471928: fail uefi install to nvme (NVM Express) device
== End SRU Template ==
When I do a curtin install via maas to some fancy flash hardware, i get:
no partition found /dev/nvme0n11
Could not stat /dev/nvme0n11 --- No such file or directory
The device apparently does not exist; did you specify it correctly?
Unexpected error while running command.
Command: ['mkfs.ext4', '-q', '-L', 'cloudimg-rootfs', '/dev/nvme0n11']
Exit code: 1
Reason: -
Stdout: ''
Stderr: ''
Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'block-meta', 'simple']
Exit code: 3
Reason: -
Stdout: "no partition found /dev/nvme0n11\
Stderr: ''
smoser: what i think is happening is this
a.) curtin chooses nvme0n1 as the device to install on
b.) curtin partitions nvme0n1
c.) curtin tries to mkfs on nvme0n11 (appending a '1' to the device name)
when actually the name is 'nvme0n1p1' probably. device names are stupidly inconsistently named.
and curtin is admittedly very stupid in its assumptions too
This patch fixes it (for me, for this device):
http://
Related bugs:
* bug 1263181 : curtin discovers HP /dev/cciss/c0d0 incorrectly
tags: | added: canonical-bootstack |
Changed in curtin (Ubuntu): | |
status: | New → Fix Released |
Changed in curtin: | |
status: | New → Fix Committed |
Changed in curtin (Ubuntu Trusty): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in curtin (Ubuntu Vivid): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
description: | updated |
We just got the same on new SSD drives.