Files
ovirt-api-simulator/docs/operations.md
T

2.9 KiB

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

Operations

Day-2 Compose

make up            # build + start + wait
make restart       # force recreate
make logs          # follow all services
make down          # stop
make seed          # reload minimal
make seed-demo     # reload demo (~1000 VMs)
make smoke         # Basic auth + list VMs

Migrations

The migrate Compose service / Helm init container runs python -m app.db.migrate_cli before the simulator becomes ready. Do not point clients at Engine until /health/ready succeeds.

Schema history starts at 001_ovirt_core.sql. If you upgraded from an earlier pre-release lab DB, recreate the volume:

docker compose down -v
make up && make seed

Reseed

Reseed truncates laboratory tables. Prefer minimal in shared CI jobs; use demo when you need density.

make seed-demo
# or Web UI → Data → demo

Series change

Cold start — change OVIRT_SERIES and recreate the simulator container:

OVIRT_SERIES=4.4 make restart

Hot-swap (in-memory, no rebuild) — Web UI API catalogApply as runtime, or:

curl -s http://127.0.0.1:5000/ui/api/ovirt/contracts/activate \
  -H 'Content-Type: application/json' \
  -d '{"series":"4.4"}'

See API versions and Web UI.

Client lab cleanup

make clean-test-resources

Removes resources created by pulumi-tests/.

Publish to Docker Hub

make release builds the runtime image (production target — not the local bind-mounted dev image) and pushes it to Docker Hub:

docker login   # once; account must own or can push to DOCKERHUB_USER
make release

Defaults:

Variable Default Meaning
DOCKERHUB_USER inecs Docker Hub namespace/org
IMAGE_NAME ovirt-api-simulator Repository name
VERSION from pyproject.toml Image tag
PUSH_LATEST 1 Also tag/push :latest

Examples:

make release
make release VERSION=0.2.0
make release DOCKERHUB_USER=myorg PUSH_LATEST=0
make release-build   # build/tag locally without pushing

Published tags:

  • inecs/ovirt-api-simulator:<version>
  • inecs/ovirt-api-simulator:latest (unless PUSH_LATEST=0)

Quick start with the published compose file

docker-compose.release.yml pulls the Hub runtime image and starts PostgreSQL + migrate + simulator + Engine gateway:

docker compose -f docker-compose.release.yml up -d
docker compose -f docker-compose.release.yml run --rm --entrypoint python \
  simulator -m app.ovirt.seed_cli --profile minimal

curl -skf https://127.0.0.1/health/ready

Helpers from a git checkout:

make release-up
make release-seed PROFILE=minimal
# or: make release-seed PROFILE=demo
make release-down