extend disk topo plugin to enumerate nvme devices
The disk topo plugin can be invoked under a "bay" topo node in order to enumerate the disk occupant, if one is present. The bay nodes contain a set of properties which provide hints to the disk plugin for how to discover if a disk is present. Today this mechanism works for the following HW configurations:
- direct-attached SATA drives
- direct-attached SAS drives
- SAS drives behind a SAS expander that supports SCSI Enclosure Services (SES)
For the direct-attached cases, a topo map file must be provided, which statically defines the bay nodes with the hint properties required by the disk topo plugin.
For the "SAS drives behind a SAS expander that supports SES" case, the ses topo plugin dynamically enumerates the bay nodes.
This ticket is to cover the work to extend the disk topo plugin to enumerate direct-attached NVMe devices.
The approach will be that an NVMe device will be represented by a single child "nvme" node. The "nvme" node will then have N child "disk" nodes where N is the number of namespaces configured on the nvme device.