docs: two SFF trays for Saruman were bought on 2026-09-11 and never recorded - #498
Merged
Merged
Conversation
Gerrrt
added this pull request to stack #499
September 17, 2026 23:19
Base automatically changed from
gerrrt/prodesk-spare-firewall-restore-bb18c3
to
main
September 17, 2026 23:28
Gerrrt
force-pushed
the
gerrrt/saruman-sff-caddies-651687
branch
from
September 17, 2026 23:28
4adb340 to
e24a0ae
Compare
…tten down `grep -rn -i caddy docs/` returned nothing. Two HP 2.5" SmartDrive carriers, `651687-001`, were bought on 2026-09-11 for `Saruman`'s SFF bays and have been paid for and undocumented since. They are the trays the SM863a pair needs: a Gen9 bay holds a drive only in a carrier, so two drives want two trays, and two is what was bought. That quantity is the fact most worth recording — one tray short is one SSD fitted and one on a shelf, which is a thing you find out at the rack. They were bought in the same sitting as the I226 card, the Exos pair, and the boot disk's bracket and tape, every one of which has had an entry since the day it was bought. The roadmap's rule is that a purchase is written down when the money is spent, so this gap is the rule failing rather than something it allows, and the entry says so. It was found while reading the ProDesk's arrival paperwork for #92 — not a way of finding purchases that can be relied on. Dated 2026-09-11, not the 2026-09-12 its confirmation is stamped with: the mail landed 03:09 UTC, which is 20:09 local the evening before, and the neighbouring purchases from that same sitting are all dated 09-11. The same slip put the ProDesk's arrival a day out earlier today. The SM863a entry above went from "in transit" to in hand since 2026-09-11 in the same edit. eBay's delivery notice puts them here on the 11th and this file still had them moving; the roadmap's copy of that fact is corrected under #92. Nothing is fitted, and the Compute table's Storage column does not move — #418 does that, and these trays are what it was missing. `make check-docs` and `make lint` pass. No row enters or leaves the buy table. Refs #418 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`hardware.md` now carries the two SFF trays; this is the other half of the rule they broke. They go into "Already paid for and still moving", which is where a paid-for, not-yet-arrived thing belongs, and the dated note says what happened rather than quietly filling the hole. The note is the part worth keeping. Six days of silence on a purchase was found by reading a delivery notice for #92, not by anything this repository does — nothing checks this list against what was actually bought. That is the gap the omission exposed, and it is worth stating where the rule is written. No row enters or leaves the buy table, and README's count is untouched. Refs #418 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Gerrrt
force-pushed
the
gerrrt/saruman-sff-caddies-651687
branch
from
September 17, 2026 23:29
e24a0ae to
c500e6e
Compare
Gerrrt
added a commit
that referenced
this pull request
Sep 18, 2026
…s gate it nothing the documents say. This adds the document that makes the fit provable when it happens, and records what has actually been decided. The layout question the issue left open is answered: the SSDs become a second RAID 1 logical drive on the P440ar, Smart Array managed, with the 7.2K mirror keeping Proxmox, the ISOs and the backups. That is the smaller change, it keeps a spindle for the things that do not need IOPS, and it leaves IloDrivePredictiveFailure, IloDriveSmartUnreadable and the replaceDriveSSDWearOut(4) state reading cpqida.mib exactly as they do today — so #351's decision to skip smart-state on this host stays right rather than needing re-checking. The runbook's "before" column is read, not assumed: every cpqDa* value in it came out of Prometheus on 2026-09-17. That reading also sharpens #76. cpqDaAccelWriteCachePercent has been the one column anyone looked at; the baseline shows cpqDaAccelMemory, cpqDaAccelReadMemory and both cache percents all at 0 against a 2 GiB module, with cpqDaLogDrvHasAccel{1} reading other rather than enabled. Four columns agreeing is much weaker support for "the iLO does not populate the ratio" than one was. The runbook takes the ssacli reading that settles it and hands the finding to #76 without acting on it: modify cacheratio= is controller-wide and would land on the array holding every guest, and it would move two variables at once underneath the measurement. What is deliberately not here: ADR-0029's ninety random write IOPS is derived, not measured — seek plus half a rotation at 7200 rpm — so replacing it with a differently-shaped measured number would be worse than leaving it alone. The runbook measures both arrays at the parameters that derivation implies, 4 KiB at queue depth 1, three times. Until that reading exists ADR-0029, ADR-0007, ADR-0017 and the roadmap's #414 paragraph stand as written, and then each gets a dated note rather than a silent edit. The fit is blocked, and the runbook says so at the top. #498 recorded two SFF trays bought 2026-09-11 and still in transit; a Gen9 bay holds a drive only in a carrier, so step 4 is a stop condition rather than something discovered at the rack. Steps 0 to 3 can all be done first, and step 2 — getting ssacli onto Debian 13, which nothing in this repository is evidence of — is the one most worth failing early. README's runbook count goes to 28 for the runbook this adds. The ADR counter and the duplicate ADR-0041 that had check-docs failing on main are both fixed there now, by #503, so nothing about them is carried here. Refs #418, #76, #148 Co-Authored-By: Claude Opus 5 <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.
What changed
grep -rn -i caddy docs/returned nothing. Two HP 2.5" SmartDrive carriers,651687-001, were bought on 2026-09-11 forSaruman's SFF bays and have been paid for and undocumented since. They now have an entry indocs/hardware.md§ Accessories and a line in the roadmap's paid-for register.Identified rather than guessed: the eBay order confirmation names the part as HP 2.5" HARD DRIVE CADDY TRAY FOR DL380 DL360 ML350 G8 G9 PROLIANT 651687-001, quantity 2 (2 × $9.99). That is
Saruman— a DL360 Gen9 — and two trays for the two SM863a drives. The quantity is the fact most worth recording: a Gen9 bay holds a drive only in a carrier, so one tray short is one SSD fitted and one on a shelf, and that is a thing you discover at the rack.Dated 2026-09-11, not the 2026-09-12 the confirmation is stamped with — the mail landed 03:09 UTC, which is 20:09 local the evening before, and the I226 card, the Exos pair and the boot disk's bracket from that same sitting are all dated 09-11. The same UTC slip put the ProDesk's arrival a day out in #492.
Two things came with it:
hardware.mdstill said "in transit". eBay's notice puts the pair here on 2026-09-11. Corrected — the roadmap's copy of that same fact is fixed in docs: trinity landed on the 14th, carrying Windows and a return window #492, and leaving the two files disagreeing would have been worse than the scope.Why
The roadmap's own rule under Everything still to buy: "a PR that implies a purchase edits this section in the same commit." This purchase never did.
Blast radius
Documentation only. Nothing is fitted; the Compute table's Storage column does not move — #418 does that, and these trays are what it was missing.
secrets/*.sops.yamlVerification
python3 scripts/check_docs.py→docs OK — 82 Prometheus + 18 Loki rules, 7 dashboards, 141 panels, 10 assertions./scripts/lint.sh --require-all→lint passedNo row enters or leaves the buy table and README's "two items now, one later" is untouched, so
check_buy_listis unaffected.make validatepassesStill open
The trays were quoted to arrive Mon 14 – Thu 17 September and there is no delivery notice as of this morning, so they are recorded as in transit. The entry carries a checked on arrival, not assumed list: that they are the Gen8/Gen9 part and not the Gen10 or 3.5" LFF one, that both arrived, and that each has its screws.
Refs #418
🤖 Generated with Claude Code