Skip to main content
The hosts array in scenario.json tells the runner which machines the scenario targets. How you define a host depends on the execution mode.

Host Mode (--mode host)

In host mode, you reference an existing host already registered in your 2501 deployment. The runner looks it up by ID and leaves the record untouched after the run.
Find host IDs in the Command Center or via the API.

VM Mode (--mode incus / --mode lima)

In VM mode, the runner provisions a fresh VM from a template before each scenario run and destroys it afterward. No pre-existing host record is needed; the runner creates and removes it automatically.
What the runner does for each run:
  1. Boots a VM clone from the specified template
  2. Injects the runner’s SSH public key and waits for SSH to become available
  3. Registers a host record in the DB (using the VM’s IP and port)
  4. Runs the scenario (prepare → execute → validate)
  5. Destroys the VM and removes the host record from the DB
The host_name becomes the Ansible inventory hostname and is used by agents to reference this host.

Available Templates

Templates are VM images the runner clones from. They are initialized automatically on first use. See Templates for the full list and management commands.

Multiple Hosts

For multi-host scenarios, define each host separately. Each agent references its host by host_name.

Field Reference