Skip to content

stratumctl nodes

Inspect + manage hypervisor nodes (operator-only,)

Terminal window
stratumctl nodes [flags]

Aliases: node, hypervisor-nodes

How many more of each instance type fit, and what runs out first

Terminal window
stratumctl nodes capacity [flags]
Terminal window
stratumctl nodes capacity
stratumctl nodes capacity --type m1.large
Flag Type Default Description
--type string Show one instance type per node (e.g. m1.large)

Refuse new placements while keeping running instances

Terminal window
stratumctl nodes cordon <node-id> [flags]
Terminal window
stratumctl nodes cordon n-AbCd1234

Wipe a disk’s signatures so it can join a pool (operator-only)

Terminal window
stratumctl nodes disk-wipe <node-id> <disk> [flags]
Terminal window
stratumctl nodes disk-wipe n-AbCd1234 vdb --force-wipe
Flag Type Default Description
--force-wipe bool false Required to wipe a disk carrying data; never overrides mounted/active-PV guards

List a node’s block devices + usage (operator-only)

Terminal window
stratumctl nodes disks <node-id> [flags]
Terminal window
stratumctl nodes disks n-AbCd1234

Refuse new placements + evacuate the node’s instances

Terminal window
stratumctl nodes drain <node-id> [flags]
Terminal window
stratumctl nodes drain n-AbCd1234
stratumctl nodes drain n-AbCd1234 --allow-disruption
Flag Type Default Description
--allow-disruption bool false permit stopping running instances that cannot move any other way (their root volume is node-local)

Show what draining a node would do to each of its instances

Terminal window
stratumctl nodes evacuation-plan <node-id> [flags]
Terminal window
stratumctl nodes evacuation-plan n-AbCd1234

Describe a hypervisor node

Terminal window
stratumctl nodes get <node-id> [flags]
Terminal window
stratumctl nodes get n-AbCd1234
stratumctl nodes get n-AbCd1234 --output json

List hypervisor nodes

Terminal window
stratumctl nodes list [flags]
Terminal window
stratumctl nodes list
stratumctl nodes list --state ready --az lab-1a
Flag Type Default Description
--az string Filter by availability zone
--region string Filter by region
--role string Filter by role (hybrid | hypervisor)
--state string Filter by state (ready | cordoned | draining | maintenance | unknown)

Mark a node for operator-driven maintenance (kicks every instance to error)

Terminal window
stratumctl nodes maintenance <node-id> [flags]
Terminal window
stratumctl nodes maintenance n-AbCd1234

Reboot a node, gracefully

Terminal window
stratumctl nodes reboot <node-id> [flags]

Reboot a node. The node’s own host-helper reboots it a few seconds after the answer; on the way down its VMs are shut down (ACPI, then power-off after the drain’s timeout) and its Ceph OSDs get noout, and on the way back the VMs it stopped start again. The node is held in maintenance until it has booted again.

On a single-node install the console and the API are down until it is back.

Refused for the same reasons as ‘stratumctl nodes shutdown’; –force overrides the quorum refusal only.

Terminal window
stratumctl nodes reboot n-msst0002 --reason "kernel update"
stratumctl nodes reboot n-msst0002 --yes -o json
Flag Type Default Description
--force bool false Go ahead when the cluster would be left without a control-plane majority
--reason string Why (recorded and audited)
-y, --yes bool false Do not ask for confirmation

Set what a single-node install keeps back from VMs (or hand it back to the computed default)

Terminal window
stratumctl nodes set-reservation <node-id> [flags]

Set the node’s reservation: the vCPUs and memory the substrate keeps for itself, taken off the total before the overcommit ratio, and enforced as system.slice’s MemoryMin/MemoryLow.

The default is computed from the node’s size: max(2, 6% of the threads) vCPUs and max(6 GiB, 10% of RAM). A value set here is kept from then on. It may go below the default for a development box, down to 1 vCPU and 4 GiB: that floor is the minimum for development and not recommended for production.

Terminal window
stratumctl nodes set-reservation n-0123456789 --vcpus 2 --memory-gib 8
stratumctl nodes set-reservation n-0123456789 --computed

Single-node installs only.

Terminal window
stratumctl nodes set-reservation n-AbCd1234 --vcpus 4 --memory-gib 12
stratumctl nodes set-reservation n-AbCd1234 --computed
Flag Type Default Description
--computed bool false hand the node back to the computed default
--memory-gib int64 0 GiB of memory to keep back from VMs (at least 4)
--vcpus int 0 vCPUs to keep back from VMs (at least 1)

Shut a node down (power off), gracefully

Terminal window
stratumctl nodes shutdown <node-id> [flags]

Shut a node down. The node’s own host-helper powers it off a few seconds after the answer; on the way down its VMs are shut down (ACPI, then power-off after the drain’s timeout) and its Ceph OSDs get noout. The node is held in maintenance until it has booted again, so nothing is placed on it and nothing evacuates it. It stays off until someone powers it on.

On a single-node install the console and the API go down with it.

Refused while an upgrade or a cluster shutdown runs, while an instance migrates to or from the node, and when the cluster would be left without a majority of its control-plane nodes up (–force overrides that one only).

Terminal window
stratumctl nodes shutdown n-msst0002 --reason "replace a fan"
stratumctl nodes shutdown n-msst0002 --yes -o json
Flag Type Default Description
--force bool false Go ahead when the cluster would be left without a control-plane majority
--reason string Why (recorded and audited)
-y, --yes bool false Do not ask for confirmation

Return a cordoned/drained node to ready

Terminal window
stratumctl nodes uncordon <node-id> [flags]
Terminal window
stratumctl nodes uncordon n-AbCd1234