Skip to content

Add reproducible end-to-end feature acceptance tests #985

Open

Description

@privateip

Parent: #970

Deliverable

A checked-in integration suite and completed evidence matrix proving #970 against the real service and gVPC datapath on the containerlab gvpc lab.

Dependencies

#984, #974; final integrated acceptance also requires the executed foundation evidence from #998, #1000 and #1001. Fixture/evidence preparation can proceed before those issues close.

Galactic Edge integration (#992)

Implement this milestone as a consumer of the Galactic Edge provider contract. #992 owns provider authorization, host attachment lifecycle, shared-state fencing and maintenance, independently enforced forwarding expiry, prefix conflict arbitration/publication, and gVPC traffic policy. MASQUE owns client authentication, connector /96 assignment and retention, session packet checks, transport behavior and its provider adapter. Use the foundation's versioned contract and existing provider helpers; do not introduce a second host-networking controller, lease store or BGP publisher. Any required foundation change must be tracked and qualified under #992 before this milestone claims integrated acceptance.

Work

  • Package scoped test configuration, fixtures and commands to run the implemented service on the containerlab gvpc lab with independent clients and real local/remote workloads.
  • Combine transport lifecycle, /96 subdivision routing, overlapping-tenant isolation, policy, credential expiry/revocation, ownership replacement, API outages and MTU cases.
  • Exercise HTTP/2 with UDP/443 blocked and the agreed reconnect/continuity behavior. Capture actual protocol and route observations.
  • Integrate automatable tests into the appropriate repository checks; execute the privileged checks on the containerlab lab.
  • Collect versioned results and link each epic acceptance criterion to its test and evidence. Production deployment, public APIs and client product changes are excluded.

Acceptance criteria

  • Every acceptance criterion in MASQUE Connector for gVPC #970 has an executed passing result with reproducible commands, pinned versions and measured bounds where applicable.
  • Negative cases prove that denied traffic does not arrive at the workload or another connector; success is verified by packet exchange, not readiness alone.
  • Privileged checks are not silently skipped or replaced by mocks.
  • The fixture cleans up its own test resources, and documentation lets another engineer reproduce the feature verification without a production rollout.

Additional integration acceptance

Scope follows #970: CONNECT-IP with HTTP/2 fallback; no public API development, plugin/portal integration, product-client development or production rollout.

Acceptance runs on the containerlab gvpc lab; hardware and target-platform testing are out of scope (#1002 closed as not planned). See #1224.

Activity

  1. changed the title [-]MASQUE: add reproducible end-to-end feature acceptance tests[/-] [+]Add reproducible end-to-end feature acceptance tests[/+] on Oct 22, 2026
  2. added theissue type on Oct 22, 2026
  3. privateip commented on Oct 27, 2026

    @privateip
    CollaboratorAuthor

    This issue now also owns running #974's packet-access checks on the target platform, per that issue's owner.

    #974's lab work runs on the containerlab lab through task verify:masque-conformance. It covers rows M07 and M16 and #989's A05, A06, A08, A14 and A16, and ends with asserted cleanup. #974's last acceptance criterion needs the same checks executed on the target platform with pinned versions and recorded results. That needs a harness for a cluster of real nodes, which does not exist yet. #1002 and #1118 are closed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions