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
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
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
72048e8a62
docs: real verify-inventory OK transcript and ssh_config.d fix hint
...
Made-with: Cursor
2026-04-10 18:29:22 -07:00
Robert McMahon
c50aa5dced
docs: verify-inventory success example; align clubhouse.ini with Pi discovery
...
- Document successful vs MISMATCH output, exit codes, ssh_config stderr pitfall
- Pi inventory acroname multiset matches documented discovery (2x USBHub3p:8 + USBHub2x4:4)
- Update test_load_clubhouse_ini expectations
Made-with: Cursor
2026-04-10 18:27:58 -07:00
Robert McMahon
cf166350f5
docs: example discovery JSON for Pi (Acroname + sysfs Monsoon)
...
Made-with: Cursor
2026-04-10 18:26:19 -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