Include the bad id in host/datacenter/cluster errors, expire stale auth in the console, and document Ingress annotations that preserve fault bodies.
3.4 KiB
Language / Язык: English | Русский
Устранение неполадок
/health/ready возвращает 503
- Дождитесь завершения
migrate:docker compose ps - Проверьте Postgres:
docker compose logs postgres - Пересоздайте:
make restart
Ошибки TLS / сертификата
Compose использует self-signed сертификат на порту Engine. В лаборатории —
curl -k или флаги insecure / verify=False клиентов. См.
Безопасность.
Порт уже занят
Смените host-порты публикации:
OVIRT_ENGINE_PORT=7443 OVIRT_UI_PORT=7080 make up
Пустой инвентарь / нет пользователей
Запустите seed:
make seed
# или
make seed-demo
Неверный major API / нет полей
Задайте Version: 4 (или 3) либо используйте /ovirt-engine/api/v4/....
Проверьте, что OVIRT_SERIES соответствует ожидаемому pack
(api-versions.md).
HTTP 401 / Web UI всё ещё показывает пользователя
Токен Engine SSO истёк или отозван (например после demo/unload / reseed).
В Web UI HTTP 401 очищает локальную сессию и показывает Guest в
шапке; войдите снова из Environment (admin@internal / secret).
Ingress отдаёт брендированный HTML 404 / nginx 405 вместо fault Engine
Симулятор отвечает на ошибки API fault XML/JSON (reason / detail).
Если видите HTML «page not found» или plain nginx 405, Ingress /
reverse proxy подменил тело ответа (часто через custom-http-errors у
ingress-nginx).
Исправление на Ingress для этого host (см.
helm/ovirt-api-simulator/values-ingress-example.yaml):
annotations:
nginx.ingress.kubernetes.io/proxy-intercept-errors: "false"
nginx.ingress.kubernetes.io/custom-http-errors: "502,503"
Проверьте с Accept: application/json. Отсутствующий host должен выглядеть так:
{"fault": {"reason": "NotFound", "detail": "No such host ('…')"}}
Корректная authenticated mutation (стиль Engine)
Bearer (или Basic) и JSON-тело (не form-urlencoded):
# после POST /ovirt-engine/sso/oauth/token → access_token
TOKEN=…
curl -sk -X POST "https://HOST/ovirt-engine/api/vms" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Version: 4" \
-d '{"vm":{"name":"lab-vm","cluster":{"name":"Default"}}}'
Падения клиентских suites
Убедитесь, что стек поднят и засеян, затем сначала smoke:
make up && make seed && make smoke
make test-smoke-all
Отключите HTTP-прокси для локальных клиентов (unset HTTP_PROXY HTTPS_PROXY …).
Всё ещё не ясно
Соберите:
docker compose ps
docker compose logs --tail=200 simulator api-gateway migrate
curl -sk -i https://127.0.0.1/health/ready