Skip to main content
POST
Mark test executions as stale

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

Input serializer for the mark-stale bulk action.

At least one of device_ids, rack_ids, topology_group_ids, or topology_group_labels must be provided — every device they resolve to is unioned into a single target set. topology_group_ids/topology_group_labels resolve a group and all of its descendants (e.g. a pod covers every rack/NVLink domain beneath it), matching the existing topology_group_id filter semantics used elsewhere in the API. rack_ids/topology_group_ids/ topology_group_labels expansions are restricted to host-kind devices, so a rack or pod containing a switch doesn't fail the whole call over a device type that was never meant to be targeted.

Exactly one of test_slugs (manual) or operation (resolved from stale_test_operations.yaml, per device's device type) must be provided. Manual marks must include a note explaining why, since there's no operation label to carry that context — this is the "idiot proofing": a caller can't silently mass-invalidate records with no explanation.

device_ids
string<uuid>[]

Devices whose test records should be marked stale.

Minimum array length: 1
rack_ids
string<uuid>[]

Mark stale every device in these racks, in addition to device_ids.

Minimum array length: 1
topology_group_ids
string<uuid>[]

Mark stale every device in these topology groups and their descendants (e.g. a pod), in addition to device_ids/rack_ids. Topology group UUIDs are call-time only — a topology rebuild deletes and recreates groups with new UUIDs, so callers must resolve fresh IDs immediately before each call rather than caching them. Prefer topology_group_labels for anything that outlives a single request.

Minimum array length: 1
topology_group_labels
string[]

Mark stale every device in these topology groups (resolved by label, scoped to site_id) and their descendants, in addition to the other target fields. Labels are stable across topology rebuilds, unlike topology_group_ids — prefer this field for anything a caller might store rather than resolve immediately before the call. Requires site_id.

Minimum array length: 1
site_id
string<uuid>

Required when topology_group_labels is provided, to resolve labels unambiguously.

test_slugs
string[]

Test slugs to invalidate directly (e.g. 'single-node.hpl-cpu'). Mutually exclusive with operation; requires note.

Minimum array length: 1
operation
string

A stale-test operation slug (e.g. 'node_reseat') from stale_test_operations.yaml. Resolved per device's device type into that operation's mapped test_slugs. Mutually exclusive with test_slugs. See GET /burn-in/stale-test-operations/ for the available operations.

Pattern: ^[-a-zA-Z0-9_]+$
note
string
default:""

Reason for this mark-stale action. Required when using test_slugs directly.

Maximum string length: 1000
stale_before
string<date-time> | null

Only mark executions completed before this datetime. Omit to target all matching records.

Response

Response serializer for the mark-stale bulk action.

marked_stale_count
integer
required

Number of test execution records attached to stale holds by this call.

stale_hold_ids
string<uuid>[]
required

IDs of the TestExecutionStaleHold audit records created by this call, for later undo. One per device-type group actually touched; empty when nothing matched.