cbd0adca91
Stateful FastAPI lab with contract packs, Compose/Helm, Docker Hub release targets, and Pulumi coverage across all Engine series (GET/POST/PUT/DELETE/HEAD).
Language / Язык: English | Русский
oVirt Pulumi contract-coverage lab
Pulumi Automation API suite that exercises every operation declared in
contracts/ovirt/<series>/api.json across all Engine series packs, plus a
synthetic HEAD request for each GET path (contracts omit HEAD; the Engine
accepts it).
| Series | Ops (approx.) |
|---|---|
| 3.0–3.6, 4.3–4.5, master | ~9 150 total executions (contract ops + HEAD) |
make test-pulumi-smoke # 3.6 + 4.5 sample (fast)
make pulumi-tests # full matrix (alias: make test-pulumi)
Reports (written under reports/):
pulumi-contract-coverage.html— human-readable summary (includes methods histogram)pulumi-contract-coverage.json— machine-readable results
Optional filters:
OVIRT_SERIES_FILTER=4.5,3.6 make pulumi-tests
OVIRT_METHODS_FILTER=GET make pulumi-tests
SMOKE_ONLY=1 make test-pulumi-smoke
All suites run only in Docker. Pass criteria:
- The Engine route is reachable and returns a handled status (
200/201/202/204,400/403/404/405/409/415/422/501) — not401(the suite re-authenticates after each series unload) and not a transport/5xxfailure. - For
200/201/202the response body must be non-empty (HEAD exempt). - Full runs must exercise GET, POST, PUT, DELETE, and HEAD; any failures or missing methods fail the suite.