Skip to content

Ephemeral IP checkbox on instance create form #1097

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

Closed
bnaecker opened this issue Jul 28, 2022 · 5 comments · Fixed by #2225
Closed

Ephemeral IP checkbox on instance create form #1097

bnaecker opened this issue Jul 28, 2022 · 5 comments · Fixed by #2225
Assignees
Milestone

Comments

@bnaecker
Copy link
Contributor

Beginning with oxidecomputer/omicron#1458, the control plane now has the concept of an external IP address for guests. This is a publicly-visible address that allows inbound connections, such as SSH, from outside the rack into the guest. (That's distinct from the IP addresses that provide outbound connectivity, which don't appear in the API.)

These addresses are associated with the primary network interface, and are shown in the console as part of #1070. We also need a way to request such an address in the web console. The parameters for describing this address are currently defined here. We currently support ephemeral addresses, optionally specifying the name of an IP Pool from which to draw the address. (Ephemeral addresses only live as long as the instance, and can't move around between different objects.) It's not clear yet how to specify the pool, since that's currently a top-level / operator / global resource (discussed in RFD 288), so it might be better to leave that off for now.

Though they're not yet implemented, Floating IP addresses will also be supported here. (Implementation tracked in oxidecomputer/omicron#1334.) Those are separate, named API resources scoped to a VPC, which can be created independently from instances. In that case, the name of the Floating IP will be specified in the API request (it'll be looked up relative to the VPC of the primary network interface, most likely).

@david-crespo
Copy link
Collaborator

So if you can't specify a pool, this essentially has to be a checkbox meaning "give me an ephemeral IP"?

@bnaecker
Copy link
Contributor Author

That would be the simplest way to implement this at the moment, I think. That wouldn't work for a Floating IP, since you'd need to name the object, but that's down the line. I was hoping to give the fullest picture, so y'all could decide what makes sense in the short- and longer-term.

@david-crespo david-crespo changed the title Provide UI elements to select an external IP address during instance creation Ephemeral IP checkbox on instance create form Jul 28, 2022
@david-crespo
Copy link
Collaborator

Narrowed the title to focus on the checkbox, split off #1098 (specify pool) and #1099 (floating IPs) as followups.

@david-crespo
Copy link
Collaborator

david-crespo commented Mar 11, 2024

Checkbox would go under Advanced > Networking and default to checked. This bit would be populated or empty based on the checkbox value.

externalIps: [{ type: 'ephemeral' }],

@david-crespo david-crespo modified the milestones: 7, 8 Mar 21, 2024
@paryhin
Copy link

paryhin commented Apr 24, 2024

Based on the discussions we had, here is the Figma file with relevant designs:

https://www.figma.com/file/zIBsgP7gAkhapyNvVOqsn6/Floating-IPs?type=design&node-id=427%3A22653&mode=design&t=SaUnqJRcykwBNbPD-1

@morlandi7 morlandi7 modified the milestones: 8, 9 Apr 29, 2024
@charliepark charliepark self-assigned this May 6, 2024
@david-crespo david-crespo removed their assignment May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants