Archived
Merge pull request 'fix(ha): resolve data disk device via by-id symlink even in dry-run' (#105) from worktree-partitioned-swimming-pizza into main
Check NixOS configurations / eval-hosts (push) Successful in 10m23s
Check NixOS configurations / eval-hosts (push) Successful in 10m23s
Reviewed-on: #105
This commit was merged in pull request #105.
This commit is contained in:
@@ -204,17 +204,13 @@ rescan_node() {
|
|||||||
local node_name=$1 run_fn=$2
|
local node_name=$1 run_fn=$2
|
||||||
|
|
||||||
# Resolve block device name from the stable by-id symlink on the guest.
|
# Resolve block device name from the stable by-id symlink on the guest.
|
||||||
|
# Read-only lookup — safe to run even in dry-run so we show the real device.
|
||||||
local blk_dev=""
|
local blk_dev=""
|
||||||
if ! $DRY_RUN; then
|
blk_dev=$($run_fn "bash -c 'basename \$(readlink -f /dev/disk/by-id/${DATA_DISK_BYID})'" 2>/dev/null || true)
|
||||||
blk_dev=$($run_fn "bash -c 'basename \$(readlink -f /dev/disk/by-id/${DATA_DISK_BYID})'" 2>/dev/null || true)
|
|
||||||
fi
|
|
||||||
if [[ -z "$blk_dev" ]]; then
|
if [[ -z "$blk_dev" ]]; then
|
||||||
# Fall back: scsi1 → index 1 → sdb, scsi2 → sdc, etc.
|
echo " ERROR: /dev/disk/by-id/${DATA_DISK_BYID} not found on $node_name" >&2
|
||||||
local slot_idx
|
echo " Check DATA_DISK_BYID or DATA_DISK_SLOT configuration." >&2
|
||||||
slot_idx=$(echo "$DATA_DISK_SLOT" | grep -oE '[0-9]+$' || echo "1")
|
exit 1
|
||||||
blk_dev=$(printf "sd%s" "$(echo "abcdefghij" | cut -c$((slot_idx + 1)))")
|
|
||||||
echo " WARNING: could not resolve /dev/disk/by-id/${DATA_DISK_BYID} on $node_name;" \
|
|
||||||
"falling back to /dev/${blk_dev}" >&2
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo " ${DRY_PREFIX}Rescanning /dev/${blk_dev} on ${node_name}..."
|
echo " ${DRY_PREFIX}Rescanning /dev/${blk_dev} on ${node_name}..."
|
||||||
|
|||||||
Reference in New Issue
Block a user