Add OpenStack request-body schemas and nested console PARAM sync.

This commit is contained in:
2026-07-18 08:47:16 +03:00
parent 6033967e6a
commit 2a8ce3a287
101 changed files with 150428 additions and 612 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ curl -X POST http://127.0.0.1:5000/ui/api/openstack/contracts/activate \
-d '{"series":"dalmatian"}'
```
Или Web UI → Environment → OpenStack API pack → Activate.
Или Web UI → API catalog → выбрать серию → **Apply as runtime**.
Hot-swap перемонтирует schema-маршруты (`remount_schema_services`) без пересборки
образа.
+1 -1
View File
@@ -19,7 +19,7 @@
| Yoga | 6 | 1060 |
Более старые серии опускают пути, добавленные позже (`tools/os_api_inventory/series_deltas.py`),
и используют более низкие потолки microversion. Примените пакет в Environment drawer для hot-swap.
и используют более низкие потолки microversion. Примените пакет в API catalog drawer для hot-swap.
Surface-complete означает, что каждая операция пакета смонтирована schema-движком
(специализированные роутеры по-прежнему выигрывают на пересекающихся stateful-путях).
+1 -4
View File
@@ -53,7 +53,4 @@
## Переопределения Web UI
Environment drawer → **OpenStack API pack**:
- Активация серии (hot remount)
- Переопределение microversion по сервисам
API catalog drawer: карточка серии → microversion в карточке → **Apply as runtime**.
+1 -1
View File
@@ -24,4 +24,4 @@ make seed-demo
## Microversion отклонён
Понизьте запрошенную compute microversion или сбросьте переопределения в Web UI.
Понизьте запрошенную compute microversion или примените более раннюю серию в API catalog.
+6 -2
View File
@@ -95,8 +95,12 @@ curl -sH "X-Auth-Token: $TOKEN" http://127.0.0.1:9696/v2.0/networks
## 6. Откройте Web UI
[http://localhost:5000/](http://localhost:5000/) — консоль, Environment drawer
(серия OpenStack pack + microversions), Data drawer (загрузка/выгрузка demo cloud).
[http://localhost:5000/](http://localhost:5000/) — консоль, API catalog
(серия OpenStack pack), Data drawer (загрузка/выгрузка demo cloud).
![Web-консоль](../images/web-ui/console-main.png)
Обзор drawers и параметров запроса: [Web UI](web-ui.md).
## 7. Smoke / conformance
+15
View File
@@ -69,6 +69,21 @@ PYTHONPATH=tools python3 tools/os_api_inventory/generate_packs.py
PYTHONPATH=tools python3 tools/os_api_inventory/coverage_report.py
```
## Схемы Request body (консоль)
Для `POST`/`PUT`/`PATCH` консоль показывает полные JSON Schema поля.
Схемы лежат в `contracts/openstack/request_bodies/<service>.json` и
подмешиваются к операциям пака при загрузке (общие для всех серий).
```bash
make request-bodies-generate # пересобрать из api-ref каталога
make request-bodies-import # наложить Tier-1 из openstack-openapi
make request-bodies-coverage # проверить, что у всех write-op есть схема
```
Tier-1: nova, neutron, keystone, glance, cinder, octavia, swift, placement.
Остальные сервисы — курируемый генератор каталога.
## Резервное копирование состояния лаборатории
PostgreSQL — источник истины. Используйте `pg_dump` / снимки volume.
+59 -4
View File
@@ -10,15 +10,70 @@
| `/docs` | OpenAPI (simulator) |
| `/ui/api/…` | UI JSON APIs |
![Главный экран консоли](../images/web-ui/console-main.png)
## Endpoints drawer
Обзор поверхности пака по сервисам (например Adjutant). У каждого path —
поддерживаемые HTTP-методы.
![Endpoints drawer](../images/web-ui/endpoints.png)
## Отправка запросов
Выберите verb + path и нажмите **Send**. Успешные ответы попадают в
**RESPONSE**.
![Запрос и ответ](../images/web-ui/request-response.png)
### Request parameters
Для `POST` / `PUT` / `PATCH` в **Request parameters** показаны поля схемы
(dotted-имена для вложенных OpenStack envelope), типы, optional и примеры.
JSON Request body собирается из этих полей.
![Request parameters](../images/web-ui/request-parameters.png)
## Authentication drawer
Вход через лабораторный Keystone (`admin` / `secret`, проекты вроде `admin`
или `demo`). Можно вставить готовый `X-Auth-Token`.
![Authentication drawer](../images/web-ui/authentication.png)
## Environment drawer
- **OpenStack API pack** — список серий, активация пакета, переопределения microversion
- Apply немедленно перемонтирует schema-маршруты
- Runtime / catalog / активная **microversion**, плюс живой инвентарь облака
(servers, nets, volumes…)
![Environment drawer](../images/web-ui/environment.png)
## API catalog drawer
- Выбор карточки серии (`os · yoga` …), microversion в карточке, затем
**Apply as runtime** (выбор сохраняется после перезагрузки)
![API catalog drawer](../images/web-ui/api-catalog.png)
## Data drawer
- **Load demo cloud** — `POST /ui/api/demo/load``seed_openstack_demo`
- **Unload / minimal** — сброс к minimal seed
- **Load demo cloud** — кластеры small / large / big
- **Reset to minimal** — минимальный lab seed
![Data drawer](../images/web-ui/data.png)
## History drawer
Недавние вызовы консоли: method, URL и status.
![History drawer](../images/web-ui/history.png)
## Help · Compatibility
Покрытие поверхности пака для активной серии (declared / implemented,
сервисы, смесь verb).
![Help compatibility](../images/web-ui/help-compatibility.png)
## Брендинг