Upgrade Code does not handle non-standard device names for NVME drives

Description

OTA upgrades do not work on Latitude 7490's.
Install OXT Build 6662 (MLE enabled, SSH enabled, etc)
Attempt an OTA upgrade to the same build
A message about an "Internal error" will appear and the upgrade will fail. Logs show that upgrade manager claims "No EFI System Partition on disk".
This appears to be caused by the get_devnode_disk function in the installer not having a case for non-standard device names. To wit, the disk on this machine was "/dev/256GB_58SB72GPKAUP-part3" (according to output from vgs xenclient --noheadings -o pv_name).

Environment

Dell Latitude 7490
BIOS 1.9.3
TPM 2.0

Validation Steps

Install OXT build 6662 with MLE enabled
Attempt OTA upgrade to the same build
Observe that upgrade reports a success and after reboot MLE is still enabled.

Activity

Show:
Eric Chanudet
July 23, 2019, 7:53 PM

Indeed, these are links to the regular devnode. A readlink in that function would sort this up for all call sites.

Tyler McGavran
July 24, 2019, 11:59 AM

Yes, checking on the machine in question that device name does appear to be a symlink to “/dev/nvme0n1p3”
So something to the effect of

At the top of get_devnode_disk should do the trick

Tyler McGavran
July 29, 2019, 1:18 PM

Tested with 6671, appears to be fixed

Fixed

Assignee

Eric Chanudet

Reporter

Tyler McGavran

Labels

None

QA Assignee

None

QA Image URL

None

Epic Link

Components

Fix versions

Affects versions

Priority

Major
Configure