kernelci / kernelci/kernelci-core

Add a distinct "prepared" state for pull-labs jobs

Open
#3,124 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
120
Forks
107
Avg merge
1d 2h
Merged PRs (30d)
21

Description

Pull-labs jobs currently use `state=available` to mean "ready for an external lab to pick up". Elsewhere in the pipeline, `available` means "this node has produced a usable result/artifact".

This overload confused `send_kcidb`: it listens for `available` nodes and can submit pull-labs jobs to KCIDB before they are actually finished, producing dashboard records with `status: NULL`.

Short-term fix:
- `send_kcidb` should only submit `job`, `test`, and `process` nodes after `state=done`.
(46cb4a1 in pipeline)

Long-term fix:
- Add a distinct state such as `prepared` for pull-labs jobs waiting to be picked up.
- Make pull-labs workers poll `state=prepared`.
- Keep `available` for nodes whose outputs/results are actually available.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the send_kcidb entry point, the pull-labs worker polling, and the pipeline state transitions. Confirm how available, done, and the proposed prepared state are interpreted across these paths. Done means pull-labs workers poll prepared, available is reserved for usable outputs, and send_kcidb does not submit unfinished job, test, or process nodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.