Provider Contract Harness
The provider contract harness is an intermediate test layer between pure planner unit tests and live AWS/Azure/OCI/PVE qualification.
It models provider-side state, not guest OS state:
- secondary IP ownership is keyed by provider target references such as ENI, NIC, or VNIC identifiers;
- route-table steering is keyed by route table and next-hop references;
- forwarding is a provider capability flag on a target reference;
- inventory snapshots report provider observations with snapshot generations and completion timestamps.
The harness intentionally does not model secondary IPs as ip addr entries in a
Linux namespace. That boundary is the main difference from the retired netns
approach: provider API state and guest dataplane state stay separate.
Current coverage:
- normal
assign-secondary-ipfails non-destructively when another target holds the address; - explicit seize requires
allowReassignment=true; - explicit seize can be fenced with
expectedHolderRef; - route-table route assignment records next-hop steering;
- forwarding enablement records provider forwarding state.
This layer complements, but does not replace, live full-topology qualification. Use it to test provider action and observation contracts without cloud credentials, then reserve AWS/Azure/OCI/PVE runs for release qualification and changes that alter real provider executors or dataplane behavior.