Repository navigation
fix: preflight AWS Elastic IP quota before network creation - #662
Merged
Merged
Conversation
Member
Author
|
@greptileai review |
|
Member
Author
|
@greptileai review |
Member
Author
|
@greptileai please re-review the latest head, focusing on BYOIP quota accounting and the connected CreateStart regression. |
Member
Author
|
@greptileai please re-review the latest head; explicit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Background
Every managed AWS network creates one public NAT gateway and therefore needs one Amazon-owned EC2-VPC Elastic IP. Alien previously discovered an exhausted regional quota only after creating the VPC, subnets, gateway, route tables, and security group.
Closes ALIEN-887.
Reproduce
AddressLimitExceededduring EIP allocation.UseDefaultandByoVpcAwsdo not allocate this EIP.Root cause
The controller knew the future EIP requirement but had no early usage/quota observation. The initial implementation counted every
domain=vpcaddress, including addresses allocated from a customer-owned BYOIP pool. AWS explicitly exempts BYOIP allocations from the EC2-VPC EIP quota, so that produced false exhaustion.Fix
DescribeAddressesand Service QuotasGetServiceQuotasupport.publicIpv4Pool; count only Amazon-owned VPC EIPs and exclude BYOIP pool addresses.ec2/L-0263D0A3in mutation-freeCreateStartand fail with actionable guidance before VPC creation.Verification
SingleControllerExecutortest supplies one Amazon EIP plus one BYOIP EIP against quota 2 and provesCreateStartadvances toCreatingVpcinstead of falsely rejecting it; no VPC mutation occurs in that step.AWS references: EIP quota exemption, Address
publicIpv4Pool.