Files
proxmox-api-simulator/docs/ru/troubleshooting.md
T
Sergey Antropoff 48df10b17e Prepare 0.1.0 for lab release: durable handlers, HTTP Compose, CI, and pulumi-tests.
- Harden DB-backed handlers and seed profiles; align client wire shapes for
  cluster resources, QEMU config, and node SSL fields
- Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and
  terminate HTTPS at Kubernetes Ingress
- Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and
  make pulumi-tests
- Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions
  (make ci + Compose/Helm validation)
2026-07-18 04:18:05 +03:00

67 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Language / Язык:** [English](../troubleshooting.md) | [Русский](troubleshooting.md)
# Устранение неполадок
## Ready остаётся недоступным
1. Проверьте Postgres: `make logs` / health в Compose.
2. Выполните `make db-migrate`.
3. Снова вызовите `/health/ready`.
Workers могут повторять попытки, пока миграции не догонят после позднего migrate.
## Неожиданный HTTP 501
У объявленных методов на мажорах **69** должны быть обработчики. Если видите 501:
- Подтвердите активный runtime (`/api2/json/version` и метка runtime в Web UI).
- Убедитесь, что вызываете path/verb точно как объявлено для этого мажора.
- Проверьте, что `CONTRACT_FALLBACK` в режиме fixture не маскирует другую проблему.
- Сообщите о регрессии — ожидается полное покрытие реестра.
## 401 / 403
- Тикет истёк или cookie не отправлена.
- Мутация без `CSRFPreventionToken` в сессии по тикету.
- API-токен с неверным форматом (`PVEAPIToken=user@realm!id=secret`).
- Отказ ACL (сравните `auditor@pve` и `root@pam`).
## Задача никогда не завершается
- Изучите `/nodes/{node}/tasks/{upid}/status` и `/log`.
- Проверьте логи workers (`make logs`).
- Убедитесь, что `TASK_WORKER_CONCURRENCY` > 0 и аренды в базе можно забрать.
- Очень высокий `SIMULATION_TIME_SCALE` даёт необычные замедления (больше = быстрее
симуляция); чаще виноваты неверно заданные worker leases.
## proxmoxer / сбои TLS
- Реальный PVE использует **HTTPS `:8006`**. К этой лаборатории TLS-клиенты
ходят на порт хоста **8006** (development-шлюз) с отключённой проверкой
локального self-signed cert.
- Хост **`:8007` этим стеком не используется** (на железе обычно PBS).
- `verify_ssl=False` **только** для локального self-signed cert.
- Внутри Compose цель — `tls-gateway:8443`.
- Seeded-имя узла для `small``pve01`, а не `pve1`.
- Профили `medium` / `ha-demo` используют **`pve1` / `pve2` / `pve3`**.
- Карта портов: [Порты и TLS](configuration.md#порты-и-tls).
## Drift Terraform / Pulumi после reseed
Reseed заменяет гостей в PostgreSQL; state-файлы инструментов — нет. Refresh, import
или пересборка стеков после `make seed`.
## Hot-swap «ничего не сделал»
- Просмотр каталога ≠ apply. Используйте **Apply as runtime** или
`POST /ui/api/contract/apply?major=N`.
- Подтвердите через `/api2/json/version`.
- Помните: apply локален для процесса; перезапуск Compose восстанавливает
`CONTRACT_SNAPSHOT`.
## Demo unload удивил
`POST /ui/api/demo/unload` очищает состояние, созданное через API, и загружает
`minimal`. Повторите `make seed PROFILE=small` (или снова загрузите demo), чтобы
восстановить более богатые фикстуры.