Skip to content

srxmcp-v0.3.0 — Phase 3 cluster-health + JTAC support-bundle

Choose a tag to compare

@fastrevmd-lab fastrevmd-lab released this 27 May 21:14
a9d4295

srxmcp-v0.3.0 — Phase 3

Two new MCP tools (surface 8 → 10):

  • validate_chassis_cluster_health — runs 8 cluster-scoped RPCs, applies 7 ordered checks (red_led, disabled_secondary, control_link_failure, major_alarm, minor_alarm, recent_reboot, version_skew), rolls up to a single pass | warn | fail verdict. Standalone devices short-circuit to SrxState::NotConfigured.

  • collect_jtac_support_bundle — per-router serialized via in-process Semaphore keyed on (router, "support_bundle"). problem_type=generic produces an on-device tarball (BundleLocation::Device); per-type paths capture baseline + per-type RPCs (deduped) and tar them on LXC (BundleLocation::LxcStaging) with SHA-256.

Six new typed errors with the locked [code=<snake>] router=<name>: <detail> convention.

Live-lab smokes (LXC 601:30032)

  • validate_chassis_cluster_health against vSRX-test19-20state=active, verdict=fail, surfaced real lab issues (Red LED, disabled RG members, control-link transitions).
  • validate_chassis_cluster_health against vSRX-test10state=not_configured (standalone short-circuit).
  • collect_jtac_support_bundle problem_type=generic against vSRX-test10BundleLocation::Device with next_step hint.
  • collect_jtac_support_bundle problem_type=[routing] against vSRX-test10BundleLocation::LxcStaging, 6.8 KB tarball, sha256 verified, baseline + routing RPCs captured.

Deploy footnote

/etc/systemd/system/rust-srxmcp.service ReadWritePaths= widened to include /var/lib/rust-srxmcp for the LXC staging dir (/var/lib/rust-srxmcp/staging/bundles/).

Known follow-ups (cosmetic / v0.3.1)

  • Tarball filename double-prefixes srxmcp- (request_id already has it): srxmcp-srxmcp-<uuid>.tgz.
  • Logs path stubbed in v0.3.0 (manifest records "not implemented in v0.3.0").
  • v0.3.1 plan: consolidate per-type path onto on-device request support information once per-RPC scoping is verified.

Verification

  • 644 workspace tests green (cargo fmt / build / clippy -D warnings / test)
  • Fixture-based tests caught and fixed a real parser bug in check_control_link_failure (<transition-reason> vs <redundancy-group-transition-reason>)

PR: #78 · Commit: a9d4295