Первый apply в test: vdc/edge/org_ip/snat создались; упали: - Штурвал: 'свободных Ip в тенанте WZ03709-iaas: 1, необходимо 2' — на NaeelOrg было count=10, часть адресов держит кластер iot-naeel. Поднято до 12. - vApp: 'не удалось валидировать схему инстанса' -> not created (вероятно плавающая, при повторе — reconcile). После destroy (владелец): fullpipe-vdc = suspended (suspend_on_destroy), fullpipe-edge = running (keep_on_destroy), локальный state пуст. Порядок: apply -target=nubes_vc_org_ip_allocation.org_ip -> полный apply. HISTORY/2026-10-01_test_stand_fpipegmail.md дополнен разделом с ошибками и решением.
7.1 KiB
2026-10-01 — Стенд TEST_STAND/FPipeGmail: копия dev-примера, адаптированная под test
Команда владельца: «
DEV_STAND/FPipeGmail— это в дев. Надо — сделать такую же папку вTEST_STANDи соответственно изменить параметры в tf-конфигах, и посмотри чтобы не было коллизий — там в стенде есть и эдж и вдц. Найди имя огра».
Что сделано
Создана TEST_STAND/FPipeGmail/ — копия DEV_STAND/FPipeGmail без .terraform/,
terraform.tfstate*, .terraform.lock.hcl (это состояние dev, к test оно не относится).
Состав: vdc.tf, edge.tf, modifiers.tf, vm.tf, shturval.tf, variables.tf,
outputs.tf, provider.tf, versions.tf, terraform.tfvars (+ .example).
Найденные данные test-стенда (из API, не из догадок)
| Что | Значение | Откуда |
|---|---|---|
| Организация (vcOrg) | NaeelOrg, uuid 3f0850f2-3506-4efd-b84b-7270b5027ab5, running, iaas |
GET /instances?serviceId=19 |
| ipSpace на организации | internet-ipv4-v1, уже выделено 10 IP |
GET /instances/3f0850f2-… → vIPConfigure |
| networkProvider | snb1 |
GET /instances/e3c9e4f1-… (существующий vDC naeel-vdc) |
| providerVdc | Intel Broadwell 2.4 |
там же |
| storage | SSD |
там же (storageConfig) |
| realm | sandbox.nubes.ru |
GET /instances/3f0850f2-… |
Изменённые параметры (dev → test)
| Файл | Было (dev) | Стало (test) |
|---|---|---|
versions.tf |
…/nubes-dev/nubes, 2.0.1 |
…/nubes-test/nubes, 3.0.0 |
variables.tf → api_endpoint |
lk-api-gateway-dev… |
lk-api-gateway-test… |
terraform.tfvars → organization |
kontra |
NaeelOrg |
terraform.tfvars → api_token |
dev-токен | test-токен (secrets/test.token) |
terraform.tfvars → ip_count |
4 |
10, затем 12 (см. раздел про первый apply) |
terraform.tfvars → vdc_storage_config |
SATA / 200 |
SSD / 200 (в test vDC строят на SSD) |
shturval.tf → shturval_resource_name |
shturval-dev1 |
shturval-test1 |
shturval.tf → shturval_cluster_name |
shturval-dev-01 |
shturval-test-01 |
shturval.tf → shturval_worker_group_name |
workers-shturval-dev |
workers-shturval-test |
Не менялись (совпадают с test): vdc_network_provider=snb1, vdc_provider_vdc="Intel Broadwell 2.4",
ip_space_name=internet-ipv4-v1, DNS/пул Edge, имена fullpipe-vdc / fullpipe-edge / fullpipe-vapp-02.
Первый apply в test: ошибки и что с ними делать (2026-10-01)
Создались: nubes_vc_vdc.vdc (fullpipe-vdc), nubes_vc_nsxt.edge (fullpipe-edge),
nubes_vc_org_ip_allocation.org_ip, nubes_vc_nsxt_snat.snat. Упали два ресурса:
| Ресурс | Ошибка | Причина / решение |
|---|---|---|
nubes_k8s_sthutrval_cluster.shturval |
операция 61F4FF33-…: «Кол-во свободных Ip в тенанте WZ03709-iaas: 1. Необходимо 2… Перейдите в настройки услуги „Организация в Cloud Director“(3f0850f2-…) → Операция modify» |
квота внешних IP: на NaeelOrg было count=10, свободным остался 1 (часть держит кластер iot-naeel). Решение: ip_count 10 → 12 и применить модификатор |
nubes_vapp.vapp (fullpipe-vapp-02) |
«Не удалось произвести валидацию схемы инстанса. Запустите операцию reconcile у инстанса „Виртуальный каталог ВМ (vApp)“» |
инстанс ушёл в not created; вероятно плавающая ошибка — проверить после увеличения IP, при повторе сделать reconcile |
После terraform destroy (сделан владельцем):
| Объект | Состояние | Почему |
|---|---|---|
fullpipe-vdc (21) |
suspended |
suspend_on_destroy = true — «заморозка» |
fullpipe-edge (22) |
running |
keep_on_destroy = true — destroy эдж не трогает |
локальный state |
пуст | — |
Порядок исправления:
# 1) поднять квоту внешних IP (terraform.tfvars: ip_count="12") — выполняет владелец:
terraform apply -target=nubes_vc_org_ip_allocation.org_ip
# 2) при необходимости — reconcile у vApp в ЛК
# 3) полный цикл (vApp и Штурвал пересоздаются, vDC размораживается, Edge усыновляется):
terraform apply
Проверка коллизий (в test уже есть эдж и vDC)
Занято в test сейчас:
| Услуга | Имена | Статус |
|---|---|---|
| vDC (21) | naeel-vdc, VDC для кластера iot-naeel |
running |
| Edge (22) | naeel_vc_nsxt, Edge для кластера IOT naeel |
running |
| vApp (26) | vapp-222, vm-sless-vapp, vm-sless-demo-vapp |
deleted |
| ВМ (28) | vm-sless, vm-sless-1, vm-sless-demo |
deleted |
| Штурвал (150) | naeel-wheel (deleted), Кластер Kubernetes [iot-naeel] |
running |
Наши имена (fullpipe-vdc, fullpipe-edge, fullpipe-vapp-02, web02, shturval-test1)
свободны — пересечений нет.
Проверки конфигурации
terraform init # установлен nubes-test/nubes 3.0.0 (подпись CB3A0DF161ECC416)
terraform fmt -check -recursive # OK
terraform validate # Success! The configuration is valid.
terraform plan # Plan: 7 to add, 0 to change, 0 to destroy
⚠️ terraform apply не выполнялся — по правилам запускает только владелец.
Риск, который надо помнить
nubes_vc_org_ip_allocation(модификаторvIPConfigure) перезаписывает массив внешних IP целиком. В test наNaeelOrgуже выделено 10 адресов (их использует кластерiot-naeel), поэтомуip_count="10"— уменьшение сломает чужой стенд.- В
.gitignoreуже закрытыterraform.tfvars,.terraform/,.terraform.lock.hcl,terraform.tfstate*— в репозиторий попадут только.tfиterraform.tfvars.example.
Связанные документы
HISTORY/2026-09-25_fullpipe_example_shturval_and_docs.md— исходный пример FPipeGmail (dev).HISTORY/2026-10-01_release_x_0_0_all_stands.md— актуальные версии провайдеров стендов.