oxidecomputer / omicron

Omicron: Oxide control plane
Mozilla Public License 2.0
220 stars 33 forks source link

[nexus] Make OmicronZoneConfig include selection of zone root filesystem #5048

Closed smklein closed 1 day ago

smklein commented 4 months ago

This will enable Nexus to understand the blast radius of removing a U.2, and to better deal with U.2 removal.

Part of https://github.com/oxidecomputer/omicron/issues/4719

davepacheco commented 4 months ago

More precisely, this is the zpool (or OmicronZoneDataset, maybe?) from which the zone's root filesystem is allocated, right?

smklein commented 4 months ago

More precisely, this is the zpool (or OmicronZoneDataset, maybe?) from which the zone's root filesystem is allocated, right?

Yes, exactly. This is currently why Sled Agent distinguishes between OmicronZoneConfig and OmicronZoneConfigLocal, and I believe we should unify them and let Nexus make the same decision. This will allow Nexus to better understand and communicate "what will happen if a disk is removed" to users.

davepacheco commented 4 months ago

@smklein Similarly I'm not sure if this is a blocker for Q1?

smklein commented 4 months ago

I personally believe it is a blocker for Q1, because without this, it'll be harder to control the sled-portion of disk expungement.

I don't think this would matter too much for situations where the physical disk has actually been physically removed, but in cases where a disk still exists in the sled, but has been expunged, we need to ensure we don't provision to it.