Skip to content

SPLAT-2713: Update AWS CCM e2e test module version#476

Open
mfbonfigli wants to merge 3 commits into
openshift:mainfrom
mfbonfigli:SPLAT-2713_update-cccmo-tests
Open

SPLAT-2713: Update AWS CCM e2e test module version#476
mfbonfigli wants to merge 3 commits into
openshift:mainfrom
mfbonfigli:SPLAT-2713_update-cccmo-tests

Conversation

@mfbonfigli

@mfbonfigli mfbonfigli commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

What

Updates the AWS CCM e2e tests module version to the latest version, including refreshing the vendored dependencies for the test binary.

Why

The purpose is to pull down the latest test changes which include new e2e tests for the BYO Security Groups feature for AWS Network Load Balancers. The feature has already been merged in upstream and downstream AWS CCM. Updating the test dependency will ensure these e2e tests will run in downstream constantly ensuring the feature works as expected.

Summary by CodeRabbit

  • Chores
    • Updated AWS cloud provider testing dependencies to the latest version.
  • Tests
    • Improved the BareMetal “no ConfigMaps created” assertion to wait for reconciliation to fully settle before verifying results.

Updates the AWS CCM e2e tests module version to the latest
version which includes changes like the addition of e2e tests
for the BYO Security Group for AWS Network Load Balancer feat.
@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci-robot

openshift-ci-robot commented Jun 19, 2026

Copy link
Copy Markdown

@mfbonfigli: This pull request references SPLAT-2713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

What

Updates the AWS CCM e2e tests module version to the latest version, including refreshing the vendored dependencies for the test binary.

Why

The purpose is to pull down the latest test changes which include new e2e tests for the BYO Security Groups feature for AWS Network Load Balancers. The feature has already been merged in upstream and downstream AWS CCM. Updating the test dependency will ensure these e2e tests will run in downstream constantly ensuring the feature works as expected.

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 19, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 19, 2026
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@mfbonfigli, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 48 minutes and 2 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ad26bf91-2cdf-40fb-967d-d078d200f283

📥 Commits

Reviewing files that changed from the base of the PR and between 9190933 and 9f8e009.

📒 Files selected for processing (1)
  • pkg/controllers/cloud_config_sync_controller_test.go

Walkthrough

The k8s.io/cloud-provider-aws/tests/e2e dependency in openshift-tests/ccm-aws-tests/go.mod is bumped to pseudo-version v0.0.0-20260606003233-c34d66ed717a. A test assertion in the bare-metal controller test case is refactored to use a retry mechanism instead of an immediate check.

Changes

Cloud Provider Dependency Update

Layer / File(s) Summary
Update cloud-provider-aws/tests/e2e pseudo-version
openshift-tests/ccm-aws-tests/go.mod
k8s.io/cloud-provider-aws/tests/e2e required version updated to the newer pseudo-version v0.0.0-20260606003233-c34d66ed717a.

Test Assertion Robustness

Layer / File(s) Summary
Bare-metal ConfigMap absence assertion with retry
pkg/controllers/cloud_config_sync_controller_test.go
The "On BareMetal platform" test assertion changes from an immediate length check to an Eventually block that lists ConfigMaps in the managed namespace and waits until the count reaches zero, allowing reconciliation effects to settle.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Test Structure And Quality ⚠️ Warning The modified test at lines 607-611 uses an Eventually block without a timeout parameter, violating Ginkgo guidelines for cluster-interacting operations. A prior review comment explicitly flagged th... Add timeout to Eventually: Eventually(func() int { ... }, 10*time.Second, 100*time.Millisecond).Should(BeZero()) and define const timeout = time.Second * 10 constant consistent with other test files.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning The PR updates k8s.io/cloud-provider-aws/tests/e2e dependency, which includes new upstream e2e tests. These tests contain IPv6-incompatible URL construction: fmt.Sprintf("http://%s:%d/echo?msg=hell... Use net.JoinHostPort() to construct URLs correctly for both IPv4 and IPv6, or wrap the IPv6-specific tests with appropriate skip conditions for IPv6-only environments. Consider contributing the fix upstream to k8s.io/cloud-provider-aws.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title directly and clearly summarizes the main change: updating the AWS CCM e2e test module version, which is confirmed by the go.mod dependency update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed All 33 Ginkgo test names in the modified test file are stable and deterministic. Test names use descriptive static strings with no dynamic values (pods, nodes, IPs, UUIDs, timestamps, namespaces wi...
Microshift Test Compatibility ✅ Passed The new e2e tests using config.openshift.io APIs are protected from running on MicroShift by the [OCPFeatureGate:AWSServiceLBNetworkSecurityGroup] tag; MicroShift CI automatically skips tests with...
Single Node Openshift (Sno) Test Compatibility ✅ Passed New Ginkgo e2e tests added in loadbalancer.go are for Network Load Balancer security group management and don't have explicit multi-node or HA assumptions. Tests create LoadBalancer services and po...
Topology-Aware Scheduling Compatibility ✅ Passed PR contains only test changes: a dependency version update and a test assertion fix. No deployment manifests or scheduling constraints are introduced that would affect topology-aware scheduling.
Ote Binary Stdout Contract ✅ Passed PR has no OTE stdout violations: main.go uses framework.Logf() writing to ginkgo.GinkgoWriter (allowed), and test changes wrap assertions inside It() blocks (explicitly excluded from check).
No-Weak-Crypto ✅ Passed PR contains no weak crypto (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB mode), no custom crypto implementations, and no insecure secret comparisons. Changes are: go.mod dependency update and test timi...
Container-Privileges ✅ Passed PR contains updates to go.mod and a test file; no privileged container settings (privileged:true, hostPID, hostIPC, SYS_ADMIN, allowPrivilegeEscalation:true, or runAsUser:0) are being added or modi...
No-Sensitive-Data-In-Logs ✅ Passed PR contains no logging statements that expose passwords, tokens, API keys, PII, session IDs, internal hostnames or customer data. Changes are test assertion refactoring and dependency version updat...

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

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

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.

❤️ Share

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

@mfbonfigli mfbonfigli marked this pull request as ready for review June 19, 2026 09:25
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 19, 2026
@openshift-ci openshift-ci Bot requested review from miyadav and racheljpg June 19, 2026 09:26
@mfbonfigli

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@mfbonfigli

Copy link
Copy Markdown
Contributor Author

/retest

Attempts to fix a failing unit test that passes locally but not on CI
by wrapping it into an Eventually block
@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign joelspeed for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
pkg/controllers/cloud_config_sync_controller_test.go (1)

607-611: ⚡ Quick win

Add descriptive failure message to assertion.

The assertion lacks a custom failure message. Adding one would improve debuggability when the test fails by clearly explaining what condition was expected.

📝 Proposed fix to add failure message
 Eventually(func() int {
 	allCMs := &corev1.ConfigMapList{}
 	Expect(cl.List(ctx, allCMs, &client.ListOptions{Namespace: targetNamespaceName})).To(Succeed())
 	return len(allCMs.Items)
-}).Should(BeZero())
+}, 10*time.Second, 100*time.Millisecond).Should(BeZero(), "Expected no ConfigMaps to be created for BareMetal platform")

As per coding guidelines: "Assertions should include meaningful failure messages."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/controllers/cloud_config_sync_controller_test.go` around lines 607 - 611,
The Eventually assertion that checks the ConfigMap count is zero lacks a custom
failure message, which makes debugging harder when the test fails. Add a
descriptive failure message to the Eventually().Should(BeZero()) assertion chain
to explain what condition is expected. Use the appropriate Gomega method (such
as WithMessage or similar) to attach a clear error message that will be
displayed if the assertion fails, explaining that all ConfigMaps in the target
namespace should be cleaned up or deleted.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/controllers/cloud_config_sync_controller_test.go`:
- Around line 607-611: The Eventually block that lists ConfigMaps in the
targetNamespace lacks an explicit timeout parameter, which can cause the test to
hang indefinitely if the reconciler misbehaves. Add a timeout argument to the
Eventually function call (something like Eventually(func(), timeout.Duration))
to ensure the test fails gracefully if ConfigMaps are not cleaned up within a
reasonable timeframe. Include both the timeout and optionally a polling interval
to comply with Ginkgo testing guidelines for cluster-interacting operations.

---

Nitpick comments:
In `@pkg/controllers/cloud_config_sync_controller_test.go`:
- Around line 607-611: The Eventually assertion that checks the ConfigMap count
is zero lacks a custom failure message, which makes debugging harder when the
test fails. Add a descriptive failure message to the
Eventually().Should(BeZero()) assertion chain to explain what condition is
expected. Use the appropriate Gomega method (such as WithMessage or similar) to
attach a clear error message that will be displayed if the assertion fails,
explaining that all ConfigMaps in the target namespace should be cleaned up or
deleted.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9c0dba32-c5a4-4248-b5a6-ca9e439cf1a3

📥 Commits

Reviewing files that changed from the base of the PR and between 7409854 and 9190933.

📒 Files selected for processing (1)
  • pkg/controllers/cloud_config_sync_controller_test.go

Comment thread pkg/controllers/cloud_config_sync_controller_test.go Outdated
@mfbonfigli

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci

openshift-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

@mfbonfigli: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-upgrade 9f8e009 link true /test e2e-aws-ovn-upgrade

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.

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants