Skip to content

SPLAT-2672: e2e/ote/ccm-aws: moving binary cccmo project#437

Open
mtulio wants to merge 5 commits intoopenshift:mainfrom
mtulio:e2e-ote-ccm-aws
Open

SPLAT-2672: e2e/ote/ccm-aws: moving binary cccmo project#437
mtulio wants to merge 5 commits intoopenshift:mainfrom
mtulio:e2e-ote-ccm-aws

Conversation

@mtulio
Copy link
Contributor

@mtulio mtulio commented Mar 11, 2026

Blocks:

Must pass testing with PRs*:

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864 
/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn-techpreview openshift/origin#30864

*must be tested after CCM rebased PR:

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 11, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 11, 2026

@mtulio: This pull request references SPLAT-2672 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 task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

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 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 Mar 11, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

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

@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a new AWS CCM E2E test extension for OpenShift: build artifacts (.dockerignore, Dockerfile, Makefile), a Go module with dependencies, a CLI entrypoint (main.go), and E2E tests plus AWS/OpenShift helpers (loadbalancer and helper packages). Total additions: ~1,165 lines across 7 new files.

Changes

Cohort / File(s) Summary
Build Infrastructure
\.dockerignore, Dockerfile, Makefile
Adds .dockerignore; updates Dockerfile to build and gzip cloud-controller-manager-aws-tests-ext; introduces cloud-controller-manager-aws-tests-ext Make target and adds it as a build prerequisite.
E2E Test Module & Orchestration
cmd/cloud-controller-manager-aws-tests-ext/go.mod, cmd/cloud-controller-manager-aws-tests-ext/main.go
Adds a new Go module with extensive test/build dependencies and a CLI main.go that registers and runs the AWS CCM test suite, initializes test framework, handles region/env config, and filters specs.
E2E Test Implementation
cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go, cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go
Adds AWS/OpenShift helper utilities (ELBv2/EC2 clients, SG inspection, FeatureGate checks) and comprehensive NLB security-group e2e tests exercising service creation, port updates, SG rule checks, and cleanup.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
Stable And Deterministic Test Names ❌ Error The Ginkgo Describe block uses dynamic fmt.Sprintf with variables for the test title, making test names non-deterministic across runs. Replace the dynamic title with a static literal string in the Describe invocation to ensure consistent, deterministic test names.
Test Structure And Quality ⚠️ Warning Test code violates Ginkgo best practices with missing DeferCleanup, unprotected nil dereferences, incorrect assertion logic using ConsistOf for exact matching, and bash-specific commands in /bin/sh recipe. Implement DeferCleanup for cleanup registration, add nil guards before pointer dereferences, replace ConsistOf with individual port existence checks, use cd instead of pushd/popd in Makefile, and improve error handling in cleanup function.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title describes moving a binary project into e2e/ote/ccm-aws, which aligns with the changeset that adds AWS CCM E2E test infrastructure, build configurations, and documentation.
Docstring Coverage ✅ Passed Docstring coverage is 93.33% which is sufficient. The required threshold is 80.00%.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.11.3)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


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

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 11, 2026

@mtulio: This pull request references SPLAT-2672 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 task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Summary by CodeRabbit

  • New Features

  • Added AWS cloud controller manager tests extension for OpenShift with end-to-end tests validating Network Load Balancer security group management and integration with feature gates.

  • Chores

  • Updated build infrastructure including Dockerfile and Makefile to support the new tests extension.

  • Documentation

  • Added comprehensive README for the tests extension documenting prerequisites, build instructions, and test usage.

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.

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws openshift/origin/#30864

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@mtulio, testwith: Error processing request. ERROR:

could not determine job runs: invalid format for additional PR: openshift/origin/#30864

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws openshift/origin#30864

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@mtulio, testwith: could not generate prow job. ERROR:

BUG: test 'e2e-aws' not found in injected config

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/test ?

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/pull-ci-openshift-cloud-provider-aws-main-e2e-aws-ovn openshift/origin#30864

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@mtulio, testwith: could not generate prow job. ERROR:

BUG: test 'pull-ci-openshift-cloud-provider-aws-main-e2e-aws-ovn' not found in injected config

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (5)
Makefile (2)

40-40: Consider declaring build as .PHONY.

The static analysis tool flagged that the build target should be declared as PHONY since it doesn't produce a file named "build". This ensures the target always runs regardless of file system state.

♻️ Proposed fix
+.PHONY: build
 build: operator config-sync-controllers azure-config-credentials-injector cloud-controller-manager-aws-tests-ext
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` at line 40, The Makefile's build target ("build: operator
config-sync-controllers azure-config-credentials-injector
cloud-controller-manager-aws-tests-ext") should be declared phony so it always
runs; add a .PHONY declaration that includes build (e.g., add ".PHONY: build"
alongside any other phony targets) so the make tool doesn't treat "build" as a
real file and will always execute the recipe.

51-56: Missing popd after pushd in shell command.

The pushd command changes the directory, but there's no corresponding popd to restore the original directory. While Make targets typically run in subshells (so the effect is limited), it's good practice to pair pushd with popd for clarity and to avoid issues if the command is expanded later.

♻️ Proposed fix
 cloud-controller-manager-aws-tests-ext:
 	pushd cmd/cloud-controller-manager-aws-tests-ext && \
 	 GO111MODULE=on CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) GOPROXY=$(GOPROXY) go build \
 		-trimpath \
 		-ldflags="$(LDFLAGS)" \
-		-o=../../bin/cloud-controller-manager-aws-tests-ext .
-
+		-o=../../bin/cloud-controller-manager-aws-tests-ext . && \
+	popd
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 51 - 56, The target
cloud-controller-manager-aws-tests-ext uses pushd to change directories but
never restores the original directory; update the shell recipe so pushd
cmd/cloud-controller-manager-aws-tests-ext is paired with a corresponding popd
after the go build step (e.g., ensure the sequence ends with popd or chain
commands so popd always runs even on failure) to restore the working directory.
cmd/cloud-controller-manager-aws-tests-ext/main.go (2)

173-177: Typo in comment.

"leding" should be "leading".

📝 Proposed fix
 	// After reading all flags, this will configure the test context, and need to be
 	// called once by framework to avoid re-configuring the test context, and leding
-	// to issues in Ginkgo phases (PhaseBuildTopLevel, PhaseBuildTree, PhaseRun),
+	// leading to issues in Ginkgo phases (PhaseBuildTopLevel, PhaseBuildTree, PhaseRun),
 	// such as:'cannot clone suite after tree has been built'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 173 - 177,
Fix the typo in the comment above the
framework.AfterReadingAllFlags(testContext) call: change "leding" to "leading"
so the comment reads "...and leading to issues in Ginkgo phases
(PhaseBuildTopLevel, PhaseBuildTree, PhaseRun), such as:'cannot clone suite
after tree has been built'".

105-124: Getter function has unexpected side effects.

getRegionFromEnv sets AWS_REGION as a side effect when reading from LEASED_RESOURCE or AWS_DEFAULT_REGION. This violates the principle of least surprise for a "get" function. Consider renaming to getAndSetRegionFromEnv or extracting the side effect into a separate function.

♻️ Proposed refactor
-// getRegionFromEnv gets the region from the environment variables.
-func getRegionFromEnv() string {
+// getOrSetRegionFromEnv gets the region from environment variables and ensures
+// AWS_REGION is set for downstream AWS SDK usage.
+func getOrSetRegionFromEnv() string {
 	region := os.Getenv("LEASED_RESOURCE")
 	if len(region) > 0 {
 		log.Debugf("Using region from LEASED_RESOURCE: %s", region)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 105 - 124,
The function getRegionFromEnv currently mutates environment variables (calls
os.Setenv for AWS_REGION) when reading LEASED_RESOURCE or AWS_DEFAULT_REGION;
either remove these side effects so the function only returns the resolved
region, or split into two functions: getRegionFromEnv (pure getter that reads
LEASED_RESOURCE, AWS_REGION, AWS_DEFAULT_REGION and returns the region) and
setRegionEnv(region string) which performs os.Setenv("AWS_REGION", region) when
desired; if you prefer keeping behavior, rename getRegionFromEnv to
getAndSetRegionFromEnv to make the side effect explicit and update all call
sites accordingly.
cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go (1)

187-196: Use AWS SDK error types instead of string matching.

The ec2IsNotFoundError function relies on string matching against error messages, which is fragile. AWS SDK v2 provides typed error handling via smithy errors. Additionally, InvalidGroup.Malformed indicates an invalid ID format, not a non-existent group—it should likely cause test failure rather than being treated as "not found."

♻️ Proposed fix using AWS SDK error types
+import (
+	"errors"
+	"github.com/aws/smithy-go"
+)
+
 // ec2IsNotFoundError checks if an error is an EC2 "not found" error.
 func ec2IsNotFoundError(err error) bool {
 	if err == nil {
 		return false
 	}
-	// Check for common EC2 not found error messages
-	errMsg := err.Error()
-	return strings.Contains(errMsg, "InvalidGroup.NotFound") ||
-		strings.Contains(errMsg, "InvalidGroupId.NotFound") ||
-		strings.Contains(errMsg, "InvalidGroup.Malformed")
+	var apiErr smithy.APIError
+	if errors.As(err, &apiErr) {
+		switch apiErr.ErrorCode() {
+		case "InvalidGroup.NotFound", "InvalidGroupId.NotFound":
+			return true
+		}
+	}
+	return false
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go` around lines 187 -
196, Replace fragile string matching in ec2IsNotFoundError with typed AWS SDK
error handling: use errors.As to check if err implements
github.com/aws/smithy-go/middleware/APIError (smithy.APIError) or
smithy.APIError interface and then switch on apiErr.ErrorCode() to return true
only for "InvalidGroup.NotFound" and "InvalidGroupId.NotFound"; explicitly do
NOT treat "InvalidGroup.Malformed" as not-found (return false) so malformed IDs
cause test failures; update ec2IsNotFoundError to use errors.As and ErrorCode()
comparisons instead of strings.Contains.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Around line 296-304: The call to framework.ExpectNoError inside the Eventually
callback prevents retries on transient errors; update the callback so
getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups) returns its
error instead of calling framework.ExpectNoError. Specifically, replace the
ExpectNoError call with logic that checks err and returns nil, err (or
fmt.Errorf-wrapped err) so Eventually can retry; keep the subsequent length
check using originalSGRules and currentSGRules and return the existing
fmt.Errorf when counts haven't changed.
- Around line 292-294: The log message in the load balancer check (inside the
block that inspects foundLB and foundLB.SecurityGroups) is misleading because it
uses "expected=%d" while printing the actual count len(foundLB.SecurityGroups);
update the framework.Logf call to clearly state actual vs expected (for example
"Load balancer has no security groups attached: actual=%d expected=1" or simply
"Load balancer has no security groups attached: actual=%d"), using
len(foundLB.SecurityGroups) for the actual value, and leave the error return
(fmt.Errorf("load balancer has no security groups attached")) unchanged.

In `@cmd/cloud-controller-manager-aws-tests-ext/go.mod`:
- Line 132: The go.mod currently pulls k8s.io/cloud-provider v0.34.0 indirectly
which conflicts with other Kubernetes modules pinned at v0.35.0; update the
module replacement by adding a replace directive for k8s.io/cloud-provider to
v0.35.0 (i.e., add "replace k8s.io/cloud-provider => k8s.io/cloud-provider
v0.35.0" in go.mod) so the dependency graph resolves to the same Kubernetes
version, or alternatively add a brief comment in go.mod explaining why v0.34.0
must remain if there is a compatibility reason.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 191-193: The condition currently uses
len(os.Getenv("TEST_JUNIT_DIR")) >= 0 which is always true; change the check to
only set testContext.ReportDir when the environment variable is non-empty (e.g.,
testDir := os.Getenv("TEST_JUNIT_DIR"); if testDir != "" { testContext.ReportDir
= testDir }) so that testContext.ReportDir is not overwritten with an empty
string; update references to os.Getenv("TEST_JUNIT_DIR") and
testContext.ReportDir accordingly.

In `@cmd/cloud-controller-manager-aws-tests-ext/README.md`:
- Around line 46-50: Update the README to use the correct make target and output
path: replace the incorrect make invocation that references
openshift-hack/Makefile with the root Makefile target "make
cloud-controller-manager-aws-tests-ext", and update the described binary
location from "./aws-cloud-controller-manager-tests-ext" to
"./bin/cloud-controller-manager-aws-tests-ext" so the command and output path
match the actual "cloud-controller-manager-aws-tests-ext" build target.
- Line 39: Update the README entry that currently says "Go 1.24+" to match the
module's declared Go version in go.mod (go 1.25.0); edit the README text so the
prerequisite reflects "Go 1.25.0" or "Go 1.25+" to align with the go directive
in go.mod and avoid version mismatch.

---

Nitpick comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go`:
- Around line 187-196: Replace fragile string matching in ec2IsNotFoundError
with typed AWS SDK error handling: use errors.As to check if err implements
github.com/aws/smithy-go/middleware/APIError (smithy.APIError) or
smithy.APIError interface and then switch on apiErr.ErrorCode() to return true
only for "InvalidGroup.NotFound" and "InvalidGroupId.NotFound"; explicitly do
NOT treat "InvalidGroup.Malformed" as not-found (return false) so malformed IDs
cause test failures; update ec2IsNotFoundError to use errors.As and ErrorCode()
comparisons instead of strings.Contains.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 173-177: Fix the typo in the comment above the
framework.AfterReadingAllFlags(testContext) call: change "leding" to "leading"
so the comment reads "...and leading to issues in Ginkgo phases
(PhaseBuildTopLevel, PhaseBuildTree, PhaseRun), such as:'cannot clone suite
after tree has been built'".
- Around line 105-124: The function getRegionFromEnv currently mutates
environment variables (calls os.Setenv for AWS_REGION) when reading
LEASED_RESOURCE or AWS_DEFAULT_REGION; either remove these side effects so the
function only returns the resolved region, or split into two functions:
getRegionFromEnv (pure getter that reads LEASED_RESOURCE, AWS_REGION,
AWS_DEFAULT_REGION and returns the region) and setRegionEnv(region string) which
performs os.Setenv("AWS_REGION", region) when desired; if you prefer keeping
behavior, rename getRegionFromEnv to getAndSetRegionFromEnv to make the side
effect explicit and update all call sites accordingly.

In `@Makefile`:
- Line 40: The Makefile's build target ("build: operator config-sync-controllers
azure-config-credentials-injector cloud-controller-manager-aws-tests-ext")
should be declared phony so it always runs; add a .PHONY declaration that
includes build (e.g., add ".PHONY: build" alongside any other phony targets) so
the make tool doesn't treat "build" as a real file and will always execute the
recipe.
- Around line 51-56: The target cloud-controller-manager-aws-tests-ext uses
pushd to change directories but never restores the original directory; update
the shell recipe so pushd cmd/cloud-controller-manager-aws-tests-ext is paired
with a corresponding popd after the go build step (e.g., ensure the sequence
ends with popd or chain commands so popd always runs even on failure) to restore
the working directory.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro

Run ID: 202486ca-22bf-47b5-9126-7a3de9893062

📥 Commits

Reviewing files that changed from the base of the PR and between b108246 and 8a32d67.

⛔ Files ignored due to path filters (292)
  • cmd/cloud-controller-manager-aws-tests-ext/go.sum is excluded by !**/*.sum
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.bazelversion is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.gitattributes is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/BUILD.bazel is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/CODE_OF_CONDUCT.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/CONTRIBUTING.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/GOVERNANCE.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/MAINTAINERS.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/MODULE.bazel is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/WORKSPACE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/WORKSPACE.bzlmod is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/checked.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/cloudbuild.yaml is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/eval.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/explain.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/regen_go_proto.sh is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/syntax.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/value.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/.golangci.yml is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/Makefile is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/SECURITY.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/collection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/constraints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/version.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_state.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_type.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/char_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/comparators.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/configuration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa_state.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/error_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/error_strategy.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/file_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/input_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/int_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/interval_set.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/jcollect.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_action.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/nostatistics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/recognizer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/rule_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/semantic_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/statistics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/stats_data.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token_source.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/trace_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/transition.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/tree.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/trees.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/NOTICE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/accountid_endpoint_mode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/checksum.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/configuration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/defaults.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaultsmode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/from_ptr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging_generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/recursion_detection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/ec2query/error_utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/array.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/encoder.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/map.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/object.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/value.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/restjson/decoder_util.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/xml/error_utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/none.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_bucket.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_rate_limit.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/request.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_ratelimit.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_token_bucket.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/attempt_metrics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/jitter_backoff.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retry.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/standard.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/throttle_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/timeout_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retryer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/runtime.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/const.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/header_rules.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/hmac.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/host.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/scope.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/time.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/util.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/presign_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/to_ptr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/content_type.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/timeout_read_closer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/types.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/version.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/defaultsmode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/local.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_bearer_token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_cached_token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_credentials_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_token_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/static_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/stscreds/assume_role_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/stscreds/web_identity_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config/resolvers.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/token_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/arn.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/host.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partition.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/middleware/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/rand/rand.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/interfaces.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/time.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdkio/byte.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/shareddefaults/shared_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/strings/strings.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/docs.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/singleflight.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/timeconv/duration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptAddressTransfer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptCapacityReservationBillingOwnership.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptReservedInstancesExchangeQuote.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayMulticastDomainAssociations.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayPeeringAttachment.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayVpcAttachment.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptVpcEndpointConnections.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptVpcPeeringConnection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AdvertiseByoipCidr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateHosts.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateIpamPoolCidr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_ApplySecurityGroupsToClientVpnTargetNetwork.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignIpv6Addresses.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateIpAddresses.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateClientVpnTargetNetwork.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateDhcpOptions.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateEnclaveCertificateIamRole.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateIamInstanceProfile.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateInstanceEventWindow.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateIpamByoasn.go is excluded by !**/vendor/**
📒 Files selected for processing (8)
  • .dockerignore
  • Dockerfile
  • Makefile
  • cmd/cloud-controller-manager-aws-tests-ext/README.md
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod
  • cmd/cloud-controller-manager-aws-tests-ext/main.go

Comment on lines +296 to +304

currentSGRules, err := getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
framework.ExpectNoError(err, "failed to get security group rules to calculate the diff")

if len(originalSGRules) >= len(currentSGRules) {
framework.Logf("Security group rules count did not changed: original=%d current=%d",
len(originalSGRules), len(currentSGRules))
return nil, fmt.Errorf("security group rules count did not changed")
}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Avoid framework.ExpectNoError inside Eventually callback.

Using framework.ExpectNoError inside the Eventually callback will cause an immediate Ginkgo assertion failure on transient errors, preventing Eventually from retrying. Return the error instead to allow proper retry behavior.

🐛 Proposed fix
 			currentSGRules, err := getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
-			framework.ExpectNoError(err, "failed to get security group rules to calculate the diff")
+			if err != nil {
+				framework.Logf("failed to get security group rules: %v", err)
+				return nil, err
+			}

 			if len(originalSGRules) >= len(currentSGRules) {
 				framework.Logf("Security group rules count did not changed: original=%d current=%d",
 					len(originalSGRules), len(currentSGRules))
-				return nil, fmt.Errorf("security group rules count did not changed")
+				return nil, fmt.Errorf("security group rules count did not change")
 			}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
296 - 304, The call to framework.ExpectNoError inside the Eventually callback
prevents retries on transient errors; update the callback so
getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups) returns its
error instead of calling framework.ExpectNoError. Specifically, replace the
ExpectNoError call with logic that checks err and returns nil, err (or
fmt.Errorf-wrapped err) so Eventually can retry; keep the subsequent length
check using originalSGRules and currentSGRules and return the existing
fmt.Errorf when counts haven't changed.

gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.0.0 // indirect
k8s.io/apiserver v0.35.0 // indirect
k8s.io/cloud-provider v0.34.0 // indirect
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if cloud-provider v0.34.0 is intentional due to transitive dependencies
cd cmd/cloud-controller-manager-aws-tests-ext
go mod graph | grep cloud-provider | head -20

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 1533


🏁 Script executed:

cat cmd/cloud-controller-manager-aws-tests-ext/go.mod | grep -E 'k8s\.io' | head -30

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 1577


🏁 Script executed:

# Check if there are any comments or context around this dependency
sed -n '125,140p' cmd/cloud-controller-manager-aws-tests-ext/go.mod

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 817


Add a replace directive for k8s.io/cloud-provider to align with other Kubernetes module versions.

The indirect dependency k8s.io/cloud-provider v0.34.0 is mismatched with other Kubernetes modules (all at v0.35.0 via direct dependencies and replace directives). This causes the build to resolve multiple versions of the same module (e.g., k8s.io/api v0.35.0 and k8s.io/api v0.34.0 via transitive dependencies), which can lead to API incompatibilities. Add a replace directive:

k8s.io/cloud-provider => k8s.io/cloud-provider v0.35.0

Or document why v0.34.0 is intentional if there is a compatibility reason for the version mismatch.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/go.mod` at line 132, The go.mod
currently pulls k8s.io/cloud-provider v0.34.0 indirectly which conflicts with
other Kubernetes modules pinned at v0.35.0; update the module replacement by
adding a replace directive for k8s.io/cloud-provider to v0.35.0 (i.e., add
"replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.35.0" in go.mod) so
the dependency graph resolves to the same Kubernetes version, or alternatively
add a brief comment in go.mod explaining why v0.34.0 must remain if there is a
compatibility reason.

Comment on lines +191 to +193
if len(os.Getenv("TEST_JUNIT_DIR")) >= 0 {
testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Condition is always true - likely a bug.

The condition len(os.Getenv("TEST_JUNIT_DIR")) >= 0 is always true because string length is never negative. This means testContext.ReportDir will always be set, even when TEST_JUNIT_DIR is empty (resulting in an empty ReportDir).

🐛 Proposed fix
 	// Output the logs on failure
-	if len(os.Getenv("TEST_JUNIT_DIR")) >= 0 {
+	if len(os.Getenv("TEST_JUNIT_DIR")) > 0 {
 		testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
 	}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if len(os.Getenv("TEST_JUNIT_DIR")) >= 0 {
testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
}
if len(os.Getenv("TEST_JUNIT_DIR")) > 0 {
testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 191 - 193,
The condition currently uses len(os.Getenv("TEST_JUNIT_DIR")) >= 0 which is
always true; change the check to only set testContext.ReportDir when the
environment variable is non-empty (e.g., testDir := os.Getenv("TEST_JUNIT_DIR");
if testDir != "" { testContext.ReportDir = testDir }) so that
testContext.ReportDir is not overwritten with an empty string; update references
to os.Getenv("TEST_JUNIT_DIR") and testContext.ReportDir accordingly.


## Prerequisites

- Go 1.24+
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Go version mismatch with go.mod.

The README states "Go 1.24+" but go.mod specifies go 1.25.0. Update the prerequisite to match the actual requirement.

📝 Proposed fix
-- Go 1.24+
+- Go 1.25+
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Go 1.24+
- Go 1.25+
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/README.md` at line 39, Update the
README entry that currently says "Go 1.24+" to match the module's declared Go
version in go.mod (go 1.25.0); edit the README text so the prerequisite reflects
"Go 1.25.0" or "Go 1.25+" to align with the go directive in go.mod and avoid
version mismatch.

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cloud-provider-aws/main/e2e-aws-ovn openshift/origin#30864

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@mtulio, testwith: could not generate prow job. ERROR:

create refs for PR: path alias: resolve config openshift/cluster-cloud-controller-manager-operator@: got unexpected http 400 status code from configresolver: branch query missing or incorrect

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/test e2e-aws-ovn

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

Fixed wrong statement in .dockerignore

/test e2e-aws-ovn

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 11, 2026

@mtulio: This pull request references SPLAT-2672 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 task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Summary by CodeRabbit

  • New Features

  • Added an AWS tests extension with end-to-end suites validating Network Load Balancer security group behavior and feature-gate integration.

  • Documentation

  • Added a comprehensive README documenting prerequisites, build and run instructions, and test usage.

  • Chores

  • Updated build and container packaging to include the new test binary and improve image artifacts; added ignore rules to reduce build context size.

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go (1)

300-303: ⚠️ Potential issue | 🟡 Minor

Grammar issue in log message and error string.

"did not changed" should be "did not change".

📝 Proposed fix
 			if len(originalSGRules) >= len(currentSGRules) {
-				framework.Logf("Security group rules count did not changed: original=%d current=%d",
+				framework.Logf("Security group rules count did not change: original=%d current=%d",
 					len(originalSGRules), len(currentSGRules))
-				return nil, fmt.Errorf("security group rules count did not changed")
+				return nil, fmt.Errorf("security group rules count did not change")
 			}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
300 - 303, Fix the grammar in the security group rules message and error: update
the framework.Logf call and the returned error string that currently say "did
not changed" to "did not change" (the checks around originalSGRules and
currentSGRules where the log and fmt.Errorf are used).
🧹 Nitpick comments (5)
Dockerfile (1)

8-12: Clarify why only the test extension binary is gzipped.

The test extension binary is gzipped while other binaries (cluster-controller-manager-operator, config-sync-controllers, azure-config-credentials-injector) are copied directly. This inconsistency may be intentional (e.g., to reduce image size for a large test binary that's not always needed), but it would be helpful to add a comment explaining the rationale.

Also note that consumers will need to gunzip the binary before use, which should be documented in the README.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Dockerfile` around lines 8 - 12, Add a brief comment in the Dockerfile next
to the COPY that places cloud-controller-manager-aws-tests-ext.gz explaining why
only the test extension binary is gzipped (e.g., large test-only binary kept
compressed to reduce image size and because it's optional), and update the
README to document that consumers must gunzip
/usr/bin/cloud-controller-manager-aws-tests-ext.gz before executing; reference
the COPY entry for cloud-controller-manager-aws-tests-ext.gz and the other
copied binaries (cluster-controller-manager-operator, config-sync-controllers,
azure-config-credentials-injector) so maintainers can see the intentional
difference.
cmd/cloud-controller-manager-aws-tests-ext/main.go (1)

104-124: Side effect of setting AWS_REGION should be documented.

The getRegionFromEnv function sets AWS_REGION as a side effect when reading from LEASED_RESOURCE or AWS_DEFAULT_REGION. Consider adding a comment to make this intentional behavior explicit, or renaming to getAndSetRegionFromEnv to make the side effect obvious.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 104 - 124,
getRegionFromEnv currently has the side effect of setting the AWS_REGION env var
when it reads from LEASED_RESOURCE or AWS_DEFAULT_REGION; update the code to
make this intentional behavior explicit by either adding a clear comment above
getRegionFromEnv describing that it will set AWS_REGION as a side effect
(mentioning the specific branches that call os.Setenv) or rename the function to
getAndSetRegionFromEnv and update all call sites to the new name so the side
effect is obvious; ensure any documentation or tests referencing
getRegionFromEnv are updated to reflect the documented/renamed behavior.
cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go (1)

565-576: Error handling assumes any API error means load balancer is deleted.

The current logic treats any error from getAWSLoadBalancerFromDNSName as success (LB deleted). However, transient errors (network issues, throttling) would incorrectly mark the poll as complete. Consider distinguishing between "not found" errors and other errors.

🛡️ Proposed improvement
 	err = wait.PollUntilContextTimeout(ctx, 5*time.Second, loadBalancerCreateTimeout, true, func(ctx context.Context) (bool, error) {
 		foundLB, err := getAWSLoadBalancerFromDNSName(ctx, elbClient, lbDNS)
 		if err != nil {
-			// Error finding LB likely means it's deleted - this is success
-			framework.Logf("Load balancer %s not found (likely deleted): %v", lbDNS, err)
-			return true, nil
+			// Only treat "not found" as success; propagate other errors
+			if strings.Contains(err.Error(), "not found") || strings.Contains(err.Error(), "LoadBalancerNotFound") {
+				framework.Logf("Load balancer %s not found (deleted): %v", lbDNS, err)
+				return true, nil
+			}
+			framework.Logf("Error querying load balancer %s: %v", lbDNS, err)
+			return false, nil // Retry on transient errors
 		}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
565 - 576, The polling logic treats any error from getAWSLoadBalancerFromDNSName
as a successful deletion; change it to distinguish "not found" from other errors
by inspecting the returned error (e.g., check AWS error codes or use errors.Is
against a sentinel not-found error returned by getAWSLoadBalancerFromDNSName).
In the anonymous func passed to wait.PollUntilContextTimeout (the block using
elbClient, lbDNS, loadBalancerCreateTimeout), only treat the specific not-found
result as success (return true, nil); for transient/other errors log the failure
and return false, nil so the poll retries (or return the error only if it should
abort permanently). If needed, update getAWSLoadBalancerFromDNSName to return a
clear not-found sentinel error to make this check reliable.
cmd/cloud-controller-manager-aws-tests-ext/go.mod (1)

138-138: k8s.io/kubectl version is misaligned with other k8s.io modules.

The indirect dependency k8s.io/kubectl v0.33.0 is out of sync with most other Kubernetes modules pinned at v0.35.0. Both v0.33.0 and v0.35.0 are stable releases and alignment is possible. Consider adding a replace directive to bring it in line with the rest.

Note: k8s.io/cloud-provider v0.34.0 is similarly misaligned.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/go.mod` at line 138, The go.mod
lists an indirect dependency k8s.io/kubectl at v0.33.0 which is out of sync with
the project’s other Kubernetes modules (mostly v0.35.0); update the module
alignment by adding a replace directive that forces k8s.io/kubectl =>
k8s.io/kubectl v0.35.0 (and likewise add/adjust a replace for
k8s.io/cloud-provider to v0.35.0 if present) so all k8s.io modules use the same
v0.35.0 version; locate the k8s.io/kubectl entry in go.mod and add the replace
directives accordingly.
Makefile (1)

51-56: Consider using cd with subshell instead of pushd without popd.

The pushd command changes directory but there's no corresponding popd. While this works in this specific case, using a subshell with cd is more idiomatic in Makefiles and clearer about intent.

Additionally, LDFLAGS is undefined in the Makefile. Unlike standard Go environment variables (GOOS, GOARCH, GOPROXY), LDFLAGS must be explicitly defined. Currently, -ldflags="$(LDFLAGS)" expands to -ldflags="", which is harmless but indicates incomplete build configuration. Consider defining LDFLAGS explicitly or using hardcoded flags like -ldflags="-s -w" if appropriate for this binary.

♻️ Proposed improvement
 cloud-controller-manager-aws-tests-ext:
-	pushd cmd/cloud-controller-manager-aws-tests-ext && \
-	 GO111MODULE=on CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) GOPROXY=$(GOPROXY) go build \
+	(cd cmd/cloud-controller-manager-aws-tests-ext && \
+	GO111MODULE=on CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) GOPROXY=$(GOPROXY) go build \
 		-trimpath \
-		-ldflags="$(LDFLAGS)" \
+		-ldflags="-s -w" \
 		-o=../../bin/cloud-controller-manager-aws-tests-ext .)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 51 - 56, The cloud-controller-manager-aws-tests-ext
Make target uses pushd without popd and passes an undefined LDFLAGS; change the
recipe to run the build in a subshell (e.g., use (cd
cmd/cloud-controller-manager-aws-tests-ext && GO111MODULE=on CGO_ENABLED=0
GOOS=$(GOOS) GOARCH=$(GOARCH) GOPROXY=$(GOPROXY) go build ... -o ... .)) instead
of pushd, and add a default LDFLAGS assignment at top of the Makefile (e.g.,
define LDFLAGS using LDFLAGS ?= -s -w or an explicit value) so the
-ldflags="$(LDFLAGS)" expansion is intentional; update the
cloud-controller-manager-aws-tests-ext recipe to reference the LDFLAGS variable
as before.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Line 80: Fix the typo in the test description string passed to It — add the
missing closing single-quote so the message reads "should have
NLBSecurityGroupMode with 'Managed' value in cloud-config"; locate the It(...)
call where the description currently is "should have NLBSecurityGroupMode with
'Managed value in cloud-config" and update that string accordingly.

---

Duplicate comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Around line 300-303: Fix the grammar in the security group rules message and
error: update the framework.Logf call and the returned error string that
currently say "did not changed" to "did not change" (the checks around
originalSGRules and currentSGRules where the log and fmt.Errorf are used).

---

Nitpick comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Around line 565-576: The polling logic treats any error from
getAWSLoadBalancerFromDNSName as a successful deletion; change it to distinguish
"not found" from other errors by inspecting the returned error (e.g., check AWS
error codes or use errors.Is against a sentinel not-found error returned by
getAWSLoadBalancerFromDNSName). In the anonymous func passed to
wait.PollUntilContextTimeout (the block using elbClient, lbDNS,
loadBalancerCreateTimeout), only treat the specific not-found result as success
(return true, nil); for transient/other errors log the failure and return false,
nil so the poll retries (or return the error only if it should abort
permanently). If needed, update getAWSLoadBalancerFromDNSName to return a clear
not-found sentinel error to make this check reliable.

In `@cmd/cloud-controller-manager-aws-tests-ext/go.mod`:
- Line 138: The go.mod lists an indirect dependency k8s.io/kubectl at v0.33.0
which is out of sync with the project’s other Kubernetes modules (mostly
v0.35.0); update the module alignment by adding a replace directive that forces
k8s.io/kubectl => k8s.io/kubectl v0.35.0 (and likewise add/adjust a replace for
k8s.io/cloud-provider to v0.35.0 if present) so all k8s.io modules use the same
v0.35.0 version; locate the k8s.io/kubectl entry in go.mod and add the replace
directives accordingly.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 104-124: getRegionFromEnv currently has the side effect of setting
the AWS_REGION env var when it reads from LEASED_RESOURCE or AWS_DEFAULT_REGION;
update the code to make this intentional behavior explicit by either adding a
clear comment above getRegionFromEnv describing that it will set AWS_REGION as a
side effect (mentioning the specific branches that call os.Setenv) or rename the
function to getAndSetRegionFromEnv and update all call sites to the new name so
the side effect is obvious; ensure any documentation or tests referencing
getRegionFromEnv are updated to reflect the documented/renamed behavior.

In `@Dockerfile`:
- Around line 8-12: Add a brief comment in the Dockerfile next to the COPY that
places cloud-controller-manager-aws-tests-ext.gz explaining why only the test
extension binary is gzipped (e.g., large test-only binary kept compressed to
reduce image size and because it's optional), and update the README to document
that consumers must gunzip /usr/bin/cloud-controller-manager-aws-tests-ext.gz
before executing; reference the COPY entry for
cloud-controller-manager-aws-tests-ext.gz and the other copied binaries
(cluster-controller-manager-operator, config-sync-controllers,
azure-config-credentials-injector) so maintainers can see the intentional
difference.

In `@Makefile`:
- Around line 51-56: The cloud-controller-manager-aws-tests-ext Make target uses
pushd without popd and passes an undefined LDFLAGS; change the recipe to run the
build in a subshell (e.g., use (cd cmd/cloud-controller-manager-aws-tests-ext &&
GO111MODULE=on CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) GOPROXY=$(GOPROXY) go
build ... -o ... .)) instead of pushd, and add a default LDFLAGS assignment at
top of the Makefile (e.g., define LDFLAGS using LDFLAGS ?= -s -w or an explicit
value) so the -ldflags="$(LDFLAGS)" expansion is intentional; update the
cloud-controller-manager-aws-tests-ext recipe to reference the LDFLAGS variable
as before.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro

Run ID: 12e50d26-0815-44fc-abda-503961d9f9d7

📥 Commits

Reviewing files that changed from the base of the PR and between 8a32d67 and a6548bd.

⛔ Files ignored due to path filters (1)
  • cmd/cloud-controller-manager-aws-tests-ext/go.sum is excluded by !**/*.sum
📒 Files selected for processing (8)
  • .dockerignore
  • Dockerfile
  • Makefile
  • cmd/cloud-controller-manager-aws-tests-ext/README.md
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod
  • cmd/cloud-controller-manager-aws-tests-ext/main.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • .dockerignore

// - Configuration includes: NLBSecurityGroupMode set to 'Managed'
// - The test must fail if the feature gate is enabled and the configuration does not include NLBSecurityGroupMode set to 'Managed'
// - The test must skip if the feature gate is not enabled
It("should have NLBSecurityGroupMode with 'Managed value in cloud-config", func(ctx context.Context) {
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Minor typo in test description.

There's a missing closing quote in the test description: 'Managed value should be 'Managed' value.

📝 Proposed fix
-	It("should have NLBSecurityGroupMode with 'Managed value in cloud-config", func(ctx context.Context) {
+	It("should have NLBSecurityGroupMode with 'Managed' value in cloud-config", func(ctx context.Context) {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
It("should have NLBSecurityGroupMode with 'Managed value in cloud-config", func(ctx context.Context) {
It("should have NLBSecurityGroupMode with 'Managed' value in cloud-config", func(ctx context.Context) {
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` at line 80,
Fix the typo in the test description string passed to It — add the missing
closing single-quote so the message reads "should have NLBSecurityGroupMode with
'Managed' value in cloud-config"; locate the It(...) call where the description
currently is "should have NLBSecurityGroupMode with 'Managed value in
cloud-config" and update that string accordingly.

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864,openshift/cloud-provider-aws#133

@mtulio
Copy link
Contributor Author

mtulio commented Mar 11, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864 openshift/cloud-provider-aws#133

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 11, 2026

@mtulio: This pull request references SPLAT-2672 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 task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Blocks:

Summary by CodeRabbit

  • New Features

  • Added an AWS tests extension with end-to-end suites validating Network Load Balancer security group behavior and feature-gate integration.

  • Documentation

  • Added a comprehensive README documenting prerequisites, build and run instructions, and test usage.

  • Chores

  • Updated build and container packaging to include the new test binary and improve image artifacts; added ignore rules to reduce build context size.

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.

@mtulio
Copy link
Contributor Author

mtulio commented Mar 12, 2026

I've found two issues in my last attempt:

  • image tag name for new ote binary to extract (origin repo)
  • dockerignore skipping ote dir 🦀

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864 openshift/cloud-provider-aws#133

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 12, 2026

@mtulio: This pull request references SPLAT-2672 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 "4.22.0" version, but no target version was set.

Details

In response to this:

Blocks:

Summary by CodeRabbit

  • New Features

  • Added an AWS tests extension providing end-to-end suites that validate Network Load Balancer security group behavior and feature‑gate interactions.

  • Documentation

  • Added a comprehensive README with prerequisites, build/run instructions, test usage, and examples.

  • Chores

  • Updated build and container packaging to include the new test binary and reduced Docker build context via ignore rules.

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 openshift-ci bot requested a review from RadekManak March 17, 2026 15:20
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

♻️ Duplicate comments (5)
cmd/cloud-controller-manager-aws-tests-ext/main.go (1)

191-193: ⚠️ Potential issue | 🟠 Major

Fix always-true TEST_JUNIT_DIR condition.

len(os.Getenv("TEST_JUNIT_DIR")) >= 0 is always true, so ReportDir is set even when empty.

Proposed fix
-	if len(os.Getenv("TEST_JUNIT_DIR")) >= 0 {
-		testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
+	if testDir := strings.TrimSpace(os.Getenv("TEST_JUNIT_DIR")); testDir != "" {
+		testContext.ReportDir = testDir
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 191 - 193,
The condition checking TEST_JUNIT_DIR is always true (len(...) >= 0) so
testContext.ReportDir gets set even when empty; change the check to only set
testContext.ReportDir when the env var is non-empty (e.g., use
len(os.Getenv("TEST_JUNIT_DIR")) > 0 or os.Getenv("TEST_JUNIT_DIR") != "") so
testContext.ReportDir is assigned only when a real path is provided.
cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go (4)

202-213: ⚠️ Potential issue | 🔴 Critical

Guard lb before dereferencing lb.State in the poll callback.

When the lookup returns lb == nil, the log at Line 212 panics instead of retrying.

Proposed fix
 			if lb != nil && lb.State != nil && lb.State.Code == elbv2types.LoadBalancerStateEnumActive {
 				foundLB = lb
 				return true, nil
 			}
-			framework.Logf("Load balancer not yet active, current state: %v", lb.State)
+			if lb == nil {
+				framework.Logf("Load balancer %s not returned yet", lbDNS)
+				return false, nil
+			}
+			framework.Logf("Load balancer not yet active, current state: %v", lb.State)
 			return false, nil
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
202 - 213, The poll callback dereferences lb.State without guarding lb, which
can panic when getAWSLoadBalancerFromDNSName returns nil; update the function
passed to wait.PollUntilContextTimeout so it first checks if lb == nil and
logs/returns retry (e.g., "load balancer not found") before accessing lb.State,
and then check lb.State != nil before inspecting lb.State.Code; reference the
poll callback used with wait.PollUntilContextTimeout and the
getAWSLoadBalancerFromDNSName result (lb) and set foundLB only after confirming
lb and lb.State are non-nil and state is Active.

292-299: ⚠️ Potential issue | 🔴 Critical

Keep the Eventually callback retry-safe (no hard assertions, no nil-unsafe log).

framework.ExpectNoError aborts retries, and Line 293 dereferences foundLB.SecurityGroups when foundLB is nil.

Proposed fix
-			if foundLB == nil || len(foundLB.SecurityGroups) == 0 {
-				framework.Logf("Load balancer has no security groups attached, expected=%d", len(foundLB.SecurityGroups))
+			if foundLB == nil {
+				framework.Logf("Load balancer not found yet")
+				return nil, fmt.Errorf("load balancer not found yet")
+			}
+			if len(foundLB.SecurityGroups) == 0 {
+				framework.Logf("Load balancer has no security groups attached")
 				return nil, fmt.Errorf("load balancer has no security groups attached")
 			}
@@
-			currentSGRules, err := getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
-			framework.ExpectNoError(err, "failed to get security group rules to calculate the diff")
+			currentSGRules, err := getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
+			if err != nil {
+				framework.Logf("failed to get security group rules: %v", err)
+				return nil, err
+			}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
292 - 299, The Eventually callback must be retry-safe: stop using
framework.ExpectNoError inside the callback and avoid dereferencing foundLB when
it can be nil. Replace the framework.ExpectNoError call with error propagation
(return nil, err) so the Eventually loop can retry, and move the nil check
before accessing foundLB.SecurityGroups (check foundLB == nil and return a
retryable error). Ensure getAWSSecurityGroupRules is only called when foundLB !=
nil and foundLB.SecurityGroups is non-empty, and surface any errors from
getAWSSecurityGroupRules back to the caller instead of calling ExpectNoError.

565-570: ⚠️ Potential issue | 🟠 Major

Do not treat every ELB lookup error as successful deletion.

This can mark deletion successful on throttling/auth/transient failures and hide leaked load balancers.

Proposed fix
 	err = wait.PollUntilContextTimeout(ctx, 5*time.Second, loadBalancerCreateTimeout, true, func(ctx context.Context) (bool, error) {
 		foundLB, err := getAWSLoadBalancerFromDNSName(ctx, elbClient, lbDNS)
 		if err != nil {
-			// Error finding LB likely means it's deleted - this is success
-			framework.Logf("Load balancer %s not found (likely deleted): %v", lbDNS, err)
-			return true, nil
+			// Only "not found" should be considered success; retry on transient errors.
+			if isELBNotFoundError(err) {
+				framework.Logf("Load balancer %s not found (deleted)", lbDNS)
+				return true, nil
+			}
+			framework.Logf("Error while checking load balancer %s deletion: %v", lbDNS, err)
+			return false, err
 		}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
565 - 570, The current deletion loop treats any error from
getAWSLoadBalancerFromDNSName as successful deletion; instead, only treat a
definitive "not found" error as success and surface other errors so the poller
can retry or fail. In the wait.PollUntilContextTimeout callback where
getAWSLoadBalancerFromDNSName(ctx, elbClient, lbDNS) is called, check the
returned error: if it indicates the ELB is missing (e.g., AWS
"LoadBalancerNotFound" / not-found sentinel from the AWS SDK or specific error
string/code returned by getAWSLoadBalancerFromDNSName) then log and return true,
nil; otherwise log the transient/auth/throttling error and return false, err so
the poller retries or ultimately fails. Ensure you reference
getAWSLoadBalancerFromDNSName and the anonymous poll function around lbDNS/el
bClient when making this change.

119-141: ⚠️ Potential issue | 🟠 Major

Register cleanup immediately after provisioning to prevent leaked NLB/SG resources on early failures.

This test only deletes at the tail; any failure before Line 140 can leak service-owned AWS resources.

Proposed fix pattern
 		lbDNS := svc.Status.LoadBalancer.Ingress[0].Hostname
+		DeferCleanup(func(ctx context.Context) {
+			err := deleteServiceAndWaitForLoadBalancerDeletion(ctx, jig, lbDNS)
+			framework.ExpectNoError(err, "failed to delete service and wait for load balancer deletion")
+		})
 		framework.Logf("Load balancer DNS: %s", lbDNS)
-
-		err = deleteServiceAndWaitForLoadBalancerDeletion(ctx, jig, lbDNS)
-		framework.ExpectNoError(err, "failed to delete service and wait for load balancer deletion")
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
119 - 141, After calling createServiceNLB (svc, jig, err...), immediately
register a cleanup action so resources are removed on early failures: use
framework.AddCleanupAction (or the test's DeferCleanup helper) to add a closure
that will delete the service and wait for LB deletion by invoking
deleteServiceAndWaitForLoadBalancerDeletion with jig and the current LB hostname
if available; if svc.Status.LoadBalancer.Ingress is empty in the cleanup
closure, fall back to deleting the Service object via jig.DeleteService (or
equivalent) to ensure no NLB/SG is leaked. Ensure this registration happens
right after createServiceNLB and before any subsequent Expect/validation.
🧹 Nitpick comments (1)
Makefile (1)

40-40: Declare build (and the new binary target) as .PHONY to avoid target/file collisions.

If a file or directory named build or cloud-controller-manager-aws-tests-ext exists, make can incorrectly skip the recipe.

Proposed fix
+.PHONY: build cloud-controller-manager-aws-tests-ext
 build: operator config-sync-controllers azure-config-credentials-injector cloud-controller-manager-aws-tests-ext
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` at line 40, Add a .PHONY declaration for the Makefile targets so
make won't treat real files as up-to-date; specifically add a .PHONY line that
includes build and the new binary target cloud-controller-manager-aws-tests-ext
(and any other non-file targets like operator, config-sync-controllers,
azure-config-credentials-injector if desired) so the build recipe always runs
regardless of existing files with those names.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go`:
- Around line 187-195: The ec2IsNotFoundError helper incorrectly treats
"InvalidGroup.Malformed" as a not-found case; change it to use typed AWS SDK v2
error handling by casting the error to smithy.APIError via errors.As and inspect
apiErr.ErrorCode(), returning true only for "InvalidGroup.NotFound" and
"InvalidGroupId.NotFound" and false otherwise (do not treat
"InvalidGroup.Malformed" as not-found so callers like securityGroupExists() can
surface it as an input error). Ensure the function still returns false for nil
errors and returns false for non-API errors.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 167-170: The code in initFrameworkForTests currently panics on
clientConfig.ClientConfig() failures; change it to return the error instead of
calling panic so callers can handle it. Replace the panic(fmt.Errorf(...)) with
a wrapped error return (e.g., return nil, fmt.Errorf("failed to get client
config: %w", err)) and propagate that error out of initFrameworkForTests,
ensuring any callers handle the returned error from initFrameworkForTests
accordingly; reference the variables/functions cfg and
clientConfig.ClientConfig() when locating the change.

---

Duplicate comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Around line 202-213: The poll callback dereferences lb.State without guarding
lb, which can panic when getAWSLoadBalancerFromDNSName returns nil; update the
function passed to wait.PollUntilContextTimeout so it first checks if lb == nil
and logs/returns retry (e.g., "load balancer not found") before accessing
lb.State, and then check lb.State != nil before inspecting lb.State.Code;
reference the poll callback used with wait.PollUntilContextTimeout and the
getAWSLoadBalancerFromDNSName result (lb) and set foundLB only after confirming
lb and lb.State are non-nil and state is Active.
- Around line 292-299: The Eventually callback must be retry-safe: stop using
framework.ExpectNoError inside the callback and avoid dereferencing foundLB when
it can be nil. Replace the framework.ExpectNoError call with error propagation
(return nil, err) so the Eventually loop can retry, and move the nil check
before accessing foundLB.SecurityGroups (check foundLB == nil and return a
retryable error). Ensure getAWSSecurityGroupRules is only called when foundLB !=
nil and foundLB.SecurityGroups is non-empty, and surface any errors from
getAWSSecurityGroupRules back to the caller instead of calling ExpectNoError.
- Around line 565-570: The current deletion loop treats any error from
getAWSLoadBalancerFromDNSName as successful deletion; instead, only treat a
definitive "not found" error as success and surface other errors so the poller
can retry or fail. In the wait.PollUntilContextTimeout callback where
getAWSLoadBalancerFromDNSName(ctx, elbClient, lbDNS) is called, check the
returned error: if it indicates the ELB is missing (e.g., AWS
"LoadBalancerNotFound" / not-found sentinel from the AWS SDK or specific error
string/code returned by getAWSLoadBalancerFromDNSName) then log and return true,
nil; otherwise log the transient/auth/throttling error and return false, err so
the poller retries or ultimately fails. Ensure you reference
getAWSLoadBalancerFromDNSName and the anonymous poll function around lbDNS/el
bClient when making this change.
- Around line 119-141: After calling createServiceNLB (svc, jig, err...),
immediately register a cleanup action so resources are removed on early
failures: use framework.AddCleanupAction (or the test's DeferCleanup helper) to
add a closure that will delete the service and wait for LB deletion by invoking
deleteServiceAndWaitForLoadBalancerDeletion with jig and the current LB hostname
if available; if svc.Status.LoadBalancer.Ingress is empty in the cleanup
closure, fall back to deleting the Service object via jig.DeleteService (or
equivalent) to ensure no NLB/SG is leaked. Ensure this registration happens
right after createServiceNLB and before any subsequent Expect/validation.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 191-193: The condition checking TEST_JUNIT_DIR is always true
(len(...) >= 0) so testContext.ReportDir gets set even when empty; change the
check to only set testContext.ReportDir when the env var is non-empty (e.g., use
len(os.Getenv("TEST_JUNIT_DIR")) > 0 or os.Getenv("TEST_JUNIT_DIR") != "") so
testContext.ReportDir is assigned only when a real path is provided.

---

Nitpick comments:
In `@Makefile`:
- Line 40: Add a .PHONY declaration for the Makefile targets so make won't treat
real files as up-to-date; specifically add a .PHONY line that includes build and
the new binary target cloud-controller-manager-aws-tests-ext (and any other
non-file targets like operator, config-sync-controllers,
azure-config-credentials-injector if desired) so the build recipe always runs
regardless of existing files with those names.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f36708f0-8412-414b-b4ae-a9f71b70443b

📥 Commits

Reviewing files that changed from the base of the PR and between e87a423 and fe2c948.

⛔ Files ignored due to path filters (1)
  • cmd/cloud-controller-manager-aws-tests-ext/go.sum is excluded by !**/*.sum
📒 Files selected for processing (7)
  • .dockerignore
  • Dockerfile
  • Makefile
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod
  • cmd/cloud-controller-manager-aws-tests-ext/main.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • Dockerfile
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod

Comment on lines +187 to +195
func ec2IsNotFoundError(err error) bool {
if err == nil {
return false
}
// Check for common EC2 not found error messages
errMsg := err.Error()
return strings.Contains(errMsg, "InvalidGroup.NotFound") ||
strings.Contains(errMsg, "InvalidGroupId.NotFound") ||
strings.Contains(errMsg, "InvalidGroup.Malformed")
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

head -200 cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go | tail -50

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 1737


🏁 Script executed:

# First, let's see the exact function and surrounding context
sed -n '180,200p' cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 562


🏁 Script executed:

# Also check the imports at the top of the file
head -50 cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 2027


🏁 Script executed:

# Check if smithy-go is in the project dependencies
grep -r "smithy-go" . --include="*.go" --include="go.mod" | head -20

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 3526


🏁 Script executed:

# Search for other error handling patterns in the codebase
rg "errors\.As" --type go | head -20

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 2473


🏁 Script executed:

# Look for AWS error handling examples in the codebase
rg "ErrorCode()" --type go | head -20

Repository: openshift/cluster-cloud-controller-manager-operator

Length of output: 2770


🌐 Web query:

AWS SDK v2 Go error handling InvalidGroup.NotFound InvalidGroup.Malformed smithy APIError

💡 Result:

In AWS SDK for Go v2, EC2 service errors like InvalidGroup.NotFound / InvalidGroup.Malformed are typically surfaced as an error chain (often wrapped in *smithy.OperationError). The most robust way to handle them is to unwrap with errors.As and inspect the Smithy APIError interface (code/message/fault). (docs.aws.amazon.com)

import (
	"errors"
	"fmt"

	"github.com/aws/smithy-go"
)

func isInvalidGroup(err error) (code string, ok bool) {
	var apiErr smithy.APIError
	if errors.As(err, &apiErr) {
		switch apiErr.ErrorCode() { // e.g. "InvalidGroup.NotFound", "InvalidGroup.Malformed"
		case "InvalidGroup.NotFound", "InvalidGroup.Malformed":
			return apiErr.ErrorCode(), true
		}
	}
	return "", false
}

func example(err error) {
	if code, ok := isInvalidGroup(err); ok {
		// handle specifically (wrong SG id format, wrong region/VPC, deleted SG, eventual consistency, etc.)
		fmt.Println("security group error:", code)
		return
	}
	// generic handling
	fmt.Println("other error:", err)
}

Notes:

  • smithy.APIError is the generic interface implemented by SDK service/protocol errors and exposes ErrorCode() / ErrorMessage() (and ErrorFault()). (pkg.go.dev)
  • InvalidGroup.NotFound / InvalidGroup.Malformed are EC2 API error codes you should compare as strings (they’re documented by EC2; they aren’t always generated as dedicated Go exception types for the Query protocol). (docs.aws.amazon.com)

Citations:


Use typed AWS SDK v2 error handling instead of string matching; InvalidGroup.Malformed indicates bad input, not a deleted resource.

The current implementation treats InvalidGroup.Malformed as equivalent to "not found", which is semantically incorrect. Malformed IDs represent input validation failures, not resource deletions. This causes securityGroupExists() to return (false, nil) for invalid IDs, masking input errors and producing false-positive cleanup checks.

Use smithy.APIError with errors.As() to properly handle AWS SDK v2 errors and only check for actual "not found" codes:

Proposed fix
 import (
 	"context"
+	"errors"
 	"fmt"
 	"strings"
@@
 	ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
 	elbv2 "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2"
 	elbv2types "github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types"
+	"github.com/aws/smithy-go"
@@
 func ec2IsNotFoundError(err error) bool {
 	if err == nil {
 		return false
 	}
-	// Check for common EC2 not found error messages
-	errMsg := err.Error()
-	return strings.Contains(errMsg, "InvalidGroup.NotFound") ||
-		strings.Contains(errMsg, "InvalidGroupId.NotFound") ||
-		strings.Contains(errMsg, "InvalidGroup.Malformed")
+	var apiErr smithy.APIError
+	if errors.As(err, &apiErr) {
+		code := apiErr.ErrorCode()
+		return code == "InvalidGroup.NotFound" || code == "InvalidGroupId.NotFound"
+	}
+	return false
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
func ec2IsNotFoundError(err error) bool {
if err == nil {
return false
}
// Check for common EC2 not found error messages
errMsg := err.Error()
return strings.Contains(errMsg, "InvalidGroup.NotFound") ||
strings.Contains(errMsg, "InvalidGroupId.NotFound") ||
strings.Contains(errMsg, "InvalidGroup.Malformed")
func ec2IsNotFoundError(err error) bool {
if err == nil {
return false
}
var apiErr smithy.APIError
if errors.As(err, &apiErr) {
code := apiErr.ErrorCode()
return code == "InvalidGroup.NotFound" || code == "InvalidGroupId.NotFound"
}
return false
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go` around lines 187 -
195, The ec2IsNotFoundError helper incorrectly treats "InvalidGroup.Malformed"
as a not-found case; change it to use typed AWS SDK v2 error handling by casting
the error to smithy.APIError via errors.As and inspect apiErr.ErrorCode(),
returning true only for "InvalidGroup.NotFound" and "InvalidGroupId.NotFound"
and false otherwise (do not treat "InvalidGroup.Malformed" as not-found so
callers like securityGroupExists() can surface it as an input error). Ensure the
function still returns false for nil errors and returns false for non-API
errors.

Comment on lines +167 to +170
cfg, err := clientConfig.ClientConfig()
if err != nil {
panic(fmt.Errorf("failed to get client config: %w", err))
}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Return config-loading failures instead of panicking inside initFrameworkForTests.

This function already returns error; panic here bypasses caller handling and hard-exits.

Proposed fix
 	cfg, err := clientConfig.ClientConfig()
 	if err != nil {
-		panic(fmt.Errorf("failed to get client config: %w", err))
+		return fmt.Errorf("failed to get client config: %w", err)
 	}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cfg, err := clientConfig.ClientConfig()
if err != nil {
panic(fmt.Errorf("failed to get client config: %w", err))
}
cfg, err := clientConfig.ClientConfig()
if err != nil {
return fmt.Errorf("failed to get client config: %w", err)
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 167 - 170,
The code in initFrameworkForTests currently panics on
clientConfig.ClientConfig() failures; change it to return the error instead of
calling panic so callers can handle it. Replace the panic(fmt.Errorf(...)) with
a wrapped error return (e.g., return nil, fmt.Errorf("failed to get client
config: %w", err)) and propagate that error out of initFrameworkForTests,
ensuring any callers handle the returned error from initFrameworkForTests
accordingly; reference the variables/functions cfg and
clientConfig.ClientConfig() when locating the change.

@vr4manta
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 17, 2026
@mtulio
Copy link
Contributor Author

mtulio commented Mar 17, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn openshift/origin#30864

@mtulio
Copy link
Contributor Author

mtulio commented Mar 17, 2026

/testwith openshift/cluster-cloud-controller-manager-operator/main/e2e-aws-ovn-techpreview openshift/origin#30864

@mtulio
Copy link
Contributor Author

mtulio commented Mar 17, 2026

The following jobs have expected tests provided by OTE (prefix [cloud-provider-aws-e2e):

@mtulio
Copy link
Contributor Author

mtulio commented Mar 17, 2026

/verified by CI tests passing #437 (comment)

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 17, 2026
@openshift-ci-robot
Copy link

@mtulio: This PR has been marked as verified by CI tests passing https://github.com/openshift/cluster-cloud-controller-manager-operator/pull/437#issuecomment-4077519199.

Details

In response to this:

/verified by CI tests passing #437 (comment)

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.

@mtulio
Copy link
Contributor Author

mtulio commented Mar 17, 2026

/assign @elmiko @miyadav @sunzhaohua2

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 17, 2026

@mtulio: 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-ibmcloud-ovn fe2c948 link false /test e2e-ibmcloud-ovn

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.

Copy link
Contributor

@elmiko elmiko left a comment

Choose a reason for hiding this comment

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

i think this looks pretty solid to me, i just have a couple nits/questions.

ext := e.NewExtension("openshift", "payload", "aws-cloud-controller-manager")

ext.AddSuite(e.Suite{
Name: "ccm/aws/conformance/parallel",
Copy link
Contributor

Choose a reason for hiding this comment

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

Here add Parents more better? and delete line 73

    Parents: []string{
        "openshift/conformance/parallel", 
    },

Copy link
Member

Choose a reason for hiding this comment

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

it was done same way earlier in ccm aws repo , hence I guess , following same pattern.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it was done same way earlier in ccm aws repo , hence I guess , following same pattern.

Correct, this is unchanged from CCM AWS files, just moving files to here.

Although, if this won't affect regular flow, as well achieve the same goal which is falling those tests into the standard suite "openshift/conformance/parallel", looks good to me. Now I can't see benefits of having a custom suite, as I thought when developed that.

Can you all see that we need a custom (leave it as it) or change it to default conformance suite (Parent to "openshift/conformance/parallel") ?

I just need to validate if setting Parent won't inherit all parent's tests - which I have a vague memory that it was happening, and we don't expect that.

mtulio added 5 commits March 18, 2026 10:53
Added openshift-specific tests for upstream project CCM-AWS exposed
through OTE interface/binary;
Creating development document to build and use the OTE binary for
CCM-AWS project.
Adjust the build image for CCCMO project to pack the OTE binary into the
image - which is available in payload, required by OTE extractor
(openshift-tests utility).

The image is compressed, the decompression is done by client side when
extracting it.

PR adding the extraction: openshift/origin#30864
Added OTE (OpenShift Tests Extension) module to create the binary used
to test CCM-AWS project.

The module is self-contained from CCCMO repository, and the binary is
built and added to the project's image: cluster-cloud-controller-manager-operator.
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Mar 18, 2026
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 18, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

New changes are detected. LGTM label has been removed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (8)
cmd/cloud-controller-manager-aws-tests-ext/main.go (2)

167-170: ⚠️ Potential issue | 🟠 Major

Return config-loading failures instead of panicking in initFrameworkForTests.

Line 169 bypasses the function’s error contract and hard-exits setup.

Proposed fix
 cfg, err := clientConfig.ClientConfig()
 if err != nil {
-	panic(fmt.Errorf("failed to get client config: %w", err))
+	return fmt.Errorf("failed to get client config: %w", err)
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 167 - 170,
The initFrameworkForTests function currently panics on client config load
failure by calling clientConfig.ClientConfig() and using panic(fmt.Errorf(...)),
which violates its error-return contract; change this to return the error
instead of panicking: replace the panic branch so initFrameworkForTests returns
the wrapped error (e.g., fmt.Errorf("failed to get client config: %w", err)) up
the call chain, and adjust callers to handle the returned error if necessary;
locate the clientConfig.ClientConfig() call and the cfg variable in
initFrameworkForTests and propagate the error rather than exiting the process.

191-193: ⚠️ Potential issue | 🟠 Major

Fix the always-true TEST_JUNIT_DIR guard.

Line 191 is always true, so ReportDir gets overwritten even when TEST_JUNIT_DIR is empty.

Proposed fix
-// Output the logs on failure
-if len(os.Getenv("TEST_JUNIT_DIR")) >= 0 {
-	testContext.ReportDir = os.Getenv("TEST_JUNIT_DIR")
+// Output logs on failure when junit dir is explicitly set.
+if testDir := strings.TrimSpace(os.Getenv("TEST_JUNIT_DIR")); testDir != "" {
+	testContext.ReportDir = testDir
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go` around lines 191 - 193,
The guard currently uses len(os.Getenv("TEST_JUNIT_DIR")) >= 0 which is always
true, causing testContext.ReportDir to be set even when the env var is empty;
change the check to verify the env var is non-empty (for example retrieve the
value into a variable via os.Getenv("TEST_JUNIT_DIR") and use v != "" or len(v)
> 0) and only assign testContext.ReportDir = v when that condition passes.
cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go (6)

565-570: ⚠️ Potential issue | 🟠 Major

Do not treat all AWS lookup errors as successful deletion.

Lines 567-570 currently mark deletion as success for any error (including auth/throttle/network errors), which can hide leaked load balancers.

Proposed fix
+import (
+	"errors"
+	...
+)

 err = wait.PollUntilContextTimeout(ctx, 5*time.Second, loadBalancerCreateTimeout, true, func(ctx context.Context) (bool, error) {
 	foundLB, err := getAWSLoadBalancerFromDNSName(ctx, elbClient, lbDNS)
 	if err != nil {
-		// Error finding LB likely means it's deleted - this is success
-		framework.Logf("Load balancer %s not found (likely deleted): %v", lbDNS, err)
-		return true, nil
+		var notFound *elbv2types.LoadBalancerNotFoundException
+		if errors.As(err, &notFound) {
+			framework.Logf("Load balancer %s has been deleted", lbDNS)
+			return true, nil
+		}
+		framework.Logf("Error querying load balancer %s during deletion wait: %v", lbDNS, err)
+		return false, nil
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
565 - 570, The current polling callback in wait.PollUntilContextTimeout treats
any error from getAWSLoadBalancerFromDNSName as a successful deletion; instead,
update the callback to only return success when the LB is actually not found
(e.g., error indicates "not found" or getAWSLoadBalancerFromDNSName returns
nil/false), and for other errors (auth, throttle, network) return false with the
error so the poll will retry; reference the wait.PollUntilContextTimeout
callback, getAWSLoadBalancerFromDNSName, elbClient, and lbDNS and implement
explicit error inspection (AWS error code or sentinel not-found condition) to
differentiate deletion from transient/permission errors.

292-294: ⚠️ Potential issue | 🔴 Critical

Avoid nil dereference in the foundLB security-group check.

Line 293 calls len(foundLB.SecurityGroups) even when foundLB == nil.

Proposed fix
-if foundLB == nil || len(foundLB.SecurityGroups) == 0 {
-	framework.Logf("Load balancer has no security groups attached, expected=%d", len(foundLB.SecurityGroups))
+if foundLB == nil {
+	framework.Logf("Load balancer not found yet")
+	return nil, fmt.Errorf("load balancer not found yet")
+}
+if len(foundLB.SecurityGroups) == 0 {
+	framework.Logf("Load balancer has no security groups attached")
 	return nil, fmt.Errorf("load balancer has no security groups attached")
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
292 - 294, The check dereferences foundLB when computing
len(foundLB.SecurityGroups), risking a nil panic; change the logic to first test
if foundLB == nil and handle that case (log and return an error) before
accessing foundLB.SecurityGroups, and when logging the security-group count use
a safe value (e.g., 0) or conditional access; update the block around the
foundLB check (variable foundLB and its SecurityGroups) so the nil-case is
handled separately from the empty-security-groups case.

467-476: ⚠️ Potential issue | 🟠 Major

Check required ports by presence, not exact multiset equality.

Line 476 with ConsistOf fails when SG rules include duplicates or additional managed ports, even if 80/443 are present.

Proposed fix
-Expect(expectedPorts).To(ConsistOf([]int32{80, 443}), "security groups should have rules for both ports 80 and 443")
+Expect(expectedPorts).To(ContainElements(int32(80), int32(443)),
+	"security groups should include rules for ports 80 and 443")
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
467 - 476, The test currently builds expectedPorts from currentSGRules and
asserts exact multiset equality using Expect(expectedPorts).To(ConsistOf(...)),
which fails if there are duplicates or extra ports; change the assertion to only
require presence of ports 80 and 443 (e.g. use Gomega's ContainElements or two
ContainElement checks) so the test verifies that expectedPorts contains 80 and
443 without demanding exact equality. Update the Expect call that references
expectedPorts accordingly.

297-299: ⚠️ Potential issue | 🟠 Major

Do not call framework.ExpectNoError inside Eventually callbacks.

Line 298 turns transient AWS/API failures into immediate spec failures instead of retrying.

Proposed fix
 currentSGRules, err := getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
-framework.ExpectNoError(err, "failed to get security group rules to calculate the diff")
+if err != nil {
+	framework.Logf("failed to get security group rules to calculate the diff: %v", err)
+	return nil, err
+}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
297 - 299, The callback passed to Eventually currently calls
framework.ExpectNoError, which aborts immediately on transient AWS/API errors;
instead call getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
inside the Eventually closure, and if it returns an error propagate that error
from the closure (do not call framework.ExpectNoError there), then let the
Eventually assertion check for success (e.g. Eventually(func() error { ...
}).Should(Succeed())) so retries handle transient failures; update the closure
around getAWSSecurityGroupRules and remove framework.ExpectNoError usage from
inside it.

202-213: ⚠️ Potential issue | 🔴 Critical

Guard lb before logging lb.State in poll loop.

Line 212 can panic when getAWSLoadBalancerFromDNSName returns lb == nil, which aborts retries.

Proposed fix
 if lb != nil && lb.State != nil && lb.State.Code == elbv2types.LoadBalancerStateEnumActive {
 	foundLB = lb
 	return true, nil
 }
-framework.Logf("Load balancer not yet active, current state: %v", lb.State)
+if lb == nil {
+	framework.Logf("Load balancer %s not returned yet", lbDNS)
+	return false, nil
+}
+framework.Logf("Load balancer not yet active, current state: %v", lb.State)
 return false, nil
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
202 - 213, The poll callback risk panics by dereferencing lb.State when lb can
be nil; update the anonymous function passed to wait.PollUntilContextTimeout
(the lambda that calls getAWSLoadBalancerFromDNSName) to guard lb before
accessing lb.State and when logging — i.e., check if lb == nil (or lb.State ==
nil) and log an appropriate message like "Load balancer not found" or "state not
available" instead of using lb.State directly; keep the existing success
condition (lb != nil && lb.State != nil && lb.State.Code ==
elbv2types.LoadBalancerStateEnumActive) and only reference lb.State after those
nil checks (refer to getAWSLoadBalancerFromDNSName, the local variable lb, and
framework.Logf).

119-122: ⚠️ Potential issue | 🟠 Major

Register cleanup immediately after service/LB provisioning.

Lines 140/329/389/478 only clean up at the end of each spec. Any failure before those lines leaks NLBs and managed security groups.

Proposed fix pattern (apply to each spec)
 svc, jig, err := createServiceNLB(ctx, cs, ns, serviceName, map[int32]int32{80: 8080})
 framework.ExpectNoError(err, "failed to create NLB service load balancer")
+Expect(svc.Status.LoadBalancer.Ingress).NotTo(BeEmpty(), "service must publish load balancer ingress")
+lbDNS := svc.Status.LoadBalancer.Ingress[0].Hostname
+DeferCleanup(func(cleanupCtx context.Context) {
+	err := deleteServiceAndWaitForLoadBalancerDeletion(cleanupCtx, jig, lbDNS)
+	framework.ExpectNoError(err, "failed to delete service and wait for load balancer deletion")
+})

 ...
-err = deleteServiceAndWaitForLoadBalancerDeletion(ctx, jig, lbDNS)
-framework.ExpectNoError(err, "failed to delete service and wait for load balancer deletion")

Also applies to: 137-141, 248-250, 267-330, 354-356, 361-390, 440-442, 446-479

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go` around lines
119 - 122, After creating the service/load-balancer with createServiceNLB (which
returns svc and jig), register the cleanup immediately — right after the call
and after checking err — instead of only at the end of the spec; add a cleanup
registration that calls the existing jig/tear-down helper(s) to delete the
Service and associated NLB and managed security groups (use jig.TearDown or the
test framework's RegisterCleanupAction/DeferCleanup equivalent) so resources are
removed on any early failure; apply this change wherever createServiceNLB is
used (references: createServiceNLB, svc, jig).
🧹 Nitpick comments (1)
Makefile (1)

40-40: Declare build as .PHONY to avoid silent no-op builds.

If a file/dir named build exists, Line 40 may not execute the recipe.

Proposed fix
+.PHONY: build
 build: operator config-sync-controllers azure-config-credentials-injector cloud-controller-manager-aws-tests-ext

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` at line 40, The Makefile's build target is not declared .PHONY
which can cause the recipe to be skipped if a file named "build" exists; add a
.PHONY declaration for build (e.g., include " .PHONY: build" or add "build" to
an existing .PHONY line) so the "build" target (and any related targets if
preferred) are always executed; update the Makefile near the top-level target
declarations to include this change referencing the target name "build".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go`:
- Around line 565-570: The current polling callback in
wait.PollUntilContextTimeout treats any error from getAWSLoadBalancerFromDNSName
as a successful deletion; instead, update the callback to only return success
when the LB is actually not found (e.g., error indicates "not found" or
getAWSLoadBalancerFromDNSName returns nil/false), and for other errors (auth,
throttle, network) return false with the error so the poll will retry; reference
the wait.PollUntilContextTimeout callback, getAWSLoadBalancerFromDNSName,
elbClient, and lbDNS and implement explicit error inspection (AWS error code or
sentinel not-found condition) to differentiate deletion from
transient/permission errors.
- Around line 292-294: The check dereferences foundLB when computing
len(foundLB.SecurityGroups), risking a nil panic; change the logic to first test
if foundLB == nil and handle that case (log and return an error) before
accessing foundLB.SecurityGroups, and when logging the security-group count use
a safe value (e.g., 0) or conditional access; update the block around the
foundLB check (variable foundLB and its SecurityGroups) so the nil-case is
handled separately from the empty-security-groups case.
- Around line 467-476: The test currently builds expectedPorts from
currentSGRules and asserts exact multiset equality using
Expect(expectedPorts).To(ConsistOf(...)), which fails if there are duplicates or
extra ports; change the assertion to only require presence of ports 80 and 443
(e.g. use Gomega's ContainElements or two ContainElement checks) so the test
verifies that expectedPorts contains 80 and 443 without demanding exact
equality. Update the Expect call that references expectedPorts accordingly.
- Around line 297-299: The callback passed to Eventually currently calls
framework.ExpectNoError, which aborts immediately on transient AWS/API errors;
instead call getAWSSecurityGroupRules(ctx, ec2Client, foundLB.SecurityGroups)
inside the Eventually closure, and if it returns an error propagate that error
from the closure (do not call framework.ExpectNoError there), then let the
Eventually assertion check for success (e.g. Eventually(func() error { ...
}).Should(Succeed())) so retries handle transient failures; update the closure
around getAWSSecurityGroupRules and remove framework.ExpectNoError usage from
inside it.
- Around line 202-213: The poll callback risk panics by dereferencing lb.State
when lb can be nil; update the anonymous function passed to
wait.PollUntilContextTimeout (the lambda that calls
getAWSLoadBalancerFromDNSName) to guard lb before accessing lb.State and when
logging — i.e., check if lb == nil (or lb.State == nil) and log an appropriate
message like "Load balancer not found" or "state not available" instead of using
lb.State directly; keep the existing success condition (lb != nil && lb.State !=
nil && lb.State.Code == elbv2types.LoadBalancerStateEnumActive) and only
reference lb.State after those nil checks (refer to
getAWSLoadBalancerFromDNSName, the local variable lb, and framework.Logf).
- Around line 119-122: After creating the service/load-balancer with
createServiceNLB (which returns svc and jig), register the cleanup immediately —
right after the call and after checking err — instead of only at the end of the
spec; add a cleanup registration that calls the existing jig/tear-down helper(s)
to delete the Service and associated NLB and managed security groups (use
jig.TearDown or the test framework's RegisterCleanupAction/DeferCleanup
equivalent) so resources are removed on any early failure; apply this change
wherever createServiceNLB is used (references: createServiceNLB, svc, jig).

In `@cmd/cloud-controller-manager-aws-tests-ext/main.go`:
- Around line 167-170: The initFrameworkForTests function currently panics on
client config load failure by calling clientConfig.ClientConfig() and using
panic(fmt.Errorf(...)), which violates its error-return contract; change this to
return the error instead of panicking: replace the panic branch so
initFrameworkForTests returns the wrapped error (e.g., fmt.Errorf("failed to get
client config: %w", err)) up the call chain, and adjust callers to handle the
returned error if necessary; locate the clientConfig.ClientConfig() call and the
cfg variable in initFrameworkForTests and propagate the error rather than
exiting the process.
- Around line 191-193: The guard currently uses len(os.Getenv("TEST_JUNIT_DIR"))
>= 0 which is always true, causing testContext.ReportDir to be set even when the
env var is empty; change the check to verify the env var is non-empty (for
example retrieve the value into a variable via os.Getenv("TEST_JUNIT_DIR") and
use v != "" or len(v) > 0) and only assign testContext.ReportDir = v when that
condition passes.

---

Nitpick comments:
In `@Makefile`:
- Line 40: The Makefile's build target is not declared .PHONY which can cause
the recipe to be skipped if a file named "build" exists; add a .PHONY
declaration for build (e.g., include " .PHONY: build" or add "build" to an
existing .PHONY line) so the "build" target (and any related targets if
preferred) are always executed; update the Makefile near the top-level target
declarations to include this change referencing the target name "build".

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6cb06d9e-e1f7-4970-9c34-45e2e2ff174e

📥 Commits

Reviewing files that changed from the base of the PR and between fe2c948 and 68493db.

⛔ Files ignored due to path filters (293)
  • cmd/cloud-controller-manager-aws-tests-ext/go.sum is excluded by !**/*.sum
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.bazelversion is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.gitattributes is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/BUILD.bazel is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/CODE_OF_CONDUCT.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/CONTRIBUTING.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/GOVERNANCE.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/MAINTAINERS.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/MODULE.bazel is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/WORKSPACE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/WORKSPACE.bzlmod is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/checked.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/cloudbuild.yaml is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/eval.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/explain.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/regen_go_proto.sh is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/regen_go_proto_canonical_protos.sh is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/syntax.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/cel.dev/expr/value.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/.golangci.yml is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/Makefile is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/SECURITY.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/collection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/constraints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/Masterminds/semver/v3/version.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/.gitignore is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/README.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/antlrdoc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_config_set.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_deserialization_options.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_deserializer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_state.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/atn_type.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/char_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/common_token_factory.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/common_token_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/comparators.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/configuration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa_serializer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/dfa_state.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/diagnostic_error_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/error_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/error_strategy.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/file_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/input_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/int_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/interval_set.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/jcollect.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_action.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_action_executor.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/lexer_atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/nostatistics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/parser_rule_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_context_cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/prediction_mode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/recognizer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/rule_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/semantic_context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/statistics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/stats_data.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token_source.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/token_stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/tokenstream_rewriter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/trace_listener.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/transition.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/tree.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/trees.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/antlr4-go/antlr/v4/utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/NOTICE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/accountid_endpoint_mode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/checksum.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/configuration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/defaults.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaultsmode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/from_ptr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging_generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/recursion_detection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/ec2query/error_utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/array.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/encoder.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/map.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/object.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/value.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/restjson/decoder_util.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/xml/error_utils.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/none.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_bucket.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_rate_limit.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/request.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_ratelimit.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_token_bucket.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/attempt_metrics.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/jitter_backoff.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retry.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/standard.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/throttle_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/timeout_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retryer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/runtime.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/cache.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/const.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/header_rules.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/hmac.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/host.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/scope.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/time.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/util.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/presign_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/to_ptr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/content_type.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/timeout_read_closer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/types.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/aws/version.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/defaultsmode.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/local.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_bearer_token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/processcreds/provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_cached_token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_credentials_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/ssocreds/sso_token_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/static_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/stscreds/assume_role_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/stscreds/web_identity_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config/resolvers.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/token_provider.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/arn.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/doc.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/generate.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/host.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partition.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/endpoints.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/errors.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/middleware/middleware.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/rand/rand.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/interfaces.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/time.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdkio/byte.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/shareddefaults/shared_config.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/strings/strings.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/LICENSE is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/docs.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/singleflight.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/internal/timeconv/duration.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/LICENSE.txt is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_client.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptAddressTransfer.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptCapacityReservationBillingOwnership.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptReservedInstancesExchangeQuote.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayMulticastDomainAssociations.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayPeeringAttachment.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptTransitGatewayVpcAttachment.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptVpcEndpointConnections.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AcceptVpcPeeringConnection.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AdvertiseByoipCidr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateHosts.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AllocateIpamPoolCidr.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_ApplySecurityGroupsToClientVpnTargetNetwork.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignIpv6Addresses.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateIpAddresses.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateAddress.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateClientVpnTargetNetwork.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateDhcpOptions.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateEnclaveCertificateIamRole.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateIamInstanceProfile.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateInstanceEventWindow.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateIpamByoasn.go is excluded by !**/vendor/**
  • cmd/cloud-controller-manager-aws-tests-ext/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateIpamResourceDiscovery.go is excluded by !**/vendor/**
📒 Files selected for processing (7)
  • .dockerignore
  • Dockerfile
  • Makefile
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/loadbalancer.go
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod
  • cmd/cloud-controller-manager-aws-tests-ext/main.go
🚧 Files skipped from review as they are similar to previous changes (4)
  • Dockerfile
  • .dockerignore
  • cmd/cloud-controller-manager-aws-tests-ext/e2e/helper.go
  • cmd/cloud-controller-manager-aws-tests-ext/go.mod

@mtulio
Copy link
Contributor Author

mtulio commented Mar 18, 2026

♻️ Duplicate comments (8)
...

I am reviewing CodeRabbit suggestions to apply here too.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

[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 ask for approval from elmiko. 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

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.

6 participants