Files
vmware-api-simulator/docs/compatibility.md
T
inecs 131e2e63d2 Document 2026-07-18 lab test results across EN/RU guides.
Record offline 161 passed, green test-vsphere probes, and full pulumi-tests
7/7 with REST matrix 1987/1987 (critical=0); note the Terraform cookbook
binary mismatch separately.
2026-07-18 09:38:37 +03:00

3.8 KiB
Raw Blame History

Language / Язык: English | Русский

Compatibility

This document explains how the simulator claims compatibility with the vSphere Automation API across catalog majors 69. Prefer live reports when the process is running.

Live reports

URL Format
/ui/api/compatibility?major=N JSON

The Web UI also exposes a compatibility panel driven by this endpoint.

Registry vs verified surface coverage

Major vSphere label Implemented / universe Coverage
6 7.0 31 / 1077 2.9%
7 7.0 U3 77 / 1077 7.2%
8 8.0 103 / 1077 9.6%
9 8.0 U2 (Automation 9.1 surface) 1077 / 1077 100%
  • Universe — unique verb+path routes derived from the public vSphere Automation API operations index (1348 documented operations → ~1037 unique routes → 1077 registered in this simulator's route table, since some paths back multiple named operations).
  • Implemented (per major) — routes whose catalog floor (app/vsphere/contracts/matrix.py) is at or below that major. This is a catalog/documentation score, not a live-traffic gate.
  • Runtime — regardless of the applied catalog major, every registered route is always served by its real handler (104 deep handlers) or the DB-backed stub surface. See API surface.

After Apply as runtime (POST /ui/api/contract/apply?major=N), the live report loads that major's ledger (evidence/vsphere-{version}.json) so the Web UI compatibility panel reflects the selected major.

Evidence dimensions

Per-major ledgers in evidence/vsphere-{version}.json record declared, implemented, observed, and verified counts plus per-HTTP-verb and per-domain (auth_session, inventory, …) breakdowns. Regenerate with:

make evidence          # app/evidence_gen.py
make vsphere-bundles   # stub OpenAPI matrices + evidence ledgers together

Executable backing for those claims:

Suite Role
tests/compatibility/test_verified_surface.py hot-swap + ledger drift + score gates
tests/compatibility/test_group_smoke.py representative REST group mutations with PostgreSQL
tests/compatibility/test_vsphere_pyvmomi.py external pyvmomi SOAP smoke
tests/integration/test_vsphere_full_api.py broad REST/SOAP integration coverage

Additional cookbooks under examples/ and the pulumi-vsphere lab suite under pulumi-tests/ (make pulumi-tests) are manual or CI-optional depending on the stack.

Latest lab run (2026-07-18)

Suite Result
make test (offline) 161 passed
make test-vsphere (pytest + surface/matrix/dump/nonempty) 73 pytest passed; probes 0 failures (Terraform cookbook binary mismatch only)
make pulumi-tests (full hybrid) 7 / 7 passed; Layer A REST 1987 / 1987, critical=0

Details and report paths: pulumi-tests/README.md.

Known behavioural limits

Area Behaviour
External systems NSX Manager, live LDAP/SAML/OIDC IdPs, and ACME directories do not contact real remotes; seeded/local state only
TLS Local self-signed development gateway only (Compose); use your own certs / cert-manager for real deployments
Hypervisor No real ESXi/KVM execution; no binary NFC uploads
Observation corpus Sanitized real-vCenter observation data remains limited; deep semantic parity is verified path-by-path via the suites above, not by exhaustive production diffing

Historical release notes: compatibility-0.1.0.md.