Skip to content

[HLD] SSD Wipe#2449

Open
ShauliTaragin wants to merge 2 commits into
sonic-net:masterfrom
ShauliTaragin:ssd-wipe-hld
Open

[HLD] SSD Wipe#2449
ShauliTaragin wants to merge 2 commits into
sonic-net:masterfrom
ShauliTaragin:ssd-wipe-hld

Conversation

@ShauliTaragin

Copy link
Copy Markdown

Summary

Adds the High-Level Design document for the SSD Wipe feature (config sed wipe-ssd), which securely erases the switch boot SSD in three sequential stages:

  1. Ramdisk pivot — relocate rootfs to tmpfs so the physical SSD can be unmounted while the OS keeps running.
  2. Crypto Erase (PSID Revert) — destroy the SED media encryption key via sedutil-cli (fast, key-based wipe).
  3. NVMe Block Erase — overwrite all user data blocks via nvme sanitize --sanact=0x02 (slower, NAND-level overwrite).

The feature extends the SED framework adding:

  • SedMgmtBase.wipe_ssd() + abstract get_psid()
  • ssd_erase.sh orchestrator (ramdisk pivot + crypto erase + block erase)
  • check_sed_crypto_erase_prereqs helper in the shared sed_pw_utils.sh
  • rsync added to the image (needed by the ramdisk pivot)

Adds the high-level design document for the graceful SSD wipe feature:
`config sed wipe-ssd` CLI, `SedMgmtBase.wipe_ssd()` + abstract
`get_psid()`, and the `ssd_erase.sh` orchestrator that performs the
ramdisk pivot, crypto erase (SED PSID revert), and NVMe block erase.

Builds on the SED framework from sonic-net#2171 (change/reset SED password).
- §2 Scope: name the platform-specific API as get_psid() API for parity
  with the common API row.
- §4.1 Warning: state that SED locking is disabled after wipe (Locking SP
  returned to unowned) in addition to the password reset.
- §8 CLI: drop 'and reboot the switch' from the click.confirm prompt and
  from the interactive example - the operator does the reboot manually
  after the wipe completes.
- §7.5: describe that check_sed_crypto_erase_prereqs delegates to the
  existing check_sed_ready for TPM/SED/locking checks instead of
  duplicating those checks.
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@benle7 benle7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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.

3 participants