- Updated version number in pyproject.toml and __init__.py to 0.2.0. - Revised README.md to reflect the current state of the project, including usage instructions and setup steps. - Improved CLI documentation in cli.md, adding details about new commands and their functionalities. - Enhanced the quick start section in README.md for better clarity on initial setup. - Updated local folder documentation to clarify file handling and commands. - Added a new command for listing GPU flavors and improved error handling in the CLI. - Implemented a watchdog feature in the tunnel to manage server states effectively.
90 lines
2.6 KiB
Markdown
90 lines
2.6 KiB
Markdown
# Spike notes (заполнять руками)
|
|
|
|
Без секретов, без личных имён файлов моделей. Цель — один раз пройти панель + CLI на живом GPU и зафиксировать факты для v1.
|
|
|
|
## 0.0 Квота
|
|
|
|
| Шаг | Дата | Результат |
|
|
| --- | --- | --- |
|
|
| Квота GPU в панели (лимит) | | 0 / N |
|
|
| Тикет в поддержку (номер) | | |
|
|
| Лимит поднят | | |
|
|
| Сервисный пользователь `member` на проект | | |
|
|
|
|
Текст тикета: [setup.md §2.3](setup.md).
|
|
|
|
## Preflight CLI
|
|
|
|
```text
|
|
.\gpu-rent.ps1 doctor
|
|
.\gpu-rent.ps1 flavors
|
|
.\gpu-rent.ps1 dry-run
|
|
```
|
|
|
|
| Проверка | OK? | Заметка |
|
|
| --- | --- | --- |
|
|
| Keystone token | | |
|
|
| GPU quota > 0 | | |
|
|
| Flavor из FLAVOR_PREFERENCE | | id / имя |
|
|
| Image Driver 580 (без Docker) | | имя образа |
|
|
| Volume type в AZ | | |
|
|
| Civitai `.red` + token | | |
|
|
|
|
## Первый `up`
|
|
|
|
```text
|
|
.\gpu-rent.ps1 up --yes
|
|
```
|
|
|
|
| Метрика | Значение |
|
|
| --- | --- |
|
|
| Flavor фактически | |
|
|
| Spot / preemptible | |
|
|
| ACTIVE через (мин) | |
|
|
| SSH через (мин) | |
|
|
| Backend Idle через (мин) | |
|
|
| Seed Civitai (мин / GB) | |
|
|
| Boot snapshot создался | да / нет / ошибка |
|
|
| ₽/час GPU (панель) | |
|
|
| ₽/мес data disk | |
|
|
|
|
## Туннель и API
|
|
|
|
```text
|
|
.\gpu-rent.ps1 tunnel --open
|
|
```
|
|
|
|
| Шаг | OK? |
|
|
| --- | --- |
|
|
| UI http://127.0.0.1:17801 | |
|
|
| `/API/GetNewSession` | |
|
|
| MCP `/mcp` (если нужно) | |
|
|
| `nvidia-smi` по `gpu-rent ssh` | |
|
|
|
|
## Idle-killer / hold
|
|
|
|
| Шаг | OK? | Заметка |
|
|
| --- | --- | --- |
|
|
| `systemctl status gpu-rent-idle-killer.timer` | | |
|
|
| `gpu-rent hold` пишет hold-until | | |
|
|
| Качалка модели в UI → нужен hold? | | нет сигнала API — только hold |
|
|
|
|
## Preempt / диски
|
|
|
|
| Шаг | OK? |
|
|
| --- | --- |
|
|
| EXPIRED → tunnel unshelve или `up` | |
|
|
| `stop` — диски живы | |
|
|
| Второй `up` — те же модели на data | |
|
|
| Boot из snapshot `gpu-rent-boot-ok` | |
|
|
|
|
## Выводы для кода
|
|
|
|
- Имя GPU-образа в пуле:
|
|
- Реальные flavor id (не в git):
|
|
- Хватает ли `IDLE_GRACE_MINUTES=45`:
|
|
- Application credential: ок / нужны другие права:
|
|
- Прочее:
|
|
|
|
Когда spike закрыт — отметь пункты в [roadmap.md](roadmap.md) §0 / §0.0.
|