Robert McMahon
376616808e
Add fabric/concentrator packages, FDIR, and lab documentation
...
Introduce fiwicontrol.fabric (definition, merge, builder CLI, fingerprint checks)
and fiwicontrol.concentrator for local workstation snapshots. Add system scripts
(fabric_realize, dump_concentrator, pcie_hotswap_harness, acroname discovery).
Document architecture (docs/architecture.md) and fault handling (docs/fdir.md);
expand fabric-builder, system-test-scripts, pcie-hotswap-setup, install, and
README with env vars, security boundaries, and intended-use limits.
Harden INI merge and serial resolution for pcie_bdf and patch_panel_ports;
bound patch-panel JSON reads; gate remote SSH tests behind FIWI_RUN_REMOTE_TESTS.
fabric_realize: exit codes, --realize-discovery-timeout, --patch-panel-json,
and [FiWi-FDIR] stderr lines. Fabric.realize supports discovery timeout and
FDIR logging; binding_cache_status logs fault paths.
Made-with: Cursor
2026-04-12 20:33:54 -07:00
Robert McMahon
db3cb7a92a
docs: align install and guides with package layout
...
- install.md: fiwicontrol subpackages, scripts/system vs pytest, test_package_layout imports
- power-control-and-inventory.md: related fronthaul, telemetry, radio packages
- flows.md, spc.md: See also points to README full layout
Made-with: Cursor
2026-04-12 12:29:28 -07:00
Robert McMahon
1bcefa93c8
docs: align SPC with code; document pip extras and API
...
- README: remove claim that SPC is not in-tree; add spc/flows install lines
- install.md: bring-up table mentions optional [flows] and [spc]
- docs/spc.md: match Hotelling keyword-only alpha, mean_/covariance_, MR span
- spc package docstring: lazy NumPy/SciPy loading clarified
Made-with: Cursor
2026-04-10 19:41:48 -07:00
Robert McMahon
a7759317f1
docs: refresh pytest examples, SSH notes, and default.ini paths
...
- README: whole-suite example (27 passed, 1 skipped), single-test id example,
python3 -m pytest throughout, remote power -v transcript, clarify
FIWI_VERIFY_POWER_INI skip behavior, fix commands bootstrap wording.
- install.md: table step 5/6 wording (no section symbols), full-suite note,
python3 -m pytest in verify steps.
- node-control-asyncio-design.md: FIWI_SSH_CONFIG / conftest note, python3
in examples, replace obsolete --setup-remote checklist wording.
- power-control-and-inventory.md: default.ini in verify transcript and
live pytest INI; FIWI_SSH_CONFIG first for ssh_config.d noise; python3
pytest commands; checklist expected remote test result.
Made-with: Cursor
2026-04-10 18:51:17 -07:00
Robert McMahon
14ba9783fe
fix(ssh): FIWI_SSH_CONFIG -F for tests; skip remote tests without pubkey auth
...
- node_control: honor FIWI_SSH_CONFIG (insert -F after ssh) so clients skip
broken /etc/ssh/ssh_config.d drop-ins; use same argv for clean/pkill helpers.
- tests/conftest.py: setdefault FIWI_SSH_CONFIG to tests/fixtures/ssh_config_minimal.
- Fixture: writable UserKnownHostsFile, BatchMode, accept-new.
- test_remote_power_dependencies: skipUnless passwordless root@FIWI_REMOTE_IP;
setdefault fixture path for unittest runs; FIWI_FORCE_REMOTE_TESTS to always run.
- docs/install.md: document FIWI_SSH_CONFIG for Fedora-style ssh_config.d errors.
Made-with: Cursor
2026-04-10 18:45:18 -07:00
Robert McMahon
4ad0b4b249
refactor: move lab discovery to fiwicontrol.lab; remote setup to commands
...
- Add fiwicontrol.lab package (discovery, inventory_config, inventory_verify)
with default lab INI configs/default.ini (FIWI_LAB_INI override).
- Move remote_setup to fiwicontrol.commands; add python -m fiwicontrol.commands.
- Power CLI keeps --discovery-json, --list-power-devices, --verify-inventory;
add -c/--config for inventory paths; drop --setup-remote (use commands module).
- Re-export lab symbols from fiwicontrol.power for compatibility.
- Update docs, scripts, and tests.
Made-with: Cursor
2026-04-10 18:39:43 -07:00
Robert McMahon
3244f68d67
Monsoon discovery via Linux sysfs; lab INI docs and --list-power-devices
...
- discovery: count Monsoon HVPM from /sys/bus/usb/devices when pyserial has no TTY
(matches lsusb 2ab9:0001; official stack uses libusb/HID not ttyACM)
- power CLI: --list-power-devices INI; inventory_verify dump helpers
- docs: lab INI reference, verification checklist, Monsoon note; README/install pointers
- tests: sysfs monsoon unit test, dump_inventory local-only test
Made-with: Cursor
2026-04-10 18:22:33 -07:00
Robert McMahon
c3df0145ea
Document bring-up; fix SSH as root; remote power setup tweaks
...
- docs/install.md: add Bring up systems checklist; generic clone URL; keep remote/PEP668 notes
- README and power design doc: point new operators at the checklist
- node_control: always use root@host for sshtype ssh (not bare host / local username)
- power: FIWI_REMOTE_PYTHON and --remote-python for setup-remote and discovery; tests honor env
- remote_setup: apply pip flags to both pip lines; optional remote python in script
Made-with: Cursor
2026-04-10 17:33:31 -07:00
Robert McMahon
be9cc4c7b5
major work
2026-04-10 17:14:15 -07:00