Skip to content

Vmi network transmit and receive#1217

Closed
OhadRevah wants to merge 49 commits intoRedHatQE:mainfrom
OhadRevah:vmiNetworkTransmitAndReceive
Closed

Vmi network transmit and receive#1217
OhadRevah wants to merge 49 commits intoRedHatQE:mainfrom
OhadRevah:vmiNetworkTransmitAndReceive

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
Co-authored-by: vsibirsk <57763370+vsibirsk@users.noreply.github.com>
* update branches

* use upstream remote
Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
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 <dbasunag@redhat.com>
Co-authored-by: vsibirsk <57763370+vsibirsk@users.noreply.github.com>
…#366) (RedHatQE#384)

* add a cluster health check to check for homogeneous cluster

* update assert message

Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
…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 <dbasunag@redhat.com>
…HatQE#394)

Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
…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 <86722603+jpeimer@users.noreply.github.com>
Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
…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 <105038683+stesrn@users.noreply.github.com>
Co-authored-by: vsibirsk <57763370+vsibirsk@users.noreply.github.com>
* 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
…E#426)

Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
…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 <hmeir@redhat.com>
* Storage: fix test

* Storage: fix test_disk_expand_then_clone_fail

* Storage: update error message

Co-authored-by: dalia-frank <65129017+dalia-frank@users.noreply.github.com>
Co-authored-by: Jenia Peimer <86722603+jpeimer@users.noreply.github.com>
…edHatQE#441)

remove skips like skip on specific os version, etc

Co-authored-by: vsibirsk <57763370+vsibirsk@users.noreply.github.com>
Co-authored-by: Debarati Basu-Nag <dbasunag@redhat.com>
…edHatQE#442)

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

Signed-off-by: Shahaf Bahar <sbahar@redhat.com>
Co-authored-by: Shahaf Bahar <110476642+sbahar619@users.noreply.github.com>
…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 <sbahar@redhat.com>

* 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 <sbahar@redhat.com>

* 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 <sbahar@redhat.com>

---------

Signed-off-by: Shahaf Bahar <sbahar@redhat.com>

* Update openshift-python-wrapper

---------

Signed-off-by: Shahaf Bahar <sbahar@redhat.com>
)

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 <sbahar@redhat.com>
Co-authored-by: Shahaf Bahar <110476642+sbahar619@users.noreply.github.com>
…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 <vsibirsk@redhat.com>
) (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 <sbahar@redhat.com>
Co-authored-by: Shahaf Bahar <110476642+sbahar619@users.noreply.github.com>
) (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 <sbahar@redhat.com>
Co-authored-by: Shahaf Bahar <110476642+sbahar619@users.noreply.github.com>
* [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 <sbahar@redhat.com>
Co-authored-by: Shahaf Bahar <110476642+sbahar619@users.noreply.github.com>
Co-authored-by: vsibirsk <57763370+vsibirsk@users.noreply.github.com>
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.