-
Notifications
You must be signed in to change notification settings - Fork 11
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
Boot order UI #2335
Comments
this is how i've currently got things set up in Nexus+Propolis, yeah. it's in a weird spot: it's kind of desirable - when we're not imposing a boot order, the guest OS can configure boot settings internally! - but at the same time it's possible to end up with unbootable instances like we've seen when changing disks around. i think we can make some improvements to the no-explicit-boot-disk case such that it's not liable to break itself, but i'm thinking about getting to that after we land the API+Propolis changes for the explicit case. re. your open questions:
this would become less common over time, since you intend to set (exception being if there's only one disk attached, which we can probably call the boot disk going forward. i'll make a note on the Omicron PR about that..) |
I see, that point about letting the guest do its own thing is very helpful because we'll probably want to call that out in UI copy somewhere. |
What you have here works for this first release I think. One alternative we could consider (we explored this initially) is separating boot disk and remaining disks into separate stacked tables. What this might do for us is give us a place to more clearly call out when a boot disk is not selected and the potential consequences in its empty state. It also becomes a little easier to see which is the boot disk at a glance. |
I thought about a separate table, and it is cool to have a spot to call out the lack of boot disk, but it might be misleading to make such a strong visual distinction because even when there is no designated boot disk, we will still boot from one of the disks. |
Without a designated disk do we know which one is going to be booted from (aside from any shenanigans in the VM itself) |
API PR: oxidecomputer/omicron#6585
This is looking like a
boot_disk: Option<NameOrId>
on the instance create body and aboot_disk_id: Uuid
on the instance view response. Then (possibly in a followup PR on top of oxidecomputer/omicron#6321) there will also be a field on an instance update endpoint allowing you to change it. You can always remove the configured boot disk ID (I think), which will result in falling back to whatever the (likely undesirable) behavior is now. There will likely be an added constraint on disk detach, namely that you cannot detach a the boot disk — you have to change or clear the specified boot disk first.So, the work on our end sounds like:
Instance create POST body
We already have a concept of which disk is the boot disk; currently we put it first in the list of disks. All we have to do is add
bootDisk: bootDisk.name
.console/app/forms/instance-create.tsx
Lines 305 to 326 in e3d4245
Instance disks table
Show which disk is the boot disk
Add
Set as boot disk
action to disk row actionsDisable disk detach button for boot disk (with helpful tooltip)
Open questions
The text was updated successfully, but these errors were encountered: