Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
**Language / Язык:** [English](../compatibility.md) | [Русский](compatibility.md)
|
||||
|
||||
# Совместимость
|
||||
|
||||
Этот документ объясняет, как симулятор заявляет совместимость с 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](https://developer.broadcom.com/xapis/vsphere-automation-api/latest/operation-index/)
|
||||
(1348 документированных операций → ~1037 уникальных маршрутов → 1077
|
||||
зарегистрированных в таблице маршрутов этого симулятора, поскольку
|
||||
некоторые пути обслуживают несколько именованных операций).
|
||||
- **Реализовано (по мажору)** — маршруты, чей уровень каталога
|
||||
(`app/vsphere/contracts/matrix.py`) равен этому мажору или ниже. Это
|
||||
оценка **каталога/документации**, а не ограничение живого трафика.
|
||||
- **Runtime** — независимо от применённого мажора каталога, каждый
|
||||
зарегистрированный маршрут всегда обслуживается своим реальным
|
||||
обработчиком (104 глубоких обработчика) или DB-backed поверхностью
|
||||
стабов. См. [Поверхность API](api-surface.md).
|
||||
|
||||
После **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`, …). Регенерируйте с
|
||||
помощью:
|
||||
|
||||
```bash
|
||||
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/`](../../examples/README.ru.md)
|
||||
и lab-набор `pulumi-vsphere` под
|
||||
[`pulumi-tests/`](../../pulumi-tests/README.ru.md) (`make pulumi-tests`)
|
||||
выполняются вручную или опционально в CI.
|
||||
|
||||
## Известные поведенческие ограничения
|
||||
|
||||
| Область | Поведение |
|
||||
|---|---|
|
||||
| Внешние системы | 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](compatibility-0.1.0.md).
|
||||
Reference in New Issue
Block a user