provision-vm: the data-disk directory does not exist on a fresh hypervisor and nothing creates it #86

Closed
opened 2026-10-09 16:48:01 +01:00 by vnprc-agent · 1 comment

provision-vm forge on a fresh hypervisor from the public template dies before creating anything, because the directory the template's data disks live in does not exist and nothing creates it.

Evidence, laptop, first provision-vm forge after getting-started.sh, 2026-10-09:

Provisioning VM 'forge' at 192.168.122.12.
Error: parent directory '/var/lib/allod' for data disk '/var/lib/allod/forge-data.img' does not exist.
Error: provisioning failed at line 125: "$NEW_VM_CMD" "${NEWVM_ARGS[@]}"

new-vm creates a missing data disk image as the operator with mktemp and truncate in the image's parent directory (scripts/new-vm, the DATA_DISK_TMP block), and refuses when the parent is absent. The template inventory puts the forge's disk at /var/lib/allod/forge-data.img (allod/inventory flake.nix, machine forge). No module in allod/nexus, allod/archetypes or allod/profiles declares that directory; the deployment that first used data disks created it by hand.

Workaround used on the walk: sudo install -d -o "$USER" -g users -m 755 /var/lib/allod, then rerun provision-vm forge.

Found on the public install walk, slice 5 witness (allod/strategy#65).

`provision-vm forge` on a fresh hypervisor from the public template dies before creating anything, because the directory the template's data disks live in does not exist and nothing creates it. Evidence, laptop, first `provision-vm forge` after `getting-started.sh`, 2026-10-09: Provisioning VM 'forge' at 192.168.122.12. Error: parent directory '/var/lib/allod' for data disk '/var/lib/allod/forge-data.img' does not exist. Error: provisioning failed at line 125: "$NEW_VM_CMD" "${NEWVM_ARGS[@]}" `new-vm` creates a missing data disk image as the operator with `mktemp` and `truncate` in the image's parent directory (`scripts/new-vm`, the `DATA_DISK_TMP` block), and refuses when the parent is absent. The template inventory puts the forge's disk at `/var/lib/allod/forge-data.img` (`allod/inventory` `flake.nix`, machine `forge`). No module in `allod/nexus`, `allod/archetypes` or `allod/profiles` declares that directory; the deployment that first used data disks created it by hand. Workaround used on the walk: `sudo install -d -o "$USER" -g users -m 755 /var/lib/allod`, then rerun `provision-vm forge`. Found on the public install walk, slice 5 witness (allod/strategy#65).
Author

Landed on allod/archetypes master f2013e4: mkHypervisor declares /var/lib/allod for the operator through a tmpfiles rule; pinned by the deploy template. Witnessed on the second and third clean installs, 2026-10-09: provision-vm forge created its data-disk image with no hand step.

Landed on allod/archetypes master f2013e4: mkHypervisor declares /var/lib/allod for the operator through a tmpfiles rule; pinned by the deploy template. Witnessed on the second and third clean installs, 2026-10-09: provision-vm forge created its data-disk image with no hand step.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/nexus#86
No description provided.