Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mass Storage Device enumeration inconsistent #225

Open
rmbleeker opened this issue Oct 18, 2024 · 0 comments
Open

Mass Storage Device enumeration inconsistent #225

rmbleeker opened this issue Oct 18, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@rmbleeker
Copy link

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

@rmbleeker rmbleeker added the bug Something isn't working label Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant