131e2e63d2
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.
3.6 KiB
3.6 KiB
Гибридный lab-набор pulumi для vmware-api-simulator
Language / Язык: English | Русский
Гибрид под pulumi-tests/:
- Layer A (обязателен для «100%») — HTTP contract matrix: все
IMPLEMENTEDRESTverb+path× majors 6–9, плюс синтетический HEAD на каждый GET - Layer B (smoke / lifecycle) — официальный
pulumi-vsphere - Deep REST CRUD (session / folder / tag / content library / VM)
- SOAP-операции из
/sdk/vimService.wsdl(без нового SOAP universe)
Одним pulumi-vsphere закрыть ~1092 REST verb×path нельзя — 100% = HTTP-матрица
(coverage probed/declared, critical=0), а не число provider-ресурсов.
Последний lab-прогон (2026-07-18)
Полный гибрид (make pulumi-tests, seed-профиль small):
| Проверка | Результат |
|---|---|
| Кейсы | 7 / 7 passed (PU-INV, PU-FOLDER, PU-VM, PU-TAG, PU-REST, PU-CRUD, PU-SOAP) |
| Layer A REST matrix | 1987 / 1987 (critical=0) по majors 6–9 |
| Verb histogram | GET 682 · HEAD 682 · POST 301 · PUT 96 · PATCH 91 · DELETE 135 |
Артефакты (локальная копия с тома lab-reports; каталог в .gitignore):
pulumi-tests/reports/pulumi-report.html,
pulumi-tests/reports/pulumi-summary.json.
Связанные прогоны того же дня:
| Набор | Результат |
|---|---|
make test (offline unit + contract) |
161 passed |
make test-vsphere pytest + surface/matrix/dump/nonempty |
73 pytest passed; matrix/surface/nonempty 0 failures |
Client cookbooks (часть test-vsphere) |
Python / Ansible URI / Pulumi-style OK; Terraform cookbook упал (Exec format error на .tools/terraform — несовпадение host/arch, не регрессия API) |
Критерии pass (Layer A)
| Проверка | Правило |
|---|---|
| Declared | methods_for_major(M) минус session DELETE, плюс HEAD на каждый GET |
| Probed | Ровно один auth’d probe на каждый declared (probed == declared) |
| Critical | 0 — нет 5xx/501; нет "stub": true / пустого тела на inventory-critical GET (major 9) |
| Coverage | {probed - critical}/{declared} (aggregate + per major) |
| Verb histogram | Включая HEAD |
Что запускается
| Кейс | Слой | Заметки |
|---|---|---|
PU-INV … PU-TAG |
B · pulumi-vsphere | Lifecycle / inventory smoke |
PU-REST |
A · HTTP matrix | IMPLEMENTED × 6–9 + HEAD (smoke: major 9) |
PU-CRUD / PU-SOAP |
extras | Deep CRUD + существующий SOAP |
Быстрый старт
make pulumi-tests # полный гибрид
make pulumi-tests-smoke # PU-INV + Layer A major-9
После прогона HTML-отчёт:
mkdir -p pulumi-tests/reports
cd pulumi-tests && docker compose --profile test run --rm --no-deps \
-v "$(pwd)/reports:/out" pulumi-runner \
cp /reports/pulumi-report.html /reports/pulumi-summary.json /out/
open reports/pulumi-report.html
Шлюз (в compose): https://api-gateway. Хост-алиас: 127.0.0.1:28443
(не занимает https://localhost / :18443 основного lab — после тестов
make down).
Seed: small. Артефакты: rest.coverage_line, rest.critical, rest.by_verb.