DOCFIX-192: the edge config silenced its own ONLY console (no serial, no video device)
Third lockout-class defect in the same config, found by executing D-112(c) for real.

After the config was applied and the box rebooted, the serial console went PERMANENTLY
SILENT -- no login prompt, no output, nothing (measured: raw console read returns empty).
The edge VM has NO VIDEO DEVICE, so the serial port is its only console and its only
break-glass path.

Cause: the config set neither <primaryconsole> nor <serialspeed>, so the applied config
did not select the serial console. Boot output still appears (the loader honours the nano
image's own /boot.config -S115200), which is why this looks like a hang rather than a
config choice -- the console dies exactly when OPNsense applies our config.

The box was NOT lost: DOCFIX-191 had just enabled sshd + installed the service key, so it
stayed reachable. That is the only reason this was a finding and not an outage. Two
lockout bugs in one config, and the first one saved us from the second.

Key names VERIFIED against upstream src/www/system_advanced_admin.php:
  - `primaryconsole` and `serialspeed` are STRING values.
  - There is NO `enableserial` key in OPNsense -- that is a pfSense-ism. Do not add it.
115200 matches the nano image's own /boot.config.

Harness 12 -> 15 PASS. T9b asserts the serial console is retained; T9c guards against
someone "fixing" this by re-adding the bogus pfSense <enableserial> key.

(T9c initially failed on my own template COMMENT, which names enableserial while warning
against it. Tightened to match an actual element. The harness caught it.)

Gauntlet ALL GREEN (52); repo-lint 0 fail.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y117t1F525ba9r1vXSBETk
1 parent 75808b4 commit bba0751918f63013a9d0730e9262d4917d2cbc2f
@JANeumatrix JANeumatrix authored 1 day ago
Showing 3 changed files
View
opentofu/modules/opnsense-edge/main.tf
View
opentofu/templates/opnsense-config.xml.tmpl
View
tests/opnsense-render-config/run-tests.sh