-
Notifications
You must be signed in to change notification settings - Fork 50
tests, net, sanity: Add IPv6 family stack validation #2177
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
Conversation
WalkthroughReplaces an IPv4-specific verifier with a generalized Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧬 Code graph analysis (1)tests/network/conftest.py (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Report bugs in Issues Welcome! 🎉This pull request will be automatically processed with the following features: 🔄 Automatic Actions
📋 Available CommandsPR Status Management
Review & Approval
Testing & Validation
Container Operations
Cherry-pick Operations
Label Management
✅ Merge RequirementsThis PR will be automatically approved when the following conditions are met:
📊 Review ProcessApprovers and ReviewersApprovers:
Reviewers:
Available Labels
💡 Tips
For more information, please refer to the project documentation or contact the maintainers. |
|
azhivovk can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
tests/network/conftest.py (1)
316-321: Fix the logging text to reflect the actual IP family.When
_verify_ip_familyruns for IPv6, the log still says “running IPV4 tests…”, and the success message prints “an ipv6 supported cluster.” Please make the messages depend on thefamilyargument so operators aren’t misled.- LOGGER.info("Verifying if the cluster supports running IPV4 tests...") + LOGGER.info("Verifying if the cluster supports running %s tests...", family.upper()) if not is_supported: failure_msgs.append(f"{family} is not supported in this cluster") else: - LOGGER.info(f"Validated network lane is running against an {family} supported cluster") + LOGGER.info("Validated network lane is running against a %s-supported cluster", family.upper())
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
tests/network/conftest.py(3 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: rlobillo
PR: RedHatQE/openshift-virtualization-tests#1984
File: tests/install_upgrade_operators/network_policy/test_network_policy_components.py:0-0
Timestamp: 2025-09-12T09:39:12.961Z
Learning: IPv6 support is not needed for network policy tests in the openshift-virtualization-tests repository, as tests would fail earlier if the destination IP is IPv6.
📚 Learning: 2025-08-28T12:30:40.692Z
Learnt from: servolkov
PR: RedHatQE/openshift-virtualization-tests#1776
File: tests/network/bgp/conftest.py:35-54
Timestamp: 2025-08-28T12:30:40.692Z
Learning: The BGP test suite in tests/network/bgp/ relies on session-scoped validation in tests/network/conftest.py via the network_sanity fixture's _verify_bgp() function, which validates required environment variables (VLAN_TAG, EXTERNAL_FRR_STATIC_IPV4, BGP_CLUSTER_DOMAIN_GROUP) before any BGP tests run, making individual fixture-level validation redundant.
Applied to files:
tests/network/conftest.py
🧬 Code graph analysis (1)
tests/network/conftest.py (1)
tests/conftest.py (2)
ipv6_supported_cluster(1956-1958)ipv4_supported_cluster(1950-1952)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: can-be-merged
- GitHub Check: can-be-merged
- GitHub Check: build-container
- GitHub Check: tox
- GitHub Check: can-be-merged
7ba87f6 to
53a2560
Compare
|
Basing the verification on #2177 (comment) as no changes have been added since. /verified |
Test execution plan request detailsAs an expert software testing engineer, analyze all modified files in this PR and create a targeted test execution plan. Analysis Requirements:
Your deliverable: Test Execution Plan
Guidelines:
|
| request, | ||
| istio_system_namespace, | ||
| cluster_network_mtu, | ||
| network_overhead, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test Execution Plan
Based on the changes to the network_sanity fixture that add IPv6 family stack validation:
Recommended approach:
-m ipv6- Most efficient approach to verify all tests requiring IPv6 support
Alternative specific test paths:
tests/network/connectivity/test_ovs_linux_bridge.py::TestLinuxBridgeConnectivity::test_ipv6_linux_bridgetests/network/connectivity/test_ovs_linux_bridge.py::TestOvsBridgeConnectivity::test_ipv6_ovs_bridgetests/observability/metrics/test_general_metrics.py::TestVirtHCOSingleStackIpv6::test_metric_kubevirt_hco_single_stack_ipv6
Rationale:
The modified network_sanity fixture now validates IPv6 cluster support. All tests marked with ipv6 depend on this fixture and will be validated against IPv6 capabilities.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the verification described here are covering this change.
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 2106 🏁 Script executed: Length of output: 1763 @openshift-virtualization-qe-bot-3, I've successfully created a change request comment on line 1 of Test Execution Plan Summary: Recommended approach:
Alternative specific test paths:
The plan focuses on tests that depend on the modified 🧠 Learnings used |
|
/approve |
|
Successfully removed PR tag: quay.io/openshift-cnv/openshift-virtualization-tests:pr-2177. |
|
New container for quay.io/openshift-cnv/openshift-virtualization-tests:latest published |
What this PR does / why we need it:
Tests which are marked with the
ipv6marker are expecting the cluster to support IPv6. If it does not support IPv6, the infra is considered incorrect and therefore no tests should execute.This change refactors the IPv4 sanity check and extends it to cover IPv6 as well.
Follow up changes should convert usages of
fail_if_not_ipv6_supported_clusterto a test marker.Which issue(s) this PR fixes:
Special notes for reviewer:
jira-ticket:
Summary by CodeRabbit
Tests
Refactor