Coreos.inst.install_dev not always respected

I have a machine that I’m deploying fcos to that has two nvme disks. I pass the kernel the argument

coreos.inst.install_dev=/dev/nvme0n1

and when the firstboot runs both nvme0n1 and nvme1n1 have been wiped clean of all formatting info.

Sometimes I get the expected install like this

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme1n1     259:0    0 931.5G  0 disk
nvme0n1     259:1    0 465.8G  0 disk
├─nvme0n1p1 259:6    0     1M  0 part
├─nvme0n1p2 259:7    0   127M  0 part
├─nvme0n1p3 259:8    0   384M  0 part /boot
└─nvme0n1p4 259:9    0    465.3G  0 part /sysroot/ostree/deploy/fedora-coreos/var
                                      /usr
                                      /etc
                                      /
                                      /sysroot

but frequently I can get this layout instead

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme1n1     259:0    0 931.5G  0 disk
├─nvme1n1p1 259:8    0     1M  0 part
├─nvme1n1p2 259:9    0   127M  0 part
├─nvme1n1p3 259:10   0   384M  0 part /boot
└─nvme1n1p4 259:11   0   931G  0 part /sysroot/ostree/deploy/fedora-coreos/var
                                      /usr
                                      /etc
                                      /
                                      /sysroot
nvme0n1     259:5    0 465.8G  0 disk

Can you file that as a bug at GitHub - coreos/fedora-coreos-tracker: Issue tracker for Fedora CoreOS ? Thanks

it turns out it was a different problem - there is no guarantee that disk device names for the same type of device will be assigned the same device names - the order is arbitrary. the solution was to replace references to /dev/device-name with /dev/disk/by-path/device-path