-
Notifications
You must be signed in to change notification settings - Fork 62
Closed
Description
In #6229 , nexus begins managing datasets via the reconfigurator. As a part of this logic, when ensuring a dataset exists, the reconfigurator first checks for the dataset within the datastore, to ensure that if it already exists, the UUID is re-used.
As an example:
- Suppose we have a deployed disk with a Crucible UUID of
xyzon a physical disk - Suppose we update the deployment to get this PR
- Suppose the reconfigurator runs, sees the physical disk, and sees that it needs a Crucible dataset + zone.
If the reconfigurator allocated a new UUID for Crucible, we'd end up with two Crucible datasets on the sled - this would be wrong. Instead, it looks for any "Crucible kind" datasets on the zpool within that disk, and re-uses the existing UUID.
If the reconfigurator was confident that "all existing datasets existed in the blueprint", this logic would be unnecessary -- instead of reading from the datastore, the reconfigurator could look for old UUIDs by scanning the parent blueprint.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels