[sled agent] Create and use self-assembling zones for storage zones#1902
Conversation
Major changes: - Uninstallation now collects all Zpool and Zone based datasets, prompts the user, and destroys them during the uninstall process. - Adds a "-f / --force" option to "omicron-package", allowing callers to skip the new confirmation prompt. - Adds a "deactivate" command to "omicron-package". This allows callers to remove Zones and disable services, but does not delete durable configurations and storage. A caller should be able to call "deactivate" -> "activate" -> "deactivate" repeatedly without losing durable state. Minor changes: - Updates documentation for omicron-package - Improves handling of addresses deleted from `cleanup_networking_resources`, especially in cases of duplicates - Rename "filesystem" to "dataset" in functions where it's more appropriate to be generic in the context of ZFS. Fixes #1884 Part of #1119 Part of #1313
| ipadm show-addr "$DATALINK/linklocal" || ipadm create-addr -t -T addrconf "$DATALINK/linklocal" | ||
| ipadm show-addr "$DATALINK/omicron6" || ipadm create-addr -t -T static -a "$LISTEN_ADDR" "$DATALINK/omicron6" | ||
| route get -inet6 default -inet6 "$GATEWAY" || route add -inet6 default -inet6 "$GATEWAY" |
There was a problem hiding this comment.
These lines, and the SMF svcprops to set them, could probably exist as a separate service for the zone?
The big question for me is "where should this service live" - all zones would use it, so should it be built-in to the Omicron-branded zone?
|
For more context on this PR, see https://drive.google.com/file/d/185bFxdvDo_1aA5-T5ywp9t3ZCJbc52B7/view , in particular, at the 32:20 timestamp |
|
Friendly ping - this is kinda a pain to keep rebasing. |
|
One more request on this - having self-assembling zones would really simplify some of the internal-to-sled config management I'm trying to do. |
jclulow
left a comment
There was a problem hiding this comment.
This is looking pretty good! Mostly nits and polish to sort out, I think. Thanks for doing this, I think it's a great step in the right direction for zone/service configuration!
Part of #1898
Relies on oxidecomputer/crucible#498
Converts Crucible, Cockroach, and Clickhouse to be (mostly) self-assembling.
I'm happy to proceed and convert the rest of the zones we're launching using a similar format, if we like how this looks.
Fixes #2886