curl --request GET \
--url https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 123,
"results": [
{
"device_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"device_name": "<string>",
"rack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rack_name": "<string>",
"in_triage": true,
"column": "enrolment",
"status": "not_started",
"latest_in_sequence_started_at": "2023-11-07T05:31:56Z",
"latest_in_sequence_finished_at": "2023-11-07T05:31:56Z",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"failure_code": "<string>",
"responsible_team": "fleet_manager",
"failure_message": "<string>"
}
],
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2"
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}List device standup placements and latest executions
Devices at a site with their standup placement and latest execution.
Ordered by most recent execution activity first — a device that finished
a job ranks on when it finished, one still running on when it started,
and one still queued on when its Job was created. Only a device that has
never run an in-sequence job sorts last, with null timestamps and a null
job_id.
Filters combine as OR within one parameter and AND across parameters.
failure_code and responsible_team are populated only on a failed
device, so filtering on either also narrows to those.
curl --request GET \
--url https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/sites/{site_id}/operations/device-executions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 123,
"results": [
{
"device_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"device_name": "<string>",
"rack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rack_name": "<string>",
"in_triage": true,
"column": "enrolment",
"status": "not_started",
"latest_in_sequence_started_at": "2023-11-07T05:31:56Z",
"latest_in_sequence_finished_at": "2023-11-07T05:31:56Z",
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"failure_code": "<string>",
"responsible_team": "fleet_manager",
"failure_message": "<string>"
}
],
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2"
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Site identifier.
Query Parameters
Optional. Keep only devices currently placed in these pipeline columns; repeat the param to include more than one.
enrolment- ENROLMENTquarantine- QUARANTINEsingle_node_test- SINGLE_NODE_TESTmulti_node_test- MULTI_NODE_TESTrelease- RELEASE
enrolment, quarantine, single_node_test, multi_node_test, release Optional. List only devices of these classes; repeat the param to include more than one (e.g. gpu_compute + cpu_baremetal). Accepts exactly what the standup matrix and the dashboard cards accept, so a filtered table agrees with them.
cpu_baremetal, cpu_hypervisor, gpu_compute Optional. Keep only devices whose failure carries one of these codes; repeat the param to include more than one. Only a failed device carries a code, so this also narrows to them. Validated against the listed values — a code this release does not know is rejected rather than silently matching nothing. Failures carrying a stored code outside this set are reachable through responsible_team=unknown, which is what an unrecognised code resolves to.
UNMAPPED_APPLICATION_ERROR- UNMAPPED_APPLICATION_ERRORACTIVITY_EXECUTION_FAILURE- ACTIVITY_EXECUTION_FAILUREUNEXPECTED_WORKFLOW_EXCEPTION- UNEXPECTED_WORKFLOW_EXCEPTIONWORKFLOW_TIMEOUT- WORKFLOW_TIMEOUTWORKFLOW_CANCELLED- WORKFLOW_CANCELLEDWORKFLOW_TERMINATED- WORKFLOW_TERMINATEDUNKNOWN_WORKFLOW_FAILURE- UNKNOWN_WORKFLOW_FAILUREJOB_PARAMETERS_INVALID- JOB_PARAMETERS_INVALIDJOB_SUBMISSION_FAILED- JOB_SUBMISSION_FAILEDIRONIC_NODE_CLEAN_FAILED- IRONIC_NODE_CLEAN_FAILEDIRONIC_NODE_CLEAN_INVALID_ACTION- IRONIC_NODE_CLEAN_INVALID_ACTIONIRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATE- IRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATEQUARANTINE_TRAIT_REMOVAL_FAILED- QUARANTINE_TRAIT_REMOVAL_FAILEDRELEASE_TRAIT_ADDITION_FAILED- RELEASE_TRAIT_ADDITION_FAILEDRELEASE_PARTITION_LATCH_REFUSED- RELEASE_PARTITION_LATCH_REFUSEDRELEASE_BACKEND_VRF_LATCH_REFUSED- RELEASE_BACKEND_VRF_LATCH_REFUSEDMETAL_HANDOFF_FAILED- METAL_HANDOFF_FAILEDMETAL_RECLAIM_FAILED- METAL_RECLAIM_FAILEDCUSTODY_STATUS_UPDATE_FAILED- CUSTODY_STATUS_UPDATE_FAILEDSLURM_ADOPT_FAILED- SLURM_ADOPT_FAILEDSLURM_RELEASE_FAILED- SLURM_RELEASE_FAILEDSLURM_REGISTRATION_TIMEOUT- SLURM_REGISTRATION_TIMEOUTIMAGE_NODE_FAILED- IMAGE_NODE_FAILEDUNIMAGE_NODE_FAILED- UNIMAGE_NODE_FAILEDREPORT_SITE_NOT_FOUND- REPORT_SITE_NOT_FOUNDREPORT_NO_DATA_FOUND- REPORT_NO_DATA_FOUNDREPORT_INVALID_BUNDLE_INPUT- REPORT_INVALID_BUNDLE_INPUTREPORT_INVALID_SECTION- REPORT_INVALID_SECTIONBURN_IN_DEVICE_STATUS_INVALID- BURN_IN_DEVICE_STATUS_INVALIDBURN_IN_SLURM_NODE_VALIDATION_FAILED- BURN_IN_SLURM_NODE_VALIDATION_FAILEDBURN_IN_SLURM_RESERVATION_FAILED- BURN_IN_SLURM_RESERVATION_FAILEDBURN_IN_RESERVATION_WAIT_TIMEOUT- BURN_IN_RESERVATION_WAIT_TIMEOUTBURN_IN_RESERVATION_QUEUE_UNAVAILABLE- BURN_IN_RESERVATION_QUEUE_UNAVAILABLEBURN_IN_TEST_PREPARATION_FAILED- BURN_IN_TEST_PREPARATION_FAILEDBURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILING- BURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILINGHARDWARE_TEST_IMAGE_PREPARATION_FAILED- HARDWARE_TEST_IMAGE_PREPARATION_FAILEDBURN_IN_TEST_EXECUTION_FAILED- BURN_IN_TEST_EXECUTION_FAILEDBURN_IN_INSUFFICIENT_DEVICES- BURN_IN_INSUFFICIENT_DEVICESBURN_IN_UNKNOWN_TEST_SLUG- BURN_IN_UNKNOWN_TEST_SLUGBURN_IN_INVALID_WORKFLOW_STAGE- BURN_IN_INVALID_WORKFLOW_STAGEBURN_IN_MISSING_RESOURCE_CLASS- BURN_IN_MISSING_RESOURCE_CLASSBURN_IN_MIXED_RESOURCE_CLASS- BURN_IN_MIXED_RESOURCE_CLASSBURN_IN_WORKFLOW_STATE_INVALID- BURN_IN_WORKFLOW_STATE_INVALIDBURN_IN_MISSING_PAIR_METRICS- BURN_IN_MISSING_PAIR_METRICSBURN_IN_DUPLICATE_SLURM_SUBMISSION- BURN_IN_DUPLICATE_SLURM_SUBMISSIONBMC_HTTP_SERVICE_UNAVAILABLE- BMC_HTTP_SERVICE_UNAVAILABLEBMC_HTTP_BAD_REQUEST- BMC_HTTP_BAD_REQUESTBMC_HTTP_UNAUTHORIZED- BMC_HTTP_UNAUTHORIZEDBMC_HTTP_FORBIDDEN- BMC_HTTP_FORBIDDENBMC_REDFISH_DISCONNECT- BMC_REDFISH_DISCONNECTBMC_REDFISH_FD_EXHAUSTION- BMC_REDFISH_FD_EXHAUSTIONBMC_HTTP_GENERIC_ERROR- BMC_HTTP_GENERIC_ERRORBMC_COLD_RESET_TIMEOUT- BMC_COLD_RESET_TIMEOUTBMC_IPMI_UNREACHABLE- BMC_IPMI_UNREACHABLEBMC_IPMI_COMMAND_ERROR- BMC_IPMI_COMMAND_ERRORNVSWITCH_CREDENTIAL_MISSING- NVSWITCH_CREDENTIAL_MISSINGNVSWITCH_CREDENTIAL_ERROR- NVSWITCH_CREDENTIAL_ERRORNVSWITCH_ADDRESS_INVALID- NVSWITCH_ADDRESS_INVALIDNVSWITCH_ADDRESS_MISSING- NVSWITCH_ADDRESS_MISSINGNVSWITCH_PRECONDITION_FAILED- NVSWITCH_PRECONDITION_FAILEDIRONIC_HTTP_INTERNAL_SERVER_ERROR- IRONIC_HTTP_INTERNAL_SERVER_ERRORIRONIC_SSL_VERSION_ERROR- IRONIC_SSL_VERSION_ERRORIRONIC_VIRTUAL_MEDIA_INSPECTION_ERROR- IRONIC_VIRTUAL_MEDIA_INSPECTION_ERRORIRONIC_NODE_POWER_STATE_ERROR- IRONIC_NODE_POWER_STATE_ERRORIRONIC_DRIVER_MISMATCH- IRONIC_DRIVER_MISMATCHIRONIC_NODE_CUSTOMER_INSTANCE_ATTACHED- IRONIC_NODE_CUSTOMER_INSTANCE_ATTACHEDIRONIC_NODE_STUCK_IN_ENROLL- IRONIC_NODE_STUCK_IN_ENROLLIRONIC_INSPECTFAIL- IRONIC_INSPECTFAILIRONIC_CLEANFAIL- IRONIC_CLEANFAILIRONIC_NODE_LOCKED- IRONIC_NODE_LOCKEDIRONIC_UEFI_BOOT_MODE_TIMEOUT- IRONIC_UEFI_BOOT_MODE_TIMEOUTIRONIC_ENROLLMENT_ACTIVITY_TIMEOUT- IRONIC_ENROLLMENT_ACTIVITY_TIMEOUTIRONIC_INSPECTION_HARDWARE_VALIDATION_FAILED- IRONIC_INSPECTION_HARDWARE_VALIDATION_FAILEDIRONIC_INSPECTION_TIMEOUT- IRONIC_INSPECTION_TIMEOUTIRONIC_INSPECTION_DID_NOT_RUN- IRONIC_INSPECTION_DID_NOT_RUNIRONIC_INSPECTION_IPA_IMAGE_NOT_FOUND- IRONIC_INSPECTION_IPA_IMAGE_NOT_FOUNDIRONIC_NODE_POWER_ON_TIMEOUT- IRONIC_NODE_POWER_ON_TIMEOUTIRONIC_NODE_UNEXPECTED_PROVISION_STATE- IRONIC_NODE_UNEXPECTED_PROVISION_STATEIRONIC_ROUTING_UNRESOLVED- IRONIC_ROUTING_UNRESOLVEDNETBOX_DEVICE_STATUS_INVALID- NETBOX_DEVICE_STATUS_INVALIDNETBOX_STATUS_UPDATE_FAILED- NETBOX_STATUS_UPDATE_FAILEDNETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMED- NETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMEDNETBOX_LAG_PARENT_MISSING- NETBOX_LAG_PARENT_MISSINGNETBOX_CABLE_TOPOLOGY_INVALID- NETBOX_CABLE_TOPOLOGY_INVALIDNETBOX_INTERFACE_CABLE_MISSING- NETBOX_INTERFACE_CABLE_MISSINGNETBOX_INTERFACE_MAC_ADDRESS_MISSING- NETBOX_INTERFACE_MAC_ADDRESS_MISSINGPLATFORM_CLASS_UNRESOLVABLE- PLATFORM_CLASS_UNRESOLVABLEPLATFORM_CLASS_RECORD_FAILED- PLATFORM_CLASS_RECORD_FAILEDDHCP_CONFIGURATION_FAILED- DHCP_CONFIGURATION_FAILEDDHCP_TIMEOUT- DHCP_TIMEOUTDHCP_SERVICE_NOT_ACTIVE- DHCP_SERVICE_NOT_ACTIVECABLE_LLDP_VERIFICATION_FAILED- CABLE_LLDP_VERIFICATION_FAILEDFRONTEND_LINK_DOWN- FRONTEND_LINK_DOWNONEPASSWORD_VAULT_DATA_CONFLICT- ONEPASSWORD_VAULT_DATA_CONFLICTCONNECTIVITY_VERIFICATION_ACTIVITY_FAILED- CONNECTIVITY_VERIFICATION_ACTIVITY_FAILEDENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLE- ENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLEENROLLMENT_COMPLETION_PROOF_REJECTED- ENROLLMENT_COMPLETION_PROOF_REJECTEDENROLLMENT_PROOF_MISSING- ENROLLMENT_PROOF_MISSINGENROLLMENT_PROOF_UNAVAILABLE- ENROLLMENT_PROOF_UNAVAILABLEUNENROLLMENT_RUNTIME_STATE_INVALID- UNENROLLMENT_RUNTIME_STATE_INVALIDUNENROLLMENT_NODE_DEPLOYED_IN_NOVA- UNENROLLMENT_NODE_DEPLOYED_IN_NOVAUNENROLLMENT_IRONIC_TEARDOWN_FAILED- UNENROLLMENT_IRONIC_TEARDOWN_FAILEDUNENROLLMENT_PLACEMENT_RP_DELETE_FAILED- UNENROLLMENT_PLACEMENT_RP_DELETE_FAILEDUNENROLLMENT_NETBOX_STATUS_UPDATE_FAILED- UNENROLLMENT_NETBOX_STATUS_UPDATE_FAILEDUNENROLLMENT_BMC_FACTORY_RESET_FAILED- UNENROLLMENT_BMC_FACTORY_RESET_FAILEDFIRMWARE_INVENTORY_INVALID_SCOPE- FIRMWARE_INVENTORY_INVALID_SCOPEFIRMWARE_INVENTORY_COLLECTION_FAILED- FIRMWARE_INVENTORY_COLLECTION_FAILEDFIRMWARE_VERIFICATION_INVALID_SCOPE- FIRMWARE_VERIFICATION_INVALID_SCOPEFIRMWARE_VERIFICATION_NON_COMPLIANT- FIRMWARE_VERIFICATION_NON_COMPLIANTFIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLE- FIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLEFIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILED- FIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILEDFIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICT- FIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICTNODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATE- NODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATENODE_DIAGNOSTICS_STATE_CHANGED- NODE_DIAGNOSTICS_STATE_CHANGEDNODE_DIAGNOSTICS_CLASSIFICATION_FAILED- NODE_DIAGNOSTICS_CLASSIFICATION_FAILEDNODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILED- NODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILEDNODE_DIAGNOSTICS_SUMMARY_WRITE_FAILED- NODE_DIAGNOSTICS_SUMMARY_WRITE_FAILEDPOWER_CYCLE_BMC_FAILED- POWER_CYCLE_BMC_FAILEDMAINTENANCE_MODE_FAILED- MAINTENANCE_MODE_FAILEDSWITCH_VRF_FLIP_FAILED- SWITCH_VRF_FLIP_FAILEDSWITCH_VRF_LATCH_WRITE_FAILED- SWITCH_VRF_LATCH_WRITE_FAILEDSWITCH_VRF_PREFLIGHT_REFUSED- SWITCH_VRF_PREFLIGHT_REFUSEDNVLINK_PARTITION_FAILED- NVLINK_PARTITION_FAILEDNVLINK_PARTITION_CONTRACT_FAILED- NVLINK_PARTITION_CONTRACT_FAILEDNVLINK_PARTITION_INVALID_REQUEST- NVLINK_PARTITION_INVALID_REQUESTNVLINK_PARTITION_PREFLIGHT_REFUSED- NVLINK_PARTITION_PREFLIGHT_REFUSEDNVLINK_LATCH_WRITE_FAILED- NVLINK_LATCH_WRITE_FAILEDBACKEND_VRF_PREFLIGHT_REFUSED- BACKEND_VRF_PREFLIGHT_REFUSEDBACKEND_VRF_APPLY_REFUSED- BACKEND_VRF_APPLY_REFUSEDBACKEND_VRF_FLIP_FAILED- BACKEND_VRF_FLIP_FAILEDBACKEND_VRF_LATCH_WRITE_FAILED- BACKEND_VRF_LATCH_WRITE_FAILEDSWITCH_LOCK_TIMEOUT- SWITCH_LOCK_TIMEOUTSWITCH_LOCK_LOST- SWITCH_LOCK_LOSTSWITCH_WRITE_UNCONFIRMED- SWITCH_WRITE_UNCONFIRMEDSLURM_HTTP_BAD_REQUEST- SLURM_HTTP_BAD_REQUESTSLURM_HTTP_UNAUTHORIZED- SLURM_HTTP_UNAUTHORIZEDSLURM_HTTP_FORBIDDEN- SLURM_HTTP_FORBIDDENSLURM_HTTP_SERVICE_UNAVAILABLE- SLURM_HTTP_SERVICE_UNAVAILABLESLURM_NODE_STATE_FAILED- SLURM_NODE_STATE_FAILEDNODE_SWAP_VALIDATION_FAILED- NODE_SWAP_VALIDATION_FAILEDTOPOLOGY_SYNC_INTENT_FAILED- TOPOLOGY_SYNC_INTENT_FAILED
UNMAPPED_APPLICATION_ERROR, ACTIVITY_EXECUTION_FAILURE, UNEXPECTED_WORKFLOW_EXCEPTION, WORKFLOW_TIMEOUT, WORKFLOW_CANCELLED, WORKFLOW_TERMINATED, UNKNOWN_WORKFLOW_FAILURE, JOB_PARAMETERS_INVALID, JOB_SUBMISSION_FAILED, IRONIC_NODE_CLEAN_FAILED, IRONIC_NODE_CLEAN_INVALID_ACTION, IRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATE, QUARANTINE_TRAIT_REMOVAL_FAILED, RELEASE_TRAIT_ADDITION_FAILED, RELEASE_PARTITION_LATCH_REFUSED, RELEASE_BACKEND_VRF_LATCH_REFUSED, METAL_HANDOFF_FAILED, METAL_RECLAIM_FAILED, CUSTODY_STATUS_UPDATE_FAILED, SLURM_ADOPT_FAILED, SLURM_RELEASE_FAILED, SLURM_REGISTRATION_TIMEOUT, IMAGE_NODE_FAILED, UNIMAGE_NODE_FAILED, REPORT_SITE_NOT_FOUND, REPORT_NO_DATA_FOUND, REPORT_INVALID_BUNDLE_INPUT, REPORT_INVALID_SECTION, BURN_IN_DEVICE_STATUS_INVALID, BURN_IN_SLURM_NODE_VALIDATION_FAILED, BURN_IN_SLURM_RESERVATION_FAILED, BURN_IN_RESERVATION_WAIT_TIMEOUT, BURN_IN_RESERVATION_QUEUE_UNAVAILABLE, BURN_IN_TEST_PREPARATION_FAILED, BURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILING, HARDWARE_TEST_IMAGE_PREPARATION_FAILED, BURN_IN_TEST_EXECUTION_FAILED, BURN_IN_INSUFFICIENT_DEVICES, BURN_IN_UNKNOWN_TEST_SLUG, BURN_IN_INVALID_WORKFLOW_STAGE, BURN_IN_MISSING_RESOURCE_CLASS, BURN_IN_MIXED_RESOURCE_CLASS, BURN_IN_WORKFLOW_STATE_INVALID, BURN_IN_MISSING_PAIR_METRICS, BURN_IN_DUPLICATE_SLURM_SUBMISSION, BMC_HTTP_SERVICE_UNAVAILABLE, BMC_HTTP_BAD_REQUEST, BMC_HTTP_UNAUTHORIZED, BMC_HTTP_FORBIDDEN, BMC_REDFISH_DISCONNECT, BMC_REDFISH_FD_EXHAUSTION, BMC_HTTP_GENERIC_ERROR, BMC_COLD_RESET_TIMEOUT, BMC_IPMI_UNREACHABLE, BMC_IPMI_COMMAND_ERROR, NVSWITCH_CREDENTIAL_MISSING, NVSWITCH_CREDENTIAL_ERROR, NVSWITCH_ADDRESS_INVALID, NVSWITCH_ADDRESS_MISSING, NVSWITCH_PRECONDITION_FAILED, IRONIC_HTTP_INTERNAL_SERVER_ERROR, IRONIC_SSL_VERSION_ERROR, IRONIC_VIRTUAL_MEDIA_INSPECTION_ERROR, IRONIC_NODE_POWER_STATE_ERROR, IRONIC_DRIVER_MISMATCH, IRONIC_NODE_CUSTOMER_INSTANCE_ATTACHED, IRONIC_NODE_STUCK_IN_ENROLL, IRONIC_INSPECTFAIL, IRONIC_CLEANFAIL, IRONIC_NODE_LOCKED, IRONIC_UEFI_BOOT_MODE_TIMEOUT, IRONIC_ENROLLMENT_ACTIVITY_TIMEOUT, IRONIC_INSPECTION_HARDWARE_VALIDATION_FAILED, IRONIC_INSPECTION_TIMEOUT, IRONIC_INSPECTION_DID_NOT_RUN, IRONIC_INSPECTION_IPA_IMAGE_NOT_FOUND, IRONIC_NODE_POWER_ON_TIMEOUT, IRONIC_NODE_UNEXPECTED_PROVISION_STATE, IRONIC_ROUTING_UNRESOLVED, NETBOX_DEVICE_STATUS_INVALID, NETBOX_STATUS_UPDATE_FAILED, NETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMED, NETBOX_LAG_PARENT_MISSING, NETBOX_CABLE_TOPOLOGY_INVALID, NETBOX_INTERFACE_CABLE_MISSING, NETBOX_INTERFACE_MAC_ADDRESS_MISSING, PLATFORM_CLASS_UNRESOLVABLE, PLATFORM_CLASS_RECORD_FAILED, DHCP_CONFIGURATION_FAILED, DHCP_TIMEOUT, DHCP_SERVICE_NOT_ACTIVE, CABLE_LLDP_VERIFICATION_FAILED, FRONTEND_LINK_DOWN, ONEPASSWORD_VAULT_DATA_CONFLICT, CONNECTIVITY_VERIFICATION_ACTIVITY_FAILED, ENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLE, ENROLLMENT_COMPLETION_PROOF_REJECTED, ENROLLMENT_PROOF_MISSING, ENROLLMENT_PROOF_UNAVAILABLE, UNENROLLMENT_RUNTIME_STATE_INVALID, UNENROLLMENT_NODE_DEPLOYED_IN_NOVA, UNENROLLMENT_IRONIC_TEARDOWN_FAILED, UNENROLLMENT_PLACEMENT_RP_DELETE_FAILED, UNENROLLMENT_NETBOX_STATUS_UPDATE_FAILED, UNENROLLMENT_BMC_FACTORY_RESET_FAILED, FIRMWARE_INVENTORY_INVALID_SCOPE, FIRMWARE_INVENTORY_COLLECTION_FAILED, FIRMWARE_VERIFICATION_INVALID_SCOPE, FIRMWARE_VERIFICATION_NON_COMPLIANT, FIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLE, FIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILED, FIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICT, NODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATE, NODE_DIAGNOSTICS_STATE_CHANGED, NODE_DIAGNOSTICS_CLASSIFICATION_FAILED, NODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILED, NODE_DIAGNOSTICS_SUMMARY_WRITE_FAILED, POWER_CYCLE_BMC_FAILED, MAINTENANCE_MODE_FAILED, SWITCH_VRF_FLIP_FAILED, SWITCH_VRF_LATCH_WRITE_FAILED, SWITCH_VRF_PREFLIGHT_REFUSED, NVLINK_PARTITION_FAILED, NVLINK_PARTITION_CONTRACT_FAILED, NVLINK_PARTITION_INVALID_REQUEST, NVLINK_PARTITION_PREFLIGHT_REFUSED, NVLINK_LATCH_WRITE_FAILED, BACKEND_VRF_PREFLIGHT_REFUSED, BACKEND_VRF_APPLY_REFUSED, BACKEND_VRF_FLIP_FAILED, BACKEND_VRF_LATCH_WRITE_FAILED, SWITCH_LOCK_TIMEOUT, SWITCH_LOCK_LOST, SWITCH_WRITE_UNCONFIRMED, SLURM_HTTP_BAD_REQUEST, SLURM_HTTP_UNAUTHORIZED, SLURM_HTTP_FORBIDDEN, SLURM_HTTP_SERVICE_UNAVAILABLE, SLURM_NODE_STATE_FAILED, NODE_SWAP_VALIDATION_FAILED, TOPOLOGY_SYNC_INTENT_FAILED Number of results to return per page.
1 <= x <= 500Optional. Case-insensitive substring match on device name — ice2-p matches sys1-ice2-p-phy-osh4.
A page number within the paginated result set.
Optional. Keep only devices in these racks, by rack UUID; repeat the param to include more than one.
Optional. Keep only devices whose failure is owned by one of these teams; repeat the param to include more than one. Resolved from failure_code, so this also narrows to failed devices. unknown selects failures whose stored code this release does not recognise.
fleet_manager, infra_eng, dc_eng, unknown Optional. Keep only devices whose status at their column is one of these; repeat the param to include more than one.
not_started- NOT_STARTEDpending- PENDINGrunning- RUNNINGsucceeded- SUCCEEDEDfailed- FAILED
not_started, pending, running, succeeded, failed