Files
tf_provider/HISTORY/60_stands/2026-10-01_test_stand_fpipegmail.md
T
Repinoid 2aa2946700 docs(history): обновлены перекрёстные ссылки на файлы HISTORY после переноса
Перенос в тематические папки сломал бы все ссылки, поэтому обновлены пути:
- HISTORY/OPUS/ -> HISTORY/90_llm/OPUS/, HISTORY/SONNET/ -> HISTORY/90_llm/SONNET/;
- 15 целевых файлов из корня получили свой тематический префикс
  (HISTORY/<файл>.md -> HISTORY/<папка>/<файл>.md) — в 33 файлах репозитория.

Затронуто вне HISTORY: README.md, VERSIONS.md, HOW_TO/DEVOPS_BUILD_PIPELINE.md,
NOTES/README.md, NOTES/10_plans/, NOTES/20_prompts/, NOTES/30_analysis/,
NOTES/40_chat_summaries/, docs/curated/{crud,postgres}, docs/help/dev-reference/,
docs/ops/TESTING.md.

Проверки после правки:
- ссылок вида HISTORY/<дата> без тематической папки не осталось;
- все пути HISTORY/*.md из markdown-ссылок существуют (кроме трёх упоминаний,
  которые не были файлами и до переноса: HISTORY/90_llm/OPUS/3006_1.md,
  3006_0.md — планировавшиеся имена в старых транскриптах,
  и HISTORY/HOWTO-UPLOAD.md — ссылка на старый внешний репозиторий tf_registry);
- ссылки по «голому» имени внутри 90_llm/OPUS/ остались корректными (соседние файлы).
2026-10-02 07:36:09 +03:00

8.3 KiB
Raw Blame History

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.

Исключение блока ВМ (2026-10-01, по команде владельца)

Файл TEST_STAND/FPipeGmail/vm.tf (всё, что относится к vApp и ВМ: переменные, оба ресурса, выводы) закомментирован целиком блочным комментарием /* … */.

  • Причина: в test инстанс vApp не прошёл валидацию схемы («Не удалось произвести валидацию схемы инстанса. Запустите операцию reconcile»).
  • Дополнительно: в test разработчику нужно поднять остальную цепочку (vDC → Edge → IP → SNAT → Штурвал), а ВМ/vApp — позже.
  • Как вернуть: удалить первую и последнюю строки блочного комментария в vm.tf.

После правки: terraform fmt -check — OK, terraform validate — Success, terraform plan — 1 to add (только nubes_k8s_sthutrval_cluster.shturval). Инстансов vApp/ВМ стенда в тенанте нет — все записи deleted.

Первый 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/60_stands/2026-09-25_fullpipe_example_shturval_and_docs.md — исходный пример FPipeGmail (dev).
  • HISTORY/20_releases/2026-10-01_release_x_0_0_all_stands.md — актуальные версии провайдеров стендов.