curtin cannot identify nvme namespaces because they share a serial number
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
New
|
Undecided
|
Unassigned |
Bug Description
An auto-install with the following config, curtin incorrectly identifies /dev/nvme0n3 as disk-nvme0n1. These are separate namespaces on the same nvme.
storage:
config:
- grub_device: false
id: disk-nvme0n1
name: ''
path: /dev/nvme0n1
preserve: false
ptable: gpt
type: disk
- grub_device: false
id: disk-nvme0n3
name: ''
path: /dev/nvme0n3
preserve: false
type: disk
wipe: superblock
When detecting devices, curtin seems to index devices by serial number, assuming that there will only be one device with a given serial number.
get_path_
Processing serial KCD6XLUL1T92_
lookup_disks found: ['nvme-
Running command ['udevadm', 'info', '--query=property', '--export', '/dev/nvme0n3'] with allowed return codes [0] (capture=True)
/dev/nvme0n3 is multipath device? False
Running command ['udevadm', 'info', '--query=property', '--export', '/dev/nvme0n3'] with allowed return codes [0] (capture=True)
/dev/nvme0n3 is multipath device member? False
block.lookup_disk() returning path /dev/nvme0n3
Running command ['partprobe', '/dev/nvme0n3'] with allowed return codes [0, 1] (capture=False)
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.095
devsync happy - path /dev/nvme0n3 now exists
return volume path /dev/nvme0n3
ubuntu-
DEVPATH=
DEVNAME=
DEVTYPE='disk'
MAJOR='259'
MINOR='0'
SUBSYSTEM='block'
USEC_INITIALIZE
MPATH_SBIN_
DM_MULTIPATH_
ID_SERIAL_
ID_WWN=
ID_MODEL=
ID_REVISION='0105'
ID_SERIAL=
ID_PATH=
ID_PATH_
DEVLINKS=
TAGS=':systemd:'
ubuntu-
DEVPATH=
DEVNAME=
DEVTYPE='disk'
MAJOR='259'
MINOR='2'
SUBSYSTEM='block'
USEC_INITIALIZE
MPATH_SBIN_
DM_MULTIPATH_
ID_SERIAL_
ID_WWN=
ID_MODEL=
ID_REVISION='0105'
ID_SERIAL=
ID_PATH=
ID_PATH_
ID_PART_
ID_PART_
DEVLINKS=
TAGS=':systemd:'