Files
vmware-api-simulator/docs/ru/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

5.8 KiB
Raw Blame History

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

Совместимость

Этот документ объясняет, как симулятор заявляет совместимость с vSphere Automation API по мажорам каталога 69. Когда процесс запущен, предпочитайте живые отчёты.

Живые отчёты

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.