Skip to content

[release-4.22] USHIFT-7382: Add MTU boundary tests for C2CC and C2CC+IPsec#7096

Merged
openshift-merge-bot[bot] merged 5 commits into
openshift:release-4.22from
agullon:cherry-pick-7024-release-4.22
Jul 23, 2026
Merged

[release-4.22] USHIFT-7382: Add MTU boundary tests for C2CC and C2CC+IPsec#7096
openshift-merge-bot[bot] merged 5 commits into
openshift:release-4.22from
agullon:cherry-pick-7024-release-4.22

Conversation

@agullon

@agullon agullon commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This is an automated cherry-pick of #7024

/assign agullon

agullon added 5 commits July 23, 2026 14:01
Add infrastructure to support jumbo frame (MTU 9000) testing in C2CC
scenarios:

- nettest-pod: non-root pod for UDP DF-bit testing without NET_RAW
- df-bit-send.py: sends DF-bit UDP datagrams using IP_PMTUDISC_DO
  (IPv4) or IPV6_DONTFRAG (IPv6), auto-detects address family
- jumbo/jumbo-ipv6 libvirt networks created in manage_hypervisor_config
- inject_kickstart_mtu(): configures guest NIC MTU and pod MTU
  (ovn.yaml) before first boot — OVN-K bakes the MTU into its
  database at initial creation
- c2cc_setup_ipv6(): shared IPv6 CIDRs and mirror registry setup
- launch_vm --network_mtu: propagates MTU to QEMU's virtio-net driver
- Shared keywords: MTU verification, DF-bit testing, large payload
  transfers across all cluster pairs
- Deploy nettest-pod alongside existing test workloads

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
- Fix nftables enforcement for IPv6 (ip6 daddr vs ip daddr)
- Fix curl URLs for IPv6 (bracket notation)
- Add curl failure mode assertions (timeout/refused/unreachable)
- Add Verify ESP Encapsulation On All Clusters keyword

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
Add ipsec.robot (10 tests) covering ESP encapsulation, cross-cluster
connectivity, source IP preservation, policy enforcement, plaintext
rejection, host-to-pod rejection, MTU boundary and TCP transfers at
1500, DNS resolution, and tunnel recovery after restart.

Move ipsec.robot from suites/c2cc/ipsec/ to suites/c2cc/extra/ and
rename c2cc-ipsec scenarios to c2cc-ipsec-ipv4 for consistency with
new c2cc-ipsec-ipv6 variants that run the same suite over IPv6.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
Add mtu.robot (1 test) validating MTU boundary behavior at jumbo
frame size (9000 MTU). Shared by both plain C2CC and IPsec scenarios
via the IPSEC variable — when "true", also verifies ESP encapsulation.

Pod MTU 9000 is set via kickstart ovn.yaml (OVN-K bakes the MTU
into its database at initial creation and does not update on restart).

Includes IPv4 and IPv6 scenario scripts for both el98 and el102,
with and without IPsec (8 scenario files total).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
Each arch now runs only one RHEL version: x86 runs el98 (RHEL 9.8),
ARM runs el102 (RHEL 10.2). The assignment rotates per commit using
the first hex digit of HEAD so both combinations get exercised over
time. Both arch jobs derive the same flip from the same merge commit.

This halves the scenario count per CI job (23 → ~12), reducing VM
resource contention on the c7g.metal instances.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
@openshift-ci-robot

openshift-ci-robot commented Jul 23, 2026

Copy link
Copy Markdown

@agullon: Ignoring requests to cherry-pick non-bug issues: USHIFT-7382

Details

In response to this:

This is an automated cherry-pick of #7024

/assign agullon

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b1ca9e88-ef65-4273-b806-ed51d5960da5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci
openshift-ci Bot requested review from jogeo and kasturinarra July 23, 2026 12:04
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 23, 2026
@pmtk

pmtk commented Jul 23, 2026

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 23, 2026
@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: agullon, pmtk

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@agullon

agullon commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/label jira/valid-bug
/label backport-risk-assessed
/verified by CI

@openshift-ci openshift-ci Bot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. labels Jul 23, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 23, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@agullon: This PR has been marked as verified by CI.

Details

In response to this:

/label jira/valid-bug
/label backport-risk-assessed
/verified by CI

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@agullon

agullon commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@agullon: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 320b1cf into openshift:release-4.22 Jul 23, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants