-
Notifications
You must be signed in to change notification settings - Fork 40
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
Adds basic per-sled sequential IP address allocation #891
Conversation
- Adds the `last_used_address` column to the `omicron.sled` table, which tracks the last IP address within the sled's prefix allocated to a service running on the sled - Adds method for selecting the next IP address from the `sled` table, with a few basic tests for it - Uses a static address when launching guest instances, providing it to the propolis server managing them.
In addition to the small unit test I added, I've tested this manually launching a real VM managed by Propolis. Here's the CLI invocation to create a disk and launch an instance with it:
Here's a snippet of the sled agent log, showing that a static IPv6 address is provided to the launched Propolis server:
Here's the log from one of the Crucible downstairs, showing the negotiation, and including the assigned address of the Propolis server:
And lastly, here's the disk actually showing up in the guest, with the right size:
That's after getting the guest console with In addition to y'all's eyes, I would love some more test-driving. I spoke to @jmpesp about this. I'm not very familiar with Crucible, so some more sanity checks that the behavior here looks correct would be much appreciated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Will test this shortly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great, thanks for putting it together.
The subnets are becoming real!
- Adds some comments and issue links - Make allocation of IP addresses a separate saga action, to ensure idempotency. Also adds a generic helper, since this will likely be a common saga node.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
Works perfectly! :) |
last_used_address
column to theomicron.sled
table, whichtracks the last IP address within the sled's prefix allocated to a
service running on the sled
sled
table,with a few basic tests for it
the propolis server managing them.