Skip to content

TSG/Storage: add testable metadata markers + live-validated enhancements (4 articles) - #343

Open
John Neemes (1008covingtonlane) wants to merge 1 commit into
Azure:mainfrom
1008covingtonlane:joneemes/tsg-forge-storage
Open

TSG/Storage: add testable metadata markers + live-validated enhancements (4 articles)#343
John Neemes (1008covingtonlane) wants to merge 1 commit into
Azure:mainfrom
1008covingtonlane:joneemes/tsg-forge-storage

Conversation

@1008covingtonlane

Copy link
Copy Markdown
Collaborator

Summary

Adds machine-readable test metadata (the tsg-metadata/v1 marker) to all four content articles under TSG/Storage, alongside targeted enhancements validated against live Storage Spaces Direct clusters in an internal HaaS lab. This lets the directory be discovered and automatically tested by the metadata-driven pipeline.

Each article now carries a hidden <!-- tsg-metadata ... --> marker declaring document type, detector, reproduction substrate, live-validation fidelity, and a backing spec reference. Content was hardened for reader usability across a 13-persona review (leadership skim, first-day technician, CSS engineer, partner SI, OEM, and others), and every article reached a perfect panel with no remaining required change.

Articles

Article Type Live fidelity Key enhancement
HowTo-Storage-AddPhysicalDisksToS2DPool how-to L3 Full reversible add / auto-pool / remove cycle validated live; new At a Glance and Evidence and Escalation sections; corrected disk-state terminology (CanPool boolean vs In a Pool reason)
Troubleshoot-Storage-PhysicalDiskCanPoolFalse troubleshoot L1 CannotPoolReason values corrected to the exact title-case strings the product emits (In a Pool, Insufficient Capacity, and others); scope banner; beginner off-ramp before the destructive reset
Troubleshoot-Storage-StoragePoolCapacityThreshold troubleshoot L3 Fixed-vs-thin footprint thesis confirmed live; substrate-artifact note for nested reclaim; multi-site sweep guidance
Troubleshooting-Storage-With-Support-Diagnostics-Tool reference L1 Full -Include token matrix run read-only; glossary; corrected all-PASS escalation target; PhysicalExtentCheck edge output documented

Validation

Every article was live-exercised read-only where safe, and for AddPhysicalDisks with a fully reversible scratch-disk add-and-remove that restored the pool byte-identical to its pre-test baseline. No production or customer system was used. The exact commands, observed output shapes, and per-run evidence live in the backing test specs.

Notes for reviewers

  • The canonical tsg-metadata.schema.json these markers validate against is added in the companion Templates PR (Forge and standardize public TSG templates #342); that one should merge first.
  • Markers are hidden HTML comments and do not change rendered article content.

/cc Alex Burns (@AlBurns-MSFT) Adam Rudell (@arudell) Meghay (@mejayara) for review.

…ments

Adds tsg-metadata/v1 markers to all four TSG/Storage articles and hardens each
from live HaaS validation: AddPhysicalDisks (L3 reversible add and remove
cycle), CanPoolFalse (title-case CannotPoolReason strings, UniqueId-safe
manual add), StoragePoolCapacityThreshold (fixed vs thin thesis, forced
power-off gate, verified on-box fault strings), and the Support Diagnostics
reference (Include-token matrix). All four reach a perfect 13-persona panel
at lint A. Markers are hidden HTML comments and do not change rendered content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI 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.

Pull request overview

Adds testable metadata and validated storage guidance improvements across four Azure Local articles.

Changes:

  • Adds tsg-metadata/v1 markers for pipeline discovery.
  • Expands safety, validation, evidence, and escalation guidance.
  • Corrects disk-state terminology and diagnostic output details.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
HowTo-Storage-AddPhysicalDisksToS2DPool.md Strengthens safe disk-add and verification procedures.
Troubleshoot-Storage-PhysicalDiskCanPoolFalse.md Expands reason-based diagnosis and evidence collection.
Troubleshoot-Storage-StoragePoolCapacityThreshold.md Clarifies fixed/thin remediation and validation.
Troubleshooting-Storage-With-Support-Diagnostics-Tool.md Adds a comprehensive diagnostic command reference.
Suppressed comments (1)

TSG/Storage/Troubleshoot-Storage-PhysicalDiskCanPoolFalse.md:482

  • What: the second transcript-copy block again filters only .txt, .log, .etl, and .zip, while this cmdlet writes its transcript as CSV. Why: the physical-extent run's native evidence is never copied, and a later same-day run can overwrite it. How: select the newly modified TraceOutput_*.csv and save it with a distinct name.
# Copy the native tool transcript for this run into the evidence package as well.
Get-ChildItem -Path $diagWorkingDir -Recurse -File |
    Where-Object { $_.LastWriteTime -ge $extentStart -and $_.Extension -in '.txt','.log','.etl','.zip' } |
    ForEach-Object { Copy-Item -Path $_.FullName -Destination $evidenceRoot -Force }

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +455 to +466
# Record the cmdlet working directory and a start time so its native transcript can be copied out.
$diagWorkingDir = (Get-Location).Path
$runStart = Get-Date

# Capture ALL streams (success, error, warning, verbose, host, and information) with no ConvertTo-Json.
Start-AzsSupportStorageDiagnostic -Include 'MissingDisks','DiskHealth','StorageHealth','StorageComponents','FirmwareDrift','StorageSummary','CSVUsage' *>&1 |
Tee-Object -FilePath (Join-Path $evidenceRoot 'Start-AzsSupportStorageDiagnostic.txt')

# Copy the native tool transcript the cmdlet writes in its own working directory into the evidence package.
Get-ChildItem -Path $diagWorkingDir -Recurse -File |
Where-Object { $_.LastWriteTime -ge $runStart -and $_.Extension -in '.txt','.log','.etl','.zip' } |
ForEach-Object { Copy-Item -Path $_.FullName -Destination $evidenceRoot -Force }

If available, run the Azure Local Support Diagnostic Tool storage checks:
> [!WARNING]
> Do not reset or manually add disks while verification is still in progress or failed. If `Verification In Progress` or `Verification Failed` remains unchanged after the normal wait of about 10 to 15 minutes and the disk is clean, supported, online, and symmetric, stop this decision tree and use the dedicated Health Service verification-stuck TSG from PR 333 or spec `AzLocal_Storage_PhysicalDiskVerificationStuck`. That companion owns Health resource, SDDC Group, and provider-list repair.
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.

2 participants