KCIDB - NVR Status
Get Status
Get triage-aware status for all checkouts matching a given NVR (Name, Version, Release). Only checkouts the caller is authorized to read are included.
GET /api/1/kcidb/nvrs/$nvr/status
| Name | Type | Required | Description |
|---|---|---|---|
nvr |
string |
Yes | NVR string (e.g. kernel-5.14.0-162.el9). |
origin |
string |
No | Restrict results to checkouts from this origin name. |
Temporary workaround: distro suffix on release
Matching ignores RPM distro tags on the release component. Callers may pass
either kernel-5.14.0-162 or kernel-5.14.0-162.el9; both match checkouts
whose release differs only by distro tag (e.g. 162.el9, 162.fc40,
112.1246_1944559500.el10iv, 162).
This is a temporary workaround until we fully switch to externalCI kqe tests.
Each checkout entry includes ready_to_report (the KCIDBCheckout.ready_to_report
flag set by the cron job when the checkout satisfies the rules in
filter_ready_to_report).
all_ready_to_report is true only when there is at least one matching checkout
and every matching checkout has ready_to_report=true. It is false when there
are no matches or any match is not ready. When ?origin= is specified,
all_ready_to_report reflects only the filtered checkouts, not all checkouts for
the NVR.
overall_status is the worst status among matching checkouts with
ready_to_report=true only. When no matching checkout is ready, overall_status
is PASS (including when no checkouts match). With ?origin=, aggregation uses
only checkouts from that origin.
Per-checkout status values are triage-aware overall statuses: FAIL, ERROR,
MISS, PASS, DONE, or SKIP.
Example of response:
{
"overall_status": "FAIL",
"all_ready_to_report": true,
"checkouts": [
{
"id": "redhat:nvr_all_checkout_redhat",
"status": "PASS",
"ready_to_report": true
},
{
"id": "tahder:nvr_all_checkout_tahder",
"status": "FAIL",
"ready_to_report": true
}
]
}
Example when some checkouts are not ready (overall_status ignores their status):
{
"overall_status": "PASS",
"all_ready_to_report": false,
"checkouts": [
{
"id": "redhat:nvr_all_checkout_redhat",
"status": "PASS",
"ready_to_report": true
},
{
"id": "tahder:nvr_all_checkout_tahder",
"status": "FAIL",
"ready_to_report": false
}
]
}
Example when no checkouts match the NVR:
{
"overall_status": "PASS",
"all_ready_to_report": false,
"checkouts": []
}
Example when ?origin= matches no checkouts for this NVR (e.g. the origin
exists elsewhere but has no checkout for this NVR):
{
"overall_status": "PASS",
"all_ready_to_report": false,
"checkouts": []
}
Example: GET /api/1/kcidb/nvrs/kernel-5.14.0-162.el9/status matches checkouts
with release 162, 162.el9, or 162.fc40 when name and version match.
Example: GET /api/1/kcidb/nvrs/kernel-5.14.0-162.el9/status?origin=redhat
returns only redhat checkouts for that NVR.