Skip to content

Vmi network transmit and receive #1217

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

Closed
wants to merge 49 commits into from

Conversation

OhadRevah
Copy link
Contributor

@OhadRevah OhadRevah commented Jun 16, 2025

Short description:

Fixing the tests that failed under TestVmiNetworkMetricsLinux.

More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
jira-ticket:

https://issues.redhat.com/browse/CNV-63743

Summary by CodeRabbit

  • New Features

    • Enhanced test infrastructure with new and updated pytest markers for advanced hardware, network, and storage configurations (e.g., GPU, SR-IOV, NUMA, DPDK, jumbo frames, hugepages).
    • Improved cluster capability checks for special infrastructure and resource-intensive tests, ensuring early detection of unsupported environments.
    • Expanded test coverage for storage cloning, migration metrics, and network features.
    • Added new utility functions for cluster validation and GPU information retrieval.
  • Bug Fixes

    • Replaced test skips with explicit test failures or expected failures (xfail) for unsupported configurations, providing clearer feedback.
    • Updated test logic to ensure accurate validation of resource permissions and metrics.
  • Refactor

    • Standardized naming conventions and parameter usage across test fixtures and functions.
    • Consolidated and clarified test markers and test selection criteria.
    • Improved modularity and maintainability of test utilities and configuration files.
  • Documentation

    • Updated usage examples and instructions for storage class matrix configuration.
    • Clarified documentation for new and existing test parameters and environment requirements.
  • Chores

    • Updated dependency versions and configuration defaults to align with the latest platform releases.
    • Revised OWNERS files and permissions for improved review and approval workflows.

vsibirsk and others added 30 commits February 24, 2025 13:51
* update branches

* use upstream remote
RedHatQE#305) (RedHatQE#376)

* lvms and hpp are mutually exclusive, should have separate config files

* add lvms general config file and support adding hpp csi storages via commandline

* lvms and hpp-csi are mutually exclusive combinations

* update readme and comments

* fix typo

* Update README.md



* move constant

---------

Co-authored-by: Debarati Basu-Nag <[email protected]>
Co-authored-by: vsibirsk <[email protected]>
…#366) (RedHatQE#384)

* add a cluster health check to check for homogeneous cluster

* update assert message

Co-authored-by: Debarati Basu-Nag <[email protected]>
…edHatQE#381)

* remove dpdk, jumbo frame, service mesh related skips

* remove special markers for jumbo frame related tests

* add dpdk to T3 and use special markers for them

