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](README.md) | [Русский](../ru/domains/README.md)
|
||||
|
||||
# Domain guides
|
||||
|
||||
These pages summarize durable Engine semantics by area. For exhaustive method
|
||||
lists, use the Web UI catalog or `contracts/ovirt/<series>/api.json`.
|
||||
|
||||
| Guide | Collections / focus |
|
||||
|---|---|
|
||||
| [Datacenters & clusters](datacenters-clusters.md) | `datacenters`, `clusters` |
|
||||
| [Hosts](hosts.md) | `hosts` |
|
||||
| [Virtual machines](vms.md) | `vms`, disks attachments, NICs, snapshots |
|
||||
| [Storage](storage.md) | `storagedomains`, `disks`, connections |
|
||||
| [Networks](networks.md) | `networks`, `vnicprofiles` |
|
||||
| [Identity & access](identity.md) | `users`, `roles`, `permissions`, SSO |
|
||||
| [Jobs & events](jobs.md) | `jobs`, `events` |
|
||||
| [Schema collections](schema-collections.md) | Remaining pack-backed collections |
|
||||
|
||||
See also [API surface](../api-surface.md) and [API coverage](../api_coverage.md).
|
||||
@@ -0,0 +1,21 @@
|
||||
**Language / Язык:** [English](datacenters-clusters.md) | [Русский](../ru/domains/datacenters-clusters.md)
|
||||
|
||||
# Datacenters & clusters
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| Datacenters | `/ovirt-engine/api/datacenters` |
|
||||
| Clusters | `/ovirt-engine/api/clusters` |
|
||||
|
||||
Minimal seed creates one datacenter and one cluster. Demo seed expands hosts and
|
||||
VM density under the same topology.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
Related: [Hosts](hosts.md), [Virtual machines](vms.md).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](hosts.md) | [Русский](../ru/domains/hosts.md)
|
||||
|
||||
# Hosts
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| Hosts | `/ovirt-engine/api/hosts` |
|
||||
|
||||
Hosts belong to a cluster and participate in VM placement for lab scenarios.
|
||||
|
||||
```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 creates multiple hosts to support ~1000 VMs. Related:
|
||||
[Datacenters & clusters](datacenters-clusters.md).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](identity.md) | [Русский](../ru/domains/identity.md)
|
||||
|
||||
# Identity & access
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| 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 creates domain `internal` and principals `admin@internal`, `ops@internal`,
|
||||
`developer@internal`, `demo@internal` (password `secret`).
|
||||
|
||||
Authentication flows: [Authentication](../authentication.md).
|
||||
@@ -0,0 +1,20 @@
|
||||
**Language / Язык:** [English](jobs.md) | [Русский](../ru/domains/jobs.md)
|
||||
|
||||
# Jobs & events
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| Jobs | `/ovirt-engine/api/jobs` |
|
||||
| Events | `/ovirt-engine/api/events` |
|
||||
|
||||
Long-running Engine operations create job records with steps. Seed inserts a
|
||||
finished sample job. Events capture inventory lifecycle signals for lab
|
||||
inspection.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/jobs
|
||||
```
|
||||
|
||||
Task timing can be accelerated with `SIMULATION_TIME_SCALE`
|
||||
([configuration.md](../configuration.md)).
|
||||
@@ -0,0 +1,17 @@
|
||||
**Language / Язык:** [English](networks.md) | [Русский](../ru/domains/networks.md)
|
||||
|
||||
# Networks
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| Networks | `/ovirt-engine/api/networks` |
|
||||
| VNIC profiles | `/ovirt-engine/api/vnicprofiles` |
|
||||
|
||||
VMs attach NICs that reference vNIC profiles and logical networks.
|
||||
|
||||
```bash
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/networks
|
||||
```
|
||||
|
||||
Related: [Virtual machines](vms.md).
|
||||
@@ -0,0 +1,15 @@
|
||||
**Language / Язык:** [English](schema-collections.md) | [Русский](../ru/domains/schema-collections.md)
|
||||
|
||||
# Schema collections
|
||||
|
||||
Operations declared in the active series pack that do not have a specialized
|
||||
semantic handler are served by the **schema engine**. Responses follow the
|
||||
contract shape and persist into `ov_api_objects` where applicable.
|
||||
|
||||
Browse the full catalog in the Web UI or open
|
||||
`contracts/ovirt/<series>/api.json`. Coverage numbers:
|
||||
[api_coverage.md](../api_coverage.md).
|
||||
|
||||
Examples of pack-backed entry points (availability depends on series):
|
||||
`bookmarks`, `tags`, `quotas`, `affinitygroups`, and other Engine collections
|
||||
linked from the API root.
|
||||
@@ -0,0 +1,20 @@
|
||||
**Language / Язык:** [English](storage.md) | [Русский](../ru/domains/storage.md)
|
||||
|
||||
# Storage
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| Storage domains | `/ovirt-engine/api/storagedomains` |
|
||||
| Storage connections | `/ovirt-engine/api/storageconnections` |
|
||||
| Disks | `/ovirt-engine/api/disks` |
|
||||
|
||||
Seed attaches storage domains to the datacenter and creates sample disks for
|
||||
VMs. Disk attach/expand/delete paths are covered by client P0 smokes.
|
||||
|
||||
```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](vms.md) | [Русский](../ru/domains/vms.md)
|
||||
|
||||
# Virtual machines
|
||||
|
||||
| Collection | Path |
|
||||
|---|---|
|
||||
| VMs | `/ovirt-engine/api/vms` |
|
||||
| Templates | `/ovirt-engine/api/templates` |
|
||||
|
||||
Nested resources (disk attachments, NICs, snapshots) are available under each VM
|
||||
id where the pack declares them.
|
||||
|
||||
```bash
|
||||
# List
|
||||
curl -k -u 'admin@internal:secret' -H 'Accept: application/json' -H 'Version: 4' \
|
||||
https://127.0.0.1/ovirt-engine/api/vms
|
||||
|
||||
# Create (JSON sketch)
|
||||
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
|
||||
```
|
||||
|
||||
Long-running actions surface as Engine [jobs](jobs.md). Client suites exercise
|
||||
create/get/modify/delete VM plus disk and NIC flows — see
|
||||
[`pulumi-tests/`](../../pulumi-tests/README.md).
|
||||
Reference in New Issue
Block a user