docs: the SSDs are in Saruman's bays, unassigned, and three predictions were wrong (#418) - #521
Merged
Merged
Conversation
…ns were wrong (#418) Both SM863a drives were fitted 2026-09-18 and the iLO reported them in the 20:11 UTC scrape: indexes 2 and 3, Port 1I Box 1 Bay 3 and Bay 4, solid state, SATA at 6 Gb/s, 915715 MB, SMART ok, notConfigured. Serials S3F3NX0K601487 and S3F3NX0K806107, firmware GXM5304Q. Nothing alerted and nothing was silenced; step 1's silences are for step 5's sync, which has not run. No logical drive, no thin pool, no guest move, no measurement. The runbook's status block, step 4 preconditions and step 11 Observed column record the reading. Three predictions corrected: the model string is SAMSUNG, not MZ7KM960...; the walk did not slow down (11.4 s either side); and the serials were read back through the iLO rather than off the labels, which step 4 now says can still be done while the drives are unassigned. Items 2, 3 and 5 of "what this runbook does not know" are settled. The wear columns are blank on the SSDs as on the HDDs; step 11 re-reads them after step 5 before that becomes an issue. hardware.md's Storage column moves as the accessories entry promised, and the entry carries the serials, which is where #148 asked for them to live. The roadmap's paid-for register drops the trays and the SSDs, and the #418 and #414 paragraphs say fitted rather than waiting. No ADR changes: the measurement is what makes them stale, and it has not been taken. Refs #418, refs #148, refs #76 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #418,Refs #148,Refs #76— no close keywords. The drives are fitted and nothing after the bays has happened; the measurement is what closes #418.What happened
Both SM863a drives went into
Saruman's bays 3 and 4 on 2026-09-18. The iLO reported them in the 20:11 UTC scrape, absent at 20:10 — both in the same minute:cpqDaPhyDrvSerialNumS3F3NX0K601487S3F3NX0K806107cpqDaPhyDrvModel/FWRevSAMSUNG/GXM5304QcpqDaPhyDrvSize915715MBMediaType/RotationalSpeed/Type/NegotiatedLinkRate3solidState /5rpmSsd /3sata /4Condition/Status/SmartStatus2/2/2okConfigurationStatus3notConfiguredSmartCarrierAppFWRev/BootldrFWRev11/6— the same as bays 1–2cpqDaLogDrv*still reads index1only;cpqDaAccel*andcpqDaCntlr*are unchanged from the 2026-09-17 baseline;scrape_duration_seconds{device="shiva"}is11.4s either side of the fit. No alert ondevice="shiva"fired for it, and no silence existed — step 1's silences are for step 5's sync, and inserting a drive into an empty bay moves no condition column.This is step 4 of the runbook and no other step. No
ssacli, no logical drive, no thin pool,alexanderstill on the HDD mirror, no fio, no cache reading for #76.What this PR does
fit-the-saruman-ssds.md— status block rewritten for 2026-09-18; step 4's tray precondition becomes past tense with the carrier firmware as the proof; step 11's Observed column is filled for the physical-drive rows; items 2, 3 and 5 of "what this runbook does not know" are struck through with the reading that settled them; step 1 says to create its silences immediately before step 5, not before step 4.hardware.md— the Compute table's Storage column moves, as the accessories entry said it would on the day Fit the two SSDs in Saruman, and re-derive what the spindles decided #418 fitted them:2× 1 TB SAS HDD, RAID 1; 2× 960 GB SATA SSD, unassigned. The SM863a entry carries both serials, the firmware and the link rate in the S3520 entry's shape, and says whose reading they are. The tray entry is fitted. The duplicated "reading them back afterwards" sentence in the SSD entry is gone.roadmap.md— the trays leave still moving, the SSDs leave on hand, and a dated note records the fit; the Fit the two SSDs in Saruman, and re-derive what the spindles decided #418 entry says fitted-and-stopped-at-the-bays; the Build the lab Windows domain on Saruman (ADR-0029) #414 paragraph no longer says the drives are on a shelf.Three things the runbook predicted wrongly
MZ7KM960...; the iLO reportsSAMSUNG. It names a third-party SATA drive by vendor where it gives the HPE disks their part number. The part is proved by size, firmware and serial prefix instead, and the row now says so.Unassigneda label check is still safe — a drive that is a member of nothing can be pulled and reseated — and that the window closes at step 5.Two readings worth having
cpqDaPhyDrvSSDWearStatus1other,SSDPercntEndrnceUsed/PowerOnHours/SSDEstTimeRemainingHoursall4294967295, as on the HDDs.cpqDaPhyDrvHasMonInfoalso reads false on all four, and the MIB allows an unconfigured drive to go unpolled, so step 11 re-reads these after step 5. If they are still blank once the drives are in a logical drive, the closing paragraph'ssmartctl -d ccississue gets opened — not before.cpqDaPhyDrvMaximumTemperatureis a lifetime figure:62°C on Bay 3 against a60threshold,51on Bay 4, both at 30–32 °C now. Second-hand drives carrying their previous life's number — the kind of reading direct SMART would have shown at purchase.What is deliberately not here
No ADR changes. ADR-0029's ninety is stale the day step 8's measurement lands, not the day the drives did. No
network.rules.yamlsilence paragraph and no test-fixture changes — no silence exists yet. No wear issue — gated on the re-read after step 5. No thin-pool blind-spot issue — the pool does not exist.Also seen and not chased: the iLO's SNMP was unreachable 14:54–15:03 UTC the same day (
InstanceDownfired on10.0.30.10);Sarumanandalexanderstayed up throughout.Blast radius
Documentation only.
secrets/*.sops.yamlVerification
python3 scripts/check_docs.py→docs OK — 83 Prometheus + 18 Loki rules, 7 dashboards, 141 panels, 10 assertions./scripts/lint.sh --require-all→lint passedSerials and bays in the diff re-read from Prometheus at commit time and match.
make validatepasses (check-docs and lint stages; rules unchanged)What is next, and who runs it
From the Mac, on
Saruman: step 2 (ssacli, record which path worked), step 3 (capture the Cache Ratio and Interface Type lines verbatim — the #76 and item-12 readings), the optional label check while both drives are unassigned, then step 1's silences fromprometheusimmediately before step 5, steps 5–9 on the Mac, steps 10–11 fromprometheus. The runbook's "Flipping the documents" list is the completion PR.Refs #418
🤖 Generated with Claude Code