Make OmicronZoneNic dual-stack - #10972
Conversation
4ad78c1 to
3c3e3f6
Compare
- Add support for dual-stack NICs for Omicron zones in memory and blueprints - Add schema migration and update database model for dual-stack `bp_omicron_zone` records - Add some tests for the new conversions with the other NIC types, and serialization with database tables - Closes #9314
3c3e3f6 to
7f2b26f
Compare
|
This hit #10959, I'm going to re-run and maybe merge in |
|
Lots of weird failures in the |
| nic: &OmicronZoneNic, | ||
| ) -> Result<(), AddNetworkResourceError> { | ||
| if let Some(OmicronZoneExternalIpEntry { ip, .. }) = | ||
| self.omicron_zone_external_ips.get1(zone_id) |
There was a problem hiding this comment.
This is a question for not-this-PR, but: is OmicronZoneNetworkResources assuming that every zone has 0 or 1 external IP, which means this data structure will need to change in a nontrivial way to support true dual stack? (Or I guess we could change the structure of OmicronZoneExternalIpEntry to be able to describe dual stack as an option, just like you've done with the NICs in this PR? That's probably already what you planned to do. 🤦)
There was a problem hiding this comment.
I'm not really sure yet! I'm still planning the work to allocate dual-stack addresses. In general, yes there have been assumptions of at most one external address in many places. I'd expect this to change a lot, but I'm not sure how much yet.
bp_omicron_zonerecordsOmicronZoneNicneeds to be dual-stack #9314