Configure the Cluster Validation Suite (CVS) cluster file (cluster.json)#
2026-09-24
4 min read time
The cluster file (--cluster_file) tells CVS how to reach your cluster nodes: SSH credentials, which hosts to use, and whether to run on bare metal or in containers. You pass it to cvs run, cvs exec, and cvs scp.
For the complete field reference — every parameter, its type, default value, the container block schema, and the lifetime state matrix — see Cluster Validation Suite (CVS) cluster file: configuration and backend selection.
Create a cluster file#
You can create cluster.json in either of these ways:
Copy a template and edit manually — use
cvs config copyto copycluster.json(orcluster_container.jsonfor container runs), then edit SSH credentials, the head node, and worker addresses. For smaller clusters this is convenient. See Copy a cluster file template.Generate from a host list — use
cvs generate cluster_jsonwith a hosts file or comma-separated host list to buildcluster.jsonfrom your node inventory. Use this when you have many nodes or when you already maintain a host list. See Generate a cluster JSON file.
Copy a cluster file template#
CVS ships cluster templates under cvs/input/. Copy them with cvs config copy:
cvs config copy cluster.json --output ~/cvs_workspace/cluster.json
cvs config copy cluster_container.json --output ~/cvs_workspace/cluster_container.json
Edit cluster.json and replace every <changeme> placeholder with your SSH user, private key path, head node address, and worker node addresses. CVS exits with an error if any placeholder remains unresolved.
Generate a cluster JSON file#
For many nodes, generate cluster.json from a hosts file or comma-separated host list:
Option 1: hosts file
cvs generate cluster_json \
--input_hosts_file /tmp/hosts.txt \
--output_json_file ~/cvs_workspace/cluster.json \
--username myuser --key_file ~/.ssh/id_rsa --head_node 192.168.1.10
The hosts file supports one IP or hostname per line, ranges like 192.168.1.11-15, and bracket notation like server[01-05].
Option 2: comma-separated hosts
cvs generate cluster_json \
--hosts "192.168.1.10,192.168.1.11-15,server[01-05]" \
--output_json_file ~/cvs_workspace/cluster.json \
--username myuser --key_file ~/.ssh/id_rsa --head_node 192.168.1.10
Passwordless SSH#
Passwordless SSH from the head node to every worker is required. See Set up passwordless SSH for Cluster Validation Suite (CVS) cluster nodes for more information.
Container backend#
For container-based suites, use cluster_container.json and see Run Cluster Validation Suite (CVS) test suites with a per-host Docker container backend for more information.
Next steps#
Configure Cluster Validation Suite (CVS) test suite configuration files — copy and edit a test suite config file. Every test suite requires its own config with cluster-specific values before you can run it.
Run Cluster Validation Suite (CVS) test suites on AMD Instinct GPU clusters — run a test suite against the cluster.