Files
CloudRouterAdvanced/docs/changes/2026-09-07-router-only-deployment-plan.md
T

22 lines
2.5 KiB
Markdown
Raw Normal View History

# План внедрения: деплой только роутеров (без приватных серверов)
Дата: 2026-09-07
## Проблема
Прошлая попытка реального PROD-развёртывания (см. `docs/changes/2026-09-06-*`) выявила несколько багов (invalid key_name, IP-коллизии на /29, `image_id` drift), все они исправлены. Всё созданное было удалено (`terraform destroy`, 25 ресурсов, подтверждено пустым state) по явному запросу пользователя.
Пользователь скорректировал требования к развёртыванию: нужны **только 3 роутера**, без демо-сегмента `priv_srv_01/02/03` (и без разделяемой LAN-сети/security group, которые использовались только ими). Каждый роутер — 3 порта (1 внешний + 2 приватных), каждый приватный порт в своей `/28`-подсети — это уже соответствует текущей конфигурации после прошлых фиксов.
## Решение
1. `terraform/main.tf`: удалить `vkcs_compute_instance.priv_srv_01/02/03`, а также ставшие неиспользуемыми `vkcs_networking_network.lan_net`, `vkcs_networking_subnet.lan_subnet`, `vkcs_networking_secgroup.private_sg` и его 3 правила (`from_rfc_net10/172/192_in`) — ничего из этого больше ничем не используется.
2. `terraform/tests/test_terraform_delivery.py`: добавить `test_deployment_is_router_only` — regression guard, что единственный compute-instance ресурс — `router`, единственная security group — `router_sg`, нет `lan_net`.
3. `README.md`: обновить описание (только роутеры; авто-назначение IP через Neutron IPAM вместо ручного вычисления; актуальный размер подсетей `/28`).
4. Summary-документ по завершении.
## Верификация
- `terraform fmt -check -recursive`.
- `venv/bin/pytest terraform/tests -v`.
- Реальный `terraform plan` против пустого state (после `destroy`) — должен показать только ресурсы, относящиеся к 3 роутерам.