Skip to content

Enhance KernelCI Maestro to Support Numerical Values #426

Description

@nuclearcat

Many of the tests we run yield numerical values as output. For example, fluster tests may produce a "score" value, and boot time tests may return values in seconds or microseconds. Currently, we only support test results as enum values(pass/fail/miss/etc). We can enhance our node model to support additional numerical values, providing more detailed test results.

For reference, see the discussion: GitHub Issue #546.

Objective:
The goal of this task is to extend the node model to support numerical values. The task can be divided into the following steps:

  1. Design necessary field(s) in the node model

    • Identify and define the additional fields needed to store numerical values in the node model. @JenySadadia proposed to use "data" subfield.
  2. Add support to LAVA parser (optional)

    • Update the LAVA parser in kernelci-core/kernelci/runtime/lava.py to handle the new numerical fields, if necessary. Probably @pawiecz can implement, or assist as LAVA expert.
  3. Implement data retrieval from LAB results

    • Modify lava_callback.py in the kernelci-pipeline to retrieve and process numerical data from LAB results.
  4. Review and discuss KCIDB schema

    • Evaluate if the KCIDB schema has the necessary fields to accommodate the new data. Propose changes if required.
  5. Assist/submit PR for KCIDB changes (optional)

    • Contribute to the KCIDB repository by assisting with or submitting a pull request to implement the proposed schema changes.
  6. Implement data submission to KCIDB

    • Update the process to submit the numerical data to KCIDB, ensuring the new fields are correctly populated.

KCIDB related changes is more expertise of @JenySadadia i believe.

Steps:

  • Design necessary field(s) in the node model.
  • (Optional) Add support to LAVA parser at kernelci-core/kernelci/runtime/lava.py.
  • Implement data retrieval from LAB results in lava_callback.py in kernelci-pipeline.
  • Discuss if KCIDB has necessary fields/schema for such data, and propose changes if needed.
  • (Optional) Assist/submit PR for KCIDB changes.
  • Implement data submission to KCIDB.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions