'PMBR' is not one of ['dos', 'gpt', 'mac', 'msdos', 'vtoc']
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
High
|
Unassigned | ||
subiquity |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I had a successful installation with subiquity on a T420 with two disks. I then zapped both disks (sgdisk -Z /dev/sda and /dev/sdb) and rebooted into the installer to try another installation.
This time, however, it failed at "Probing for devices to isntall to failed". Logs show this traceback:
2019-10-17 15:33:34,481 ERROR curtin:1230 Validation error: 'PMBR' is not one of ['dos', 'gpt', 'mac', 'msdos', 'vtoc'] in
{
"id": "disk-sdb",
"path": "/dev/sdb",
"ptable": "PMBR",
"serial": "ST9500420AS_
"type": "disk",
"wwn": "0x5000c5004442
}
NoneType: None
2019-10-17 15:33:34,481 ERROR block-discover:161 load_probe_data failed restricted=False
Traceback (most recent call last):
File "/snap/
self.
File "/snap/
self.reset()
File "/snap/
config = storage_
File "/snap/
raise RuntimeError(
RuntimeError: Extract storage config does not validate.
/dev/sda:
isk /dev/sda: 447.13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: INTEL SSDSC2BP48
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
/dev/sdb:
Disk /dev/sdb: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST9500420AS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1 976773167 976773167 465.8G ee GPT
Related branches
- Chad Smith: Approve
- Server Team CI bot: Approve (continuous-integration)
- Dan Watkins (community): Approve
- Dimitri John Ledkov (community): Needs Fixing
- Michael Hudson-Doyle: Pending requested
-
Diff: 109 lines (+27/-6)4 files modifiedcurtin/block/schemas.py (+3/-2)
curtin/commands/block_meta.py (+3/-1)
curtin/storage_config.py (+5/-1)
tests/unittests/test_storage_config.py (+16/-2)
Changed in subiquity: | |
status: | New → Fix Committed |
Changed in subiquity: | |
status: | Fix Committed → Fix Released |
This is a bit of whack-a-mole game with ptable values that we probe. I plan to omit included probed values that curtin cannot use; 'mac' and 'PMBR' are present on the source disk, but curtin will never create partition tables of these types. When we omit a ptable entry on a disk, subiquity (or curtin) will provide a valid default value.