Skip to content

Enable Qualcomm lab for new KernelCI infra #358

Description

@padovan

Qualcomm wants to bring their lab to the new KernelCI infra. Let's use this ticket to drive the discussions.

@EmbeddedAndroid what tech are you using for the lab? LAVA? If it is LAVA, it should quite easy as we support that runtime already. If it is something else, we can walk you through how to implement the runtime. (doc for all this is in the works).

API token request: #357

Activity

  1. EmbeddedAndroid commented on May 13, 2024

    @EmbeddedAndroid

    @padovan We are using LAVA, our public instance can be found here: https://lava.infra.foundries.io/scheduler/

  2. JenySadadia commented on May 14, 2024

    @JenySadadia
    Contributor

    Hi @EmbeddedAndroid
    To enable Qualcomm lab in KernelCI, we would need a lab token and its description.
    Please have a look at https://github.com/kernelci/kernelci-pipeline/blob/main/doc/connecting-lab.md#token-setup.
    Could you please create one for KernelCI?

  3. EmbeddedAndroid commented on May 14, 2024

    @EmbeddedAndroid

    Hi @JenySadadia

    Sure no problem, I'm going to loop in @mwasilew as he is our lab admin and will generate on our behalf.

    Many thanks!

  4. EmbeddedAndroid commented on May 15, 2024

    @EmbeddedAndroid

    @JenySadadia we have generated the token and description, shall I email to you or is there another method you'd prefer?

    A more generic question, is there documentation on how LAVA jobs are generated with the new infra? We are trying to get our heads around if we need to do this now, or it will be provided by the KCI project.

  5. pawiecz commented on May 15, 2024

    @pawiecz

    @EmbeddedAndroid I can't point you to the docs but let me give you a quick overview:

    Templates for submitted LAVA TestJobs are currently split between two repos (to be merged in the future):

    1. https://github.com/kernelci/kernelci-pipeline/tree/main/config/runtime
    2. https://github.com/kernelci/kernelci-core/tree/main/config/runtime

    Former ones in many cases (baseline, kselftest, sleep, tast) set up values for rendering final TestJob definitions, latter ones contain LAVA-specific sections.

    Basic example (baseline-arm64):

    1. Scheduler entry sets trigger conditions (successful kernel build), runtime (which lab will run jobs) and platforms (device types)
    2. Corresponding job (which uses a baseline.jinja2 template to set up required values) will be triggered
    3. From a job template ^ proper LAVA TestJob will be rendered: extending runtime base template with (platform-specific) boot_method and test steps templates

    Here is a node example of such a job with corresponding LAVA TestJob

  6. mwasilew commented on May 15, 2024

    @mwasilew

    @pawiecz Do I understand correctly you will still be submitting jobs to the LABs (push)? I was under impression the new architecture asks labs to pull the events and submit the jobs themselves.

  7. padovan commented on May 15, 2024

    @padovan
    Author

    @mwasilew you can do both. See #349 (comment) for the pull example.

  8. pawiecz commented on May 15, 2024

    @pawiecz

    @mwasilew to complete the picture: TestJobs are pushed to the LAVA instances and the event activation (pulling) is used internally by sub-services.

  9. mwasilew commented on May 17, 2024

    @mwasilew

    @pawiecz ok, so there is no difference comparing to the "old way". There is still no way to enroll with lava server behind firewall.

  10. JenySadadia commented on May 18, 2024

    @JenySadadia
    Contributor

    @JenySadadia we have generated the token and description, shall I email to you or is there another method you'd prefer?

    Hi, you can send me on IRC. My nickname is jenysadadia. Thanks.

  11. pawiecz commented on May 28, 2024

    @pawiecz

    @mwasilew short follow-up about verifying if LAVA TestJob templates render expected definitions:
    after setting up core environment and moving all templates (including config/runtime/* from -pipeline repo) into -core's config/runtime you can use the existing Node to rerender TestJob definitions.

    Example:

    1. Using staging Node 6653735bce5c0068e1b06921
    2. Edit the templates in config/runtime
    3. Call ./kci job generate -c ../kernelci-pipeline/config/pipeline.yaml --runtime=lava-collabora 6653735bce5c0068e1b06921 to render definitions
  12. padovan commented on Jul 5, 2024

    @padovan
    Author

    can this issue be closed? It seems the lab is already enabled.

  13. mwasilew commented on Jul 5, 2024

    @mwasilew

    It's getting jobs from staging kernelci. How do we migrate it to production instance?

  14. nuclearcat commented on Jul 8, 2024

    @nuclearcat
    Member

    I will schedule on this week moving most of tests to production

  15. mwasilew commented on Jul 8, 2024

    @mwasilew

    I guess we can close this ticket then.

  16. nuclearcat commented on Aug 31, 2026

    @nuclearcat
    Member

    Closing as completed. Qualcomm/Foundries LAVA support was merged in kernelci-pipeline PR #612, the current production configuration still contains the lava-foundriesio runtime, and the lab maintainer explicitly confirmed in this thread that the ticket could be closed.

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

Metadata

Metadata

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