Writes a disk image to one or more nodes over PXE and frisbee multicast.
omf load -t <topology> [-i image.ndz] [options]
omf load overwrites the node's disk. Anything on it — someone else's
half-finished work included — is gone. Check before you image a node you did
not just take:
ssh root@<node> 'uptime -p; who; ls -lt /root | head'
| Option | Default | Meaning |
|---|---|---|
-t, --topology TOPO |
— | the node set |
-i, --image IMAGE |
baseline.ndz |
image to write |
-r, --resize SIZE |
20 |
resize root after imaging: 0 = whole disk, N = N GB, NM = N MB |
-o, --timeout SECS |
800 |
imaging transfer timeout |
-b, --boot-timeout SECS |
inventory INF_reset_timeout |
PXE come-online timeout |
--outpath PATH |
/tmp |
where topology result files are written |
--outprefix PREFIX |
— | prefix for those files |
-d / -v / --debug |
— | as for every command |
# the common case - full disk, SDR image
omf load -t node1-1,node1-2 -i baseline-sdr.ndz -r 0
omf tell on -t node1-1,node1-2
# a large image needs a longer timeout (see the trap below)
omf load -t node1-1 -i scope-suite.ndz -r 0 -o 2400 -b 600
# whole sandbox, then retry only what failed
omf load -t all -i baseline.ndz
omf load -t system:topo:failed -i baseline.ndz
Always reference the stable symlink, never a versioned name:
| Use | Not |
|---|---|
baseline.ndz |
ubuntu2404-baseline.ndz |
baseline-sdr.ndz |
ubuntu2404-uhd4.9-gr3.10.ndz |
The symlinks are repointed when a generation moves — 22.04→24.04, UHD 4.8→4.9 —
so a page or script that names the symlink keeps working, and one that names the
target quietly images the wrong generation a year later.
omf load leaves the nodes POWERED OFFA load that finishes "successfully imaged" has booted nothing.
omf tell on -t <nodes>
Nodes can sit in the PXE stage image while omf stat cheerfully reports
POWERON. The signature is: ping works, SSH connects, key auth is refused
(password root works instead), hostname is (none).
The only reliable check is to ask the node:
ssh root@<node> 'cat /.omf-image-name'
Fix by power-cycling: omf tell offh → wait → omf tell on.
A multi-GB image can reach 80 % and stop. The give-away is a progress line
followed by TIMEOUT: 1 nodes still loading — and then omf load powers the
node off and still exits 0, so it reads as success.
Read the Progress line, not the exit status. For anything large:
omf load -t <node> -i <big>.ndz -r 0 -o 2400 -b 600
A freshly imaged node presents a new SSH host key, and
StrictHostKeyChecking=no alone does not override a changed key — it
only skips unknown ones. Automation needs both:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@<node>
or clear the old entry: ssh-keygen -R <node>.
Progress(1/0/2): 90/95/100 min(node)/avg/max - Timeout: 2289s
Imaging Process Done
2 nodes successfully imaged - Topology saved in '/tmp/omf-load-...-topo-success.rb'
The saved topologies become system:topo:imaged / :failed / :timedout for
the next command, which is how you retry only the stragglers.
Author(s): COSMOS team · Last verified: 2026-09-11 — options from omf load --help; traps 1–4 reproduced on sb1 and grid during 2026-08/09 imaging sessions · Tags: omf, user-guide, reference, imaging