Skip to content

Mass Storage Device enumeration inconsistent #225

Open
@rmbleeker

Description

@rmbleeker

Describe the bug
After flashing the nodes on my TuringPi v2.5 I do some pre-boot configuration, like setting up partitions and modifying the cloud-init user-data file. This requires me to expose the eMMC storage on the nodes as a mass storage device on the BMC. However, the eMMC storage on the nodes does not always show up as the same block device on the BMC. If you attach and detach the same node as a mass storage device on the BMC multiple times, it will toggle between /dev/sda and /dev/sdb. The same thing happens when you attach and detach all nodes individually in succession. If you attach all nodes at the same time and the first time they're in the correct order (node1 as /dev/sda, node2 as /dev/sdb etc.), after detaching and re-attaching nodes 1 and 2 will be out of order. This inconsistent behavior makes automating my pre-boot configuration tasks near impossible.

To Reproduce
Steps to reproduce the behavior:

  1. Attach node1 eMMC as mass storage device: tpi advanced msd --node 1
  2. Check the block device it's attached as: lsblk. Output might show sda
  3. Detach node1 eMMC: tpi advanced normal --node 1
  4. Power down node1: tpi power off --node 1
  5. Attach node1 eMMC as mass storage device again: tpi advanced msd --node 1
  6. Check the block device it's attached as: lsblk. Output will differ from output in step 2, so in this example will now show sdb

Expected behavior
If there's only one msd attached, I would expect it to always show up as /dev/sda. Only when the storage of another node is attached should it get exposed as /dev/sdb. Alternatively if would be nice if the storage of a node always gets exposed as the same block device, so the eMMC on node1 will always be /dev/sda, node2 will always be /dev/sdb, etc. For automation purposes it would also help if the tpi advanced msd command returned the name of the block device it assigned to the node's storage.

Screenshots
Screenshot from 2024-10-19 00-52-12

Versions
Screenshot from 2024-10-19 00-53-16

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions