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)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
**Language / Язык:** [English](../troubleshooting.md) | [Русский](troubleshooting.md)
|
||||
|
||||
# Устранение неполадок
|
||||
|
||||
## Ready остаётся недоступным
|
||||
|
||||
1. Проверьте Postgres: `make logs` / health в Compose.
|
||||
2. Выполните `make db-migrate`.
|
||||
3. Снова вызовите `/health/ready`.
|
||||
|
||||
Workers могут повторять попытки, пока миграции не догонят после позднего migrate.
|
||||
|
||||
## Неожиданный HTTP 501
|
||||
|
||||
У объявленных методов на мажорах **6–9** должны быть обработчики. Если видите 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), чтобы
|
||||
восстановить более богатые фикстуры.
|
||||
Reference in New Issue
Block a user