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).
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
**Language / Язык:** [English](../../domains/README.md) | [Русский](README.md)
|
||||
|
||||
# Руководства по доменам
|
||||
|
||||
Эти страницы кратко описывают устойчивую семантику Engine по областям. Полные
|
||||
списки методов — в каталоге Web UI или `contracts/ovirt/<series>/api.json`.
|
||||
|
||||
| Руководство | Коллекции / фокус |
|
||||
|---|---|
|
||||
| [Datacenters и clusters](datacenters-clusters.md) | `datacenters`, `clusters` |
|
||||
| [Hosts](hosts.md) | `hosts` |
|
||||
| [Виртуальные машины](vms.md) | `vms`, attachments дисков, NIC, snapshots |
|
||||
| [Storage](storage.md) | `storagedomains`, `disks`, connections |
|
||||
| [Сети](networks.md) | `networks`, `vnicprofiles` |
|
||||
| [Identity и доступ](identity.md) | `users`, `roles`, `permissions`, SSO |
|
||||
| [Jobs и events](jobs.md) | `jobs`, `events` |
|
||||
| [Schema-коллекции](schema-collections.md) | Остальные коллекции из pack |
|
||||
|
||||
Также: [Поверхность API](../api-surface.md) и [Покрытие API](../api_coverage.md).
|
||||
@@ -0,0 +1,21 @@
|
||||
**Language / Язык:** [English](../../domains/datacenters-clusters.md) | [Русский](datacenters-clusters.md)
|
||||
|
||||
# Datacenters и clusters
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Datacenters | `/ovirt-engine/api/datacenters` |
|
||||
| Clusters | `/ovirt-engine/api/clusters` |
|
||||
|
||||
Minimal seed создаёт один datacenter и один cluster. Demo seed увеличивает число
|
||||
хостов и плотность ВМ в той же топологии.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/datacenters
|
||||
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/clusters
|
||||
```
|
||||
|
||||
Связанное: [Hosts](hosts.md), [Виртуальные машины](vms.md).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](../../domains/hosts.md) | [Русский](hosts.md)
|
||||
|
||||
# Hosts
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Hosts | `/ovirt-engine/api/hosts` |
|
||||
|
||||
Хосты принадлежат cluster и участвуют в размещении ВМ в лабораторных сценариях.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/hosts
|
||||
```
|
||||
|
||||
Demo seed создаёт несколько хостов для ~1000 ВМ. Связанное:
|
||||
[Datacenters и clusters](datacenters-clusters.md).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](../../domains/identity.md) | [Русский](identity.md)
|
||||
|
||||
# Identity и доступ
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Domains | `/ovirt-engine/api/domains` |
|
||||
| Users | `/ovirt-engine/api/users` |
|
||||
| Groups | `/ovirt-engine/api/groups` |
|
||||
| Roles | `/ovirt-engine/api/roles` |
|
||||
| Permissions | `/ovirt-engine/api/permissions` |
|
||||
| SSO | `/ovirt-engine/sso/oauth/*` |
|
||||
|
||||
Seed создаёт домен `internal` и principals `admin@internal`, `ops@internal`,
|
||||
`developer@internal`, `demo@internal` (пароль `secret`).
|
||||
|
||||
Потоки аутентификации: [Аутентификация](../authentication.md).
|
||||
@@ -0,0 +1,20 @@
|
||||
**Language / Язык:** [English](../../domains/jobs.md) | [Русский](jobs.md)
|
||||
|
||||
# Jobs и events
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Jobs | `/ovirt-engine/api/jobs` |
|
||||
| Events | `/ovirt-engine/api/events` |
|
||||
|
||||
Длительные операции Engine создают записи jobs со steps. Seed вставляет
|
||||
завершённый sample job. Events фиксируют сигналы жизненного цикла инвентаря для
|
||||
лабораторного просмотра.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/jobs
|
||||
```
|
||||
|
||||
Длительность задач можно ускорить через `SIMULATION_TIME_SCALE`
|
||||
([configuration.md](../configuration.md)).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](../../domains/networks.md) | [Русский](networks.md)
|
||||
|
||||
# Сети
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Networks | `/ovirt-engine/api/networks` |
|
||||
| VNIC profiles | `/ovirt-engine/api/vnicprofiles` |
|
||||
|
||||
ВМ подключают NIC, ссылающиеся на vNIC profiles и логические сети.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/networks
|
||||
```
|
||||
|
||||
Связанное: [Виртуальные машины](vms.md).
|
||||
@@ -0,0 +1,13 @@
|
||||
**Language / Язык:** [English](../../domains/schema-collections.md) | [Русский](schema-collections.md)
|
||||
|
||||
# Schema-коллекции
|
||||
|
||||
Операции активного series pack без специализированного semantic handler
|
||||
обслуживает **schema engine**. Ответы следуют форме контракта и при необходимости
|
||||
сохраняются в `ov_api_objects`.
|
||||
|
||||
Полный каталог — в Web UI или в `contracts/ovirt/<series>/api.json`. Числа
|
||||
покрытия: [api_coverage.md](../api_coverage.md).
|
||||
|
||||
Примеры коллекций из pack (доступность зависит от series): `bookmarks`, `tags`,
|
||||
`quotas`, `affinitygroups` и другие коллекции Engine, связанные с корнем API.
|
||||
@@ -0,0 +1,20 @@
|
||||
**Language / Язык:** [English](../../domains/storage.md) | [Русский](storage.md)
|
||||
|
||||
# Storage
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| Storage domains | `/ovirt-engine/api/storagedomains` |
|
||||
| Storage connections | `/ovirt-engine/api/storageconnections` |
|
||||
| Disks | `/ovirt-engine/api/disks` |
|
||||
|
||||
Seed подключает storage domains к datacenter и создаёт sample-диски для ВМ.
|
||||
Пути attach/expand/delete дисков покрыты клиентскими P0 smoke.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/storagedomains
|
||||
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/disks
|
||||
```
|
||||
@@ -0,0 +1,26 @@
|
||||
**Language / Язык:** [English](../../domains/vms.md) | [Русский](vms.md)
|
||||
|
||||
# Виртуальные машины
|
||||
|
||||
| Коллекция | Путь |
|
||||
|---|---|
|
||||
| VMs | `/ovirt-engine/api/vms` |
|
||||
| Templates | `/ovirt-engine/api/templates` |
|
||||
|
||||
Вложенные ресурсы (disk attachments, NIC, snapshots) доступны под id ВМ, если
|
||||
они объявлены в pack.
|
||||
|
||||
```bash
|
||||
# Список
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/vms
|
||||
|
||||
# Создание (эскиз JSON)
|
||||
curl -k -u 'admin@internal:secret' -H 'Content-Type: application/json' -H 'Version: 4' \
|
||||
-d '{"name":"lab-vm-1","cluster":{"name":"Default"}}' \
|
||||
https://127.0.0.1/ovirt-engine/api/vms
|
||||
```
|
||||
|
||||
Длительные действия отражаются как Engine [jobs](jobs.md). Клиентские suites
|
||||
проверяют create/get/modify/delete ВМ, а также диски и NIC — см.
|
||||
[`pulumi-tests/`](../../../pulumi-tests/README.ru.md).
|
||||
Reference in New Issue
Block a user