Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a test for SRIOV Intel NIC's (New) #1293

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open

Create a test for SRIOV Intel NIC's (New) #1293

wants to merge 14 commits into from

Conversation

mreed8855
Copy link
Collaborator

@mreed8855 mreed8855 commented Jun 14, 2024

Description

Recently there was as request for sriov testcases. This PR provides a means to test Intel NIC's enabled with SRIOV. This tests

  • Finds the first SRIOV port
  • Creates and SRIOV device in either a virtual machine or container
  • Verify's that the NIC is working.

Note: It finds Mellanox devices but does not test them. That is TODO for a future PR

Resolved issues

Documentation

Tests

Copy link

codecov bot commented Jun 14, 2024

Codecov Report

Attention: Patch coverage is 24.35424% with 205 lines in your changes missing coverage. Please review.

Project coverage is 46.03%. Comparing base (17ceef1) to head (ab95477).
Report is 15 commits behind head on main.

Files with missing lines Patch % Lines
providers/base/bin/virtualization.py 24.35% 194 Missing and 11 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1293      +/-   ##
==========================================
- Coverage   47.56%   46.03%   -1.53%     
==========================================
  Files         369      359      -10     
  Lines       39596    39170     -426     
  Branches     6691     6633      -58     
==========================================
- Hits        18833    18033     -800     
- Misses      20051    20437     +386     
+ Partials      712      700      -12     
Flag Coverage Δ
provider-base 24.06% <24.35%> (+0.01%) ⬆️
provider-certification-server 57.14% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Hook25 Hook25 changed the title Create a test for SRIOV Intel NIC's Create a test for SRIOV Intel NIC's (New) Jun 17, 2024
@fernando79513 fernando79513 self-assigned this Jul 16, 2024
@fernando79513 fernando79513 added the waiting-for-changes The review has been completed but the PR is waiting for changes from the author label Jul 17, 2024
Adding SRIOV container tests

Add flake8 format errors.

Adding sriov tests to testing framework

Fix the virtualizaion function call with the correct parameters

Add Unit tests
Update minor changes found by the Unit Testa

Updated the unit tests for flake8 format

Removed the call to setup.   Setup is not called when the test runs on
images less than 24.04
@fernando79513
Copy link
Collaborator

As discussed earlier, the implementation of the virtualization/SRIOV test was outdated, duplicating a lot of code, and did not include enough unit tests.
Pedro was worked on a cleaner implementation of the virtualization tests that is already merged in checkbox in the gpgpu provider: #1577

We will move this implementation to checkbox-support, but that PR is not yet in place. After discussing it with Max, we have decided that the best approach for the moment for the SRIOV tests is to move them away from virtualization.py tests.

We should copy the implementation of the LXD/LXDVM classes from that PR and add the SRIOV functionalities over this new implementation (copy-paste the LXD/LXDVM without modifying them and inherit from them for the SRIOV tests). That way we can reuse the tests already in place for the LXD/LXDVM classes

Once the LXD/LXDVM classes are in checkbox-support, we will create a new PR to import them from checkbox-support and remove the duplication.

@pedro-avalos
Copy link
Collaborator

See #1645

@pedro-avalos
Copy link
Collaborator

The LXD and LXDVM classes have been added to checkbox-support.

@mreed8855 You can find an example use of them in providers/gpgpu/bin/gpu_passthrough.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting-for-changes The review has been completed but the PR is waiting for changes from the author
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants