fix: Add VPC ID validation for RAM service network discovery #858
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
cleanup
Which issue does this PR fix:
N/A - Defensive improvement for RAM-shared service network support.
What does this PR do / Why do we need it:
Adds validation in
findServiceNetworkViaVPCAssociation()to check thatCLUSTER_VPC_IDenvironment variable is set before attempting AWS VPC Lattice API calls.Problem: The function uses
config.VpcIDin AWS API calls without validating it's set. When misconfigured, this results in cryptic errors or silent failures, making debugging difficult.Solution: Fail fast with clear error message when
CLUSTER_VPC_IDis not configured.If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
Without This Fix
When
CLUSTER_VPC_IDis not set:User doesn't know if it's:
With This Fix
Clear, actionable error message.
Testing done on this change:
Validated in sandbox cluster with RAM-shared service networks:
This is defensive code - doesn't change happy path behavior.
Automation added to e2e:
No - This is defensive validation for error handling. The RAM discovery feature is covered by tests added in the main RAM support PR (already merged).
Will this PR introduce any new dependencies?:
No - Pure defensive validation.
Will this break upgrades or downgrades. Has updating a running cluster been tested?:
Does this PR introduce any user-facing change?:
No user-facing change for correctly configured deployments. Only improves error messages for misconfigurations.
Do all end-to-end tests successfully pass when running
make e2e-test?:Not run - this is a 5-line defensive validation addition that doesn't change functional behavior. Existing RAM discovery tests pass with this change.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.