Co-authored-by: Debarati Basu-Nag <[email protected]>
…on time from 60 minutes to 20 (RedHatQE#178) (RedHatQE#388)

* Storage: refactor restricted_namespace_cloning tests

- remove the test cases that are covered by other tests

* Add permissions to list and get PVCs

* Undo wait like admin

* add typing, rename fixture

* Fix typing, change assert list, add vm create for block storage

* yield nothing from set_permissions

* Use dv.instance

* import vm

Co-authored-by: Jenia Peimer <[email protected]>
Co-authored-by: Debarati Basu-Nag <[email protected]>
…atQE#407)

This patch updates the code to make use of fedora container
manifest,for both amd64 and arm64 architecture, based on
Fedora 41

Co-authored-by: Sathees <[email protected]>
Co-authored-by: vsibirsk <[email protected]>
* Triage kubevirt_vmi_migration_metrics

Triaging kubevirt_vmi_migration_metrics failures
by changing the query to check for the last_over_time
by 5 mins, also changed the scope of fixtures in order
to reduce the test execution tim.

* Added test for kubevirt_vmi_migration_dirty_memory_rate_bytes

Added test to TestKubevirtVmiMigrationMetrics test class
because it has the same setup.

* Added cpu_for_migration to vm fixutre

Added cpu_for_migration to vm for migration

* Added cpu_for_migration to vm fixutre

Added cpu_for_migration to vm for migration
…tQE#432)

Tests that are using VM with bridge interface is flaky,
because on slow clusters the node might not update yet.

In order to get rid of the flakyness, we need:

1. Create the bridge with a node selector.

2. Verify that the bridge annotation appear at the node's
   capacity/allocatable status.

3. proceed with the test.

Signed-off-by: Harel Meir <[email protected]>
* Storage: fix test

* Storage: fix test_disk_expand_then_clone_fail

* Storage: update error message

Co-authored-by: dalia-frank <[email protected]>
Co-authored-by: Jenia Peimer <[email protected]>
…edHatQE#441)

remove skips like skip on specific os version, etc

Co-authored-by: vsibirsk <[email protected]>
Co-authored-by: Debarati Basu-Nag <[email protected]>
…edHatQE#442)

Replace ipam_lifecycle with ipam dict for flexible IPAM
configuration and improved compatibility with UDN API changes.

Signed-off-by: Shahaf Bahar <[email protected]>
Co-authored-by: Shahaf Bahar <[email protected]>
…d update condition (RedHatQE#443)

* Enable UDN tests by removing "udn" marker, add ns label and update condition (RedHatQE#294)

* Enable UDN tests by removing "udn" marker

Removed the "udn" marker from the EXCLUDE_MARKER_FROM_TIER2_MARKER
list in conftest.py to enable UDN tests as part of Tier 2.

Removed the "udn" marker definition from pytest.ini
and the usage of "udn" marker in test_user_defined_network.py.

UDN tests are now enabled by default and will run as
part of the Tier 2 tests without needing explicit inclusion.

Signed-off-by: Shahaf Bahar <[email protected]>

* Add fixture for UDN namespace with required label

Added udn_namespace fixture to create a namespace
with the required label at namespace creation.

Signed-off-by: Shahaf Bahar <[email protected]>

* Refactor readiness check for UDN status

Replaced wait_for_network_ready() with wait_for_condition()
to support the new NetworkAllocationSucceeded status.

The old method uses NETWORK_READY, which is outdated.
It will need to be updated or removed in the future.

Signed-off-by: Shahaf Bahar <[email protected]>

---------

Signed-off-by: Shahaf Bahar <[email protected]>

* Update openshift-python-wrapper

---------

Signed-off-by: Shahaf Bahar <[email protected]>
)

The network_sanity fixture was updated to include validation for
DPDK support. If any test is marked with the dpdk marker, it checks
whether the cluster supports running DPDK tests by verifying the
existence of the dpdk performance profile. If the profile does not
exist, the test execution is halted with an appropriate error message.
The logging was updated to reflect the DPDK validation status.

Signed-off-by: Shahaf Bahar <[email protected]>
Co-authored-by: Shahaf Bahar <[email protected]>
…QE#456)

* [virt] drop cluster related programmatic skips

  - added special_infra marker for all tests that require
    fully capable cluster to run
  - added specific feature-related markers



* add missed marker for win upgrade & fixed win_custom_option test

* added fails based on cluster configs



* remove gatig marker from TestFedoraHyperVFlags



* fix tox

* added virt_special_infra_sanity

* run all checks and gather all failed ones in a list

---------

Signed-off-by: Vasiliy Sibirskiy <[email protected]>
) (RedHatQE#458)

Refactored network_sanity to first verify all network requirements and
accumulate failures before exiting. This ensures all missing components
are logged, providing better visibility into multiple issues at once.

The verification logic for multi-NIC and DPDK support is now structured
into separate functions for improved readability. The failure messages
are collected and logged collectively before terminating the test run.

Signed-off-by: Shahaf Bahar <[email protected]>
Co-authored-by: Shahaf Bahar <[email protected]>
) (RedHatQE#461)

Updated the network_sanity fixture docstring to be more generic.
Removed specific details about multi-NIC verification to prepare for
future expansions where additional network checks will be added.

Signed-off-by: Shahaf Bahar <[email protected]>
Co-authored-by: Shahaf Bahar <[email protected]>
* [virt] update jiras to 4.18

* update tox
* [virt] update virt-sanity checks

    - add pytest skip parameter (--skip-virt-sanity-check)
    - split validations per collected marker
    - replace the validation trigger from pytest -m option to based on collection

* remove numa from special_infra

    - removed special_infra marker from numa
    - removed numa from virt-sanity validation
    - removed numa from tier2 collection

* moved conditions (reduce conditions calls count)
Test for metric kubevirt_allocatable_nodes.
Test the metrics
kubevirt_vmi_migration_end_time_seconds
kubevirt_vmi_migration_start_time_seconds
) (RedHatQE#499)

Added virt-customize to apply net.ifnames=0 kernel argument
to Fedora 41 image to resolve network interface persistent naming
issues.

Signed-off-by: Shahaf Bahar <[email protected]>
Co-authored-by: Shahaf Bahar <[email protected]>
Co-authored-by: vsibirsk <[email protected]>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

D/S test tox -e verify-bugs-are-open failed: cnv-tests-tox-executor/12709

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

Successfully merging this pull request may close these issues.