Fix Nova/Cinder stateful CRUD so the full surface and Pulumi matrix pass clean.
Persist aggregates and server security groups in domain tables, add Cinder quota show from DB-backed defaults, align unit tests with OpenStack series, auto-pick Keystone :5000/:15000 for smoke, and document test locations plus 6514/6514 results.
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@
|
||||
| [Seed-профили](seed-profiles.md) | `minimal` / `demo` |
|
||||
| [Клиенты](clients.md) | SDK / CLI |
|
||||
| [Web UI](web-ui.md) | Консоль и drawers |
|
||||
| [Эксплуатация](operations.md) | Day-2, релиз, reseed |
|
||||
| [Эксплуатация](operations.md) | Day-2, релиз, reseed, **тесты** |
|
||||
| [Архитектура](architecture.md) | Компоненты и путь запроса |
|
||||
| [Безопасность](security.md) | Threat model лаборатории |
|
||||
| [Наблюдаемость](observability.md) | Health и логи |
|
||||
|
||||
@@ -31,3 +31,18 @@ open reports/pulumi-report.html
|
||||
5. Destroy; HTML + JUnit
|
||||
|
||||
См. [`pulumi-tests/README.ru.md`](../../pulumi-tests/README.ru.md).
|
||||
Карта pytest / smoke: [operations.md — Тестирование](operations.md#тестирование).
|
||||
|
||||
## Последние результаты (2026-07-18)
|
||||
|
||||
Полный сьют (`make pulumi-tests`, `collections_only=false`):
|
||||
|
||||
| Серия | HTTP ok / total | Pulumi |
|
||||
|---|---:|---|
|
||||
| yoga | 1464 / 1464 | ok |
|
||||
| antelope | 1530 / 1530 | ok |
|
||||
| caracal | 1649 / 1649 | ok |
|
||||
| dalmatian | 1871 / 1871 | ok |
|
||||
| **Все** | **6514 / 6514** (`http_critical=0`) | **4 / 4** |
|
||||
|
||||
Артефакты: `pulumi-tests/reports/pulumi-report.html`, `summary.json`.
|
||||
|
||||
+30
-6
@@ -112,17 +112,41 @@ make release-build # local tags only
|
||||
См. [kubernetes.md](kubernetes.md) для логов, reseed через `kubectl exec` и
|
||||
удаления.
|
||||
|
||||
## CI лаборатории покрытия API (pulumi-tests)
|
||||
## Тестирование
|
||||
|
||||
Pulumi прогоняет каждую pack-операцию по сериям — см.
|
||||
[hypervisor-lab.md](hypervisor-lab.md).
|
||||
| Где | Что |
|
||||
|---|---|
|
||||
| `tests/unit/` | Офлайн unit (ASGI / FakeDatabase) |
|
||||
| `tests/openstack/` | Pack-контракты, registry, live surface / lifecycle |
|
||||
| `tests/integration/` | Интеграция с PostgreSQL |
|
||||
| `tests/compatibility/` | Surface probe и group smoke |
|
||||
| `examples/python/openstack_smoke.py` | Host multi-port smoke (`make smoke` / `make test-compatibility`) |
|
||||
| `examples/python/openstack_surface_probe.py` | Lifecycle-probe каждой pack-операции × серии |
|
||||
| [`pulumi-tests/`](../../pulumi-tests/README.ru.md) | Pulumi Layer B + полная HTTP-матрица (yoga→dalmatian) |
|
||||
|
||||
```bash
|
||||
make test-pulumi-smoke # from repo root
|
||||
make test-pulumi
|
||||
make test # офлайн unit + contract (без Postgres)
|
||||
make test-integration # -m integration (Postgres)
|
||||
make test-surface # surface probe + tests/openstack против Compose
|
||||
make test-compatibility # seed minimal + openstack_smoke.py
|
||||
make pulumi-tests # полный сьют pulumi-tests (alias: make test-pulumi)
|
||||
make test-pulumi-smoke # быстрый режим: collection GET + HEAD
|
||||
```
|
||||
|
||||
Отчёты: `pulumi-tests/reports/pulumi-report.html` и `pulumi-junit.xml`.
|
||||
Подробнее о Pulumi-лаборатории: [hypervisor-lab.md](hypervisor-lab.md).
|
||||
Отчёты: `pulumi-tests/reports/pulumi-report.html`, `pulumi-junit.xml`, `summary.json`.
|
||||
|
||||
### Последние результаты лаборатории (2026-07-18)
|
||||
|
||||
| Сьют | Результат |
|
||||
|---|---|
|
||||
| `make test` | 243 passed (34 deselected) |
|
||||
| `make test-integration` | 33 passed |
|
||||
| Surface probe (yoga→dalmatian) | 1464 / 1530 / 1649 / 1871 ops — **0 fail** |
|
||||
| `make pulumi-tests` (полная matrix) | HTTP **6514 / 6514**, `http_critical=0`, pulumi **4 / 4** серии |
|
||||
| Compatibility smoke | OK (авто Keystone `:5000` или локальный `:15000`) |
|
||||
|
||||
Пересобрать HTML-отчёт: `make -C pulumi-tests report` после прогона.
|
||||
|
||||
## Обновления
|
||||
|
||||
|
||||
Reference in New Issue
Block a user