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.
5.8 KiB
Language / Язык: English | Русский
Совместимость
Этот документ объясняет, как симулятор заявляет совместимость с vSphere Automation API по мажорам каталога 6–9. Когда процесс запущен, предпочитайте живые отчёты.
Живые отчёты
| URL | Формат |
|---|---|
/ui/api/compatibility?major=N |
JSON |
Web UI также предоставляет панель совместимости, управляемую этим endpoint'ом.
Покрытие реестра в сравнении с проверенной поверхностью
| Мажор | Метка vSphere | Реализовано / universe | Покрытие |
|---|---|---|---|
| 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) | 1077 / 1077 | 100% |
- Universe — уникальные маршруты verb+path, полученные из публичного индекса операций vSphere Automation API (1348 документированных операций → ~1037 уникальных маршрутов → 1077 зарегистрированных в таблице маршрутов этого симулятора, поскольку некоторые пути обслуживают несколько именованных операций).
- Реализовано (по мажору) — маршруты, чей уровень каталога
(
app/vsphere/contracts/matrix.py) равен этому мажору или ниже. Это оценка каталога/документации, а не ограничение живого трафика. - Runtime — независимо от применённого мажора каталога, каждый зарегистрированный маршрут всегда обслуживается своим реальным обработчиком (104 глубоких обработчика) или DB-backed поверхностью стабов. См. Поверхность API.
После Apply as runtime (POST /ui/api/contract/apply?major=N) живой
отчёт загружает журнал этого мажора (evidence/vsphere-{version}.json), так
что панель совместимости Web UI отражает выбранный мажор.
Измерения evidence
Журналы по мажорам в evidence/vsphere-{version}.json записывают счётчики
declared, implemented, observed и verified, а также разбивки по
HTTP-методам и доменам (auth_session, inventory, …). Регенерируйте с
помощью:
make evidence # app/evidence_gen.py
make vsphere-bundles # стаб-бандлы OpenAPI + журналы evidence вместе
Исполняемое подтверждение этих заявлений:
| Набор тестов | Роль |
|---|---|
tests/compatibility/test_verified_surface.py |
hot-swap + дрейф журнала + пороги оценки |
tests/compatibility/test_group_smoke.py |
представительные мутации групп REST с PostgreSQL |
tests/compatibility/test_vsphere_pyvmomi.py |
внешний smoke-тест SOAP через pyvmomi |
tests/integration/test_vsphere_full_api.py |
широкое интеграционное покрытие REST/SOAP |
Дополнительные cookbook'и под examples/
и lab-набор pulumi-vsphere под
pulumi-tests/ (make pulumi-tests)
выполняются вручную или опционально в CI.
Последний lab-прогон (2026-07-18)
| Набор | Результат |
|---|---|
make test (offline) |
161 passed |
make test-vsphere (pytest + surface/matrix/dump/nonempty) |
73 pytest passed; probes 0 failures (только mismatch бинаря Terraform cookbook) |
make pulumi-tests (полный гибрид) |
7 / 7 passed; Layer A REST 1987 / 1987, critical=0 |
Подробности и пути к отчёту:
pulumi-tests/README.ru.md.
Известные поведенческие ограничения
| Область | Поведение |
|---|---|
| Внешние системы | NSX Manager, живые LDAP/SAML/OIDC IdP и ACME-директории не обращаются к реальным удалённым сервисам; только seeded/локальное состояние |
| TLS | Только локальный self-signed development-gateway (Compose); используйте свои сертификаты / cert-manager для реальных развёртываний |
| Гипервизор | Нет реального выполнения ESXi/KVM; нет бинарных загрузок NFC |
| Корпус наблюдений | Санированные данные наблюдений реального vCenter остаются ограниченными; глубокий семантический паритет проверяется путь-за-путём указанными выше наборами тестов, а не исчерпывающим сравнением с production |
Исторические заметки о релизах: compatibility-0.1.0.md.