Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could retry generating random MAC addresses for guest NICs on conflict #963

Closed
bnaecker opened this issue Apr 22, 2022 · 1 comment
Closed
Labels
database Related to database access networking Related to the networking. nexus Related to nexus

Comments

@bnaecker
Copy link
Collaborator

We currently generate a random MAC address for guest NICs, whether during a saga or in an explicit call to create a new NIC for an instance. These MAC addresses are guaranteed to be unique, currently within the scope of a VPC, by an index on the network_interface table. If there is a conflict, the entire request fails with a 500-level error. That's a bad experience for the customer, and the MAC address space is not actually that large. (Currently just over 1M addresses, but soon down to just under 1M.)

This issue tracks adding some kind of retry strategy to this, similar to what we do for selecting a random IPv6 subnet for a VPC Subnet. It should noted that this issue may be obviated by choosing an overall different strategy for allocating these addresses. For example, generating a random address, and then doing a linear scan to find the next free address, might be an overall better strategy that could be done entirely in the database.

@bnaecker
Copy link
Collaborator Author

bnaecker commented Jun 1, 2022

Closed by #1135

@bnaecker bnaecker closed this as completed Jun 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database Related to database access networking Related to the networking. nexus Related to nexus
Projects
None yet
Development

No branches or pull requests

1 participant