Skip to content
Oznog

20 lessons · all six themes

Power and environment

Twenty lessons on UPS behaviour, transfer switches, shutdown and restart, and keeping a server room cool.

Power is the layer where Node0 found the most instruments that lie. Not fail, lie: a transfer switch reporting a healthy source as faulty because the two supplies disagreed about nominal voltage (5.1), a management card returning an empty string rather than a busy signal when two of the fleet’s own jobs asked it a question at once (5.4), a server’s modern management API returning a confident 18 watts and zero fan speed for a machine running at 9,400 RPM (5.7), a label field that recorded what somebody believed on the day the rack was wired rather than what the copper does (5.2). In every case the output looked like a measurement. The habit that worked, over and over, was to get the same fact from a second, independent instrument: follow the cable, meter the voltage, read the device’s own screen, ask the older CLI.

The order matters, because the theme builds. August was bring-up: voltage, labels, battery vocabulary (5.3), fuses (5.19), and the deliberate decision to accept cleartext management on hardware too old for usable SSH (5.8). Early September was measurement and its traps: the credential that crossed from a protected transport onto a cleartext one, a secret rotation that changed nothing while reporting success (5.9), a rack whose two supplies cannot carry each other and a nameplate rating that had been wrong for months (5.10).

Mid-September covered the harder half of the shutdown design: getting the fleet to come back. The shutdown design had been declared finished once on the strength of shutdowns alone. Asking the other half of the question found a two- minute deadline hidden in a factory default (5.5), a BIOS setting that guarantees a fleet stays dark after a textbook shutdown and means the opposite thing on two boards from the same vendor (5.11), commands that only work while the UPS is genuinely on battery (5.13), and a control path that ran through the firewalls the power event would also take down (5.14). Cooling ran alongside it: a real heat problem solved with existing capacity and kept explicitly provisional (5.16).

Power and cooling as they stand now are on the power and site layer pages.

Declined #

  • A lab-bench UPS and surge strip, deliberately unmonitored. A design choice, excluded from metrics and dashboards on purpose; nothing changed as the result of a problem.
  • A USB Ethernet adapter that enumerated as a mass-storage device. A real, dated hardware lesson, but it belongs to the hardware and bring-up theme, and is declined here to avoid telling it twice.
  • One transfer switch’s dead application link, fixed by a firmware reflash on 20260911. Declined here because it is published in the hardware theme, as lesson 1.12 .
  • Thermostat wiring carried over from the previous unit, using a spare conductor for common. A one-time installation detail with no cost, no monitoring change and no reusable check beyond labelling your wires.
  • Wireless environment sensors offline for an hour after a password change on the sensor network. Diagnosed quickly from the access point’s own log; it changed no design and no standing check.
  • A contact sensor re-adhered on 20260915 after false alerts. A one-line physical maintenance fix with no design change, too small to carry a standalone lesson.

The lessons, in order

Source: node0 lessons v0.1, section 5. Sanitized: checklist v0.1, 20260921; voice pass 20260921. Part of oznog.com/node0.