When running MicroCloud preseed with different per-node storage paths under /dev/disk/by-id, initialization fails with this error: Failed to find specified disk path: stat /dev/disk/by-id/<peer-disk-id>: no such file or directory. Here is an example of preseed file that reproduces the issue.
initiator: pc7b-ra8-n1
lookup_subnet: 10.20.7.0/24
lookup_timeout: 300
session_passphrase: "CHANGE_ME"
session_timeout: 900
systems:
- name: pc7b-ra8-n1
ovn_uplink_interface: bond1.3684
ovn_underlay_ip: 10.20.7.11
storage:
local:
path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b731514f0f50
wipe: true
ceph:
- path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b71d512c0050
wipe: true
encrypt: false
- name: pc7b-ra8-n2
ovn_uplink_interface: bond1.3684
ovn_underlay_ip: 10.20.7.12
storage:
local:
path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b7ae674f0f50
wipe: true
ceph:
- path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b77eda4e0f50
wipe: true
encrypt: false
- name: pc7b-ra8-n3
ovn_uplink_interface: bond1.3684
ovn_underlay_ip: 10.20.7.13
storage:
local:
path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b729034f0f50
wipe: true
ceph:
- path: /dev/disk/by-id/nvme-eui.0100000000000000c8d6b71fbf4e0f50
wipe: true
encrypt: false
ceph:
cephfs: true
internal_network: 10.20.7.0/24
public_network: 10.20.7.0/24
ovn:
ipv4_gateway: 91.189.94.17/28
ipv4_range: 91.189.94.18-91.189.94.30
ipv6_gateway: ""
dns_servers: ""
Each node has different by-id paths, and those paths exist only on the owning node. Since paths are validated with local os.Stat during iteration over all systems, peer node by-id paths are checked on the wrong machine, causing no such file errors on the initiator. This doesn't happen when manually deploying MicroCloud without a preseed file.
When running MicroCloud
preseedwith different per-node storage paths under/dev/disk/by-id, initialization fails with this error:Failed to find specified disk path: stat /dev/disk/by-id/<peer-disk-id>: no such file or directory. Here is an example ofpreseedfile that reproduces the issue.Each node has different by-id paths, and those paths exist only on the owning node. Since paths are validated with local
os.Statduring iteration over all systems, peer node by-id paths are checked on the wrong machine, causingno such file errorson the initiator. This doesn't happen when manually deploying MicroCloud without a preseed file.