canonical / checkbox

Checkbox is a testing framework used to validate device compatibility with Ubuntu Linux. It’s the testing tool developed for the purposes of the Ubuntu Certification program.
https://checkbox.readthedocs.io
GNU General Public License v3.0
33 stars 50 forks source link

Add lxd gpu passthrough tests (New) #1535

Closed pedro-avalos closed 2 weeks ago

pedro-avalos commented 1 month ago

Description

Resolved issues

Documentation

n/a

Tests

NVIDIA tests run on Luma. AMD tests run on my personal device (TODO: find a device to test these on)

pedro-avalos commented 1 month ago

My list of things I still need to do before this can be merged:

  1. Find a machine with an AMD GPU to test on that is not my personal machine
  2. Resolve any merge conflicts with #1293
  3. Create Checkbox jobs that use the new tests with the correct GPU vendor set
  4. Rebase

There may be other items to still work on, but that's what I can think of at the moment

pedro-avalos commented 1 month ago

I've added the test plan and jobs, but for some reason, the template doesn't find any jobs to run. Any ideas on what is going on?

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 57.14%. Comparing base (37dcd06) to head (e3571a4). Report is 16 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1535 +/- ## ========================================== + Coverage 47.76% 57.14% +9.37% ========================================== Files 370 1 -369 Lines 39750 42 -39708 Branches 6720 6 -6714 ========================================== - Hits 18987 24 -18963 + Misses 20048 18 -20030 + Partials 715 0 -715 ``` | [Flag](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | Coverage Δ | | |---|---|---| | [checkbox-ng](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [checkbox-support](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [contrib-provider-ce-oem](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-base](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-certification-client](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-certification-server](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-genio](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-gpgpu](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `57.14% <ø> (ø)` | | | [provider-iiotg](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-resource](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [provider-sru](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | | [release-tools](https://app.codecov.io/gh/canonical/checkbox/pull/1535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical) | `?` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=canonical#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

pedro-avalos commented 2 weeks ago

@fernando79513 Thinking this over, this PR could probably be closed and reopened. I don't see any hard reason why the GPU tests should live in the virtualization.py script. It is making the file extremely long and complicated. I think I should make a new PR where I make a separate script in the gpgpu provider.

The only things I was using from this script were the run command wrapper, but that isn't a strong enough reason in my opinion.

Let me know what you think. I just want to make your life easier with reviewing PRs.

pedro-avalos commented 2 weeks ago

Closing this PR, the PR is way too large, and as discussed, it will be extracted to its own script. We will need to revisit refactoring virtualization.py at some point, though.