Skip to content

Conversation

@smklein
Copy link
Collaborator

@smklein smklein commented Jul 15, 2023

This builds on #3638 , with a slightly more fine-tuned mechanism.

  • crypt/zone is created on new U.2s, if it doesn't already exist
  • If it does exist, then Sled Agent needs to make a call: Should I delete the dataset, possibly containing zones from last boot, or should I leave it alone (for idempotency)?
  • In Only wipe crypt/zone if this is the first time we're mounting it #3638 , we used "was the filesystem previously mounted" as a proxy for this information. However, in cases where the sled agent reboots, this information gets out-of-date -- the filesystem could be mounted, but sled agent should remove the corresponding dataset.

This PR introduces a filesystem property, simply called 'oxide:agent', which is a randomly generated string created statically during the lifetime of the Sled Agent. If the sled agent reboots, this value will be regenerated, which instructs the sled agent to wipe crypt/zone and re-create it.

@smklein smklein requested review from andrewjstone and iliana July 15, 2023 08:17
@smklein smklein marked this pull request as ready for review July 17, 2023 03:23
@smklein smklein merged commit 8f8c700 into main Jul 17, 2023
@smklein smklein deleted the one-more-wipe branch July 17, 2023 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants