Skip to content

Qualify service integration and failure behavior on the target platform #1048

Closed

Description

@privateip

Parent: #1041

Deliverable: a checked-in independent service client, reproducible acceptance harness, and executed evidence for the complete Galactic backend integration.

Exercise the published backend contract using an external consumer against fixed Galactic artifacts and real fabric routers. Cover all four supported diagnostics and both address families where supported. Qualify backend behavior without requiring the public website, project session controller, or customer CLI to be implemented.

Work items:

  • Package the independent client, pinned artifacts, setup, fixture identities, workload generation, and cleanup instructions.
  • Automate authorization, capability compatibility, mixed router completion, omitted/failed router coverage, destination restrictions, and existing interface regression cases.
  • Exercise project fairness, bursts, aggregate destination traffic, replica coordination, limiter failure, slow consumers, cancellation, API isolation, and leadership replacement.
  • Execute the suite on the target platform; publish measured failure and resource bounds, routing impact, and results mapped to every epic acceptance requirement. Run by hand with the procedure in docs/fabric-api/qualification.md; the lab run is recorded in the archive.

Dependencies: harness development can begin after #1042; final qualification requires #1043, #1044, #1045, #1046, #1047.

Acceptance: Another engineer can reproduce the tests using the published API and pinned artifacts without modifying Galactic internals. Evidence records versions, initial limits, routing-impact thresholds, observed packet budgets, cancellation timings, and resource ceilings. Required fault and probe checks execute; skipped tests or readiness checks alone do not establish acceptance. The harness cleans up its resources and preserves diagnostic payload confidentiality.

Activity

  1. added theissue type on Oct 23, 2026
  2. self-assigned this
    on Oct 26, 2026
  3. privateip commented on Oct 29, 2026

    @privateip
    CollaboratorAuthor

    Closing this with the lab run as the qualification of record. The deployed-cell run will be done by hand.

    What landed (stack #1143, merged as #1141 and #1142):

    • An independent client in examples/looking-glass-client. It imports only the published service API, and task test:looking-glass-client enforces that.
    • The tests/lgqualify suite, with 21 scenarios covering authorization, compatibility, all four diagnostics in both address families, router coverage, destination policy, existing interfaces, bursts, fairness, destination budgets, cancellation, deadlines, the service switch, blackholed clients, routing impact, leader crash, pause and API isolation, resources, confidentiality, and cleanup.
    • deploy:looking-glass, verify:looking-glass and undeploy:looking-glass lab tasks, plus the procedure in docs/fabric-api/qualification.md.
    • Fixes for four defects the suite found: the gateway now applies the public destination policy before the snapshot, and has --deny-prefixes; service request logs no longer echo targets; node certificates under require-permits carry client auth; and a node's permit connection redials when its credentials reload.

    Result: on the containerlab lab, all 21 scenarios passed with none skipped, against thresholds fixed before the run. Loaded p95 BGP convergence was within 1 % of the control's, and no other session reset. After a leader crash, the new leader resumed 132 s after acquiring the lease, against a 134 s bound. cleanup found no leftover rules. After undeploy:looking-glass, verify:fabric-api passed. The dated record, with the revision and results mapped to every acceptance row, is in docs/archive/benchmarks/looking-glass-qualification-2026-10-27.md.

    Not covered: the fourth work item asked for a run on the target platform. It will be run by hand on a staging cell with the procedure in docs/fabric-api/qualification.md. Until that run passes, the service is qualified only on the lab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions