cbd0adca91
Stateful FastAPI lab with contract packs, Compose/Helm, Docker Hub release targets, and Pulumi coverage across all Engine series (GET/POST/PUT/DELETE/HEAD).
2.2 KiB
2.2 KiB
Language / Язык: English | Русский
Версии API (series packs)
Симулятор поставляет Engine series packs в contracts/ovirt/:
| Series | Major API | Env при cold start |
|---|---|---|
3.0 … 3.6 |
v3 | OVIRT_SERIES=3.6 |
4.3 |
v4 | OVIRT_SERIES=4.3 |
4.4 |
v4 | OVIRT_SERIES=4.4 |
4.5 |
v4 | OVIRT_SERIES=4.5 (по умолчанию) |
master |
v4 | OVIRT_SERIES=master |
Числа операций и дельты: Покрытие API.
Выбор major API (v3 / v4)
Клиенты выбирают major Engine API двумя способами:
- Префикс пути:
/ovirt-engine/api/v3/...или/ovirt-engine/api/v4/... - Заголовок
Version:Version: 3илиVersion: 4на/ovirt-engine/api/...
Если ничего не задано, default следует активному series (3 для 3.x, 4 для
4.x / master).
curl -k -u 'admin@internal:secret' \
-H 'Accept: application/json' -H 'Version: 4' \
https://127.0.0.1/ovirt-engine/api/vms
curl -k -u 'admin@internal:secret' \
-H 'Accept: application/xml' \
https://127.0.0.1/ovirt-engine/api/v3/vms
Cold start
OVIRT_SERIES=4.4 docker compose up -d --build --wait
Helm:
--set config.ovirtSeries=3.6
Hot-swap (in-memory)
Без пересоздания контейнеров активируйте другой pack из ящика Environment в Web UI или:
curl -s http://127.0.0.1:5000/ui/api/ovirt/contracts/activate \
-H 'Content-Type: application/json' \
-d '{"series":"4.4"}'
Рестарт процесса возвращает cold-start OVIRT_SERIES. Подробности:
Web UI.
Представления
Ответы Engine поддерживают JSON и XML через Accept /
Content-Type (application/json, application/xml).
Структура pack
contracts/ovirt/<series>/
api.json
manifest.json
deltas.json
Перегенерация:
make generate-packs
Индекс: contracts/ovirt/index.json.