Curtin Fails to Validate Storage Config with Crucial P1 NVMe drive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Curtin Fails to Validate Storage Config with Crucial P1 NVMe drive
I encountered an error while attempting to install Ubuntu Server 18.04.3 LTS (HWE Kernel "5.0.0.-23-generic #24~18.
Hardware is:
Asrock X470D4U
AMD Ryzen 7 3700X
Crucial P1 M2 NVMe 500 GB
Issue seems to be simmular to:
https:/
Extraction from logs (also attatched)
curtin:1156 Validation error: 'nvme.c0a9-
{
"id": "disk-nvme0n1",
"path": "/dev/nvme0n1",
"ptable": "gpt",
"serial": "CT500P1SSD8_
"type": "disk",
"wwn": "nvme.c0a9-
}
NoneType: None
Any ideas how I can "quickfix" this issue get Ubuntu 18.04.3 LTS installed soon?
Related branches
- Chad Smith: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 95 lines (+40/-3)5 files modifiedcurtin/block/schemas.py (+1/-1)
curtin/storage_config.py (+2/-1)
debian/changelog (+11/-0)
tests/unittests/test_storage_config.py (+25/-0)
tests/vmtests/test_bcache_basic.py (+1/-1)
- Server Team CI bot: Approve (continuous-integration)
- Chad Smith: Approve
-
Diff: 46 lines (+15/-3)2 files modifiedcurtin/block/schemas.py (+1/-2)
tests/unittests/test_storage_config.py (+14/-1)
Changed in curtin (Ubuntu): | |
status: | Confirmed → In Progress |
Thanks for filing the bug.
A "quickfix" would involve getting into the installer shell, manually patching the curtin python source on the instance, and then re-running the install. I've not poked around inside the installer so I'm not sure where the the subiquity snap keeps curtin. If you do find it then you can apply this change:
The line change needed for curtin to match the WWID of the nvme device:
diff --git a/curtin/ block/schemas. py b/curtin/ block/schemas. py block/schemas. py block/schemas. py
' type': 'string',
' oneOf': [
{'pattern' : r'^0x(\ d|[a-zA- Z])+'}, .(\d|[a- zA-Z]-) +'}], eui)+\. (\d|[a- zA-Z]|\ -)+'},
'grub_ device' : {
' type': ['boolean', 'integer'],
index fb7507d..96b3eb6 100644
--- a/curtin/
+++ b/curtin/
@@ -135,7 +135,8 @@ DISK = {
- {'pattern': r'^nvme\
+ {'pattern': r'^(nvme|
+ ],
},
I'm putting but a branch to fix this pattern and when it his curtin master, when the subiquity snap is rebuilt and published, then the installer will pick up the fix as well.