Files
inecs cbd0adca91 Initial release of the oVirt/RHV Engine API simulator.
Stateful FastAPI lab with contract packs, Compose/Helm, Docker Hub release
targets, and Pulumi coverage across all Engine series (GET/POST/PUT/DELETE/HEAD).
2026-07-18 04:49:28 +03:00

2.2 KiB

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

Версии API (series packs)

Симулятор поставляет Engine series packs в contracts/ovirt/:

Series Major API Env при cold start
3.03.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 двумя способами:

  1. Префикс пути: /ovirt-engine/api/v3/... или /ovirt-engine/api/v4/...
  2. Заголовок 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.