Description
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:
- Attach node1 eMMC as mass storage device:
tpi advanced msd --node 1
- Check the block device it's attached as:
lsblk
. Output might show sda - Detach node1 eMMC:
tpi advanced normal --node 1
- Power down node1:
tpi power off --node 1
- Attach node1 eMMC as mass storage device again:
tpi advanced msd --node 1
- 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.