From 40aef879e47d2f41953bd6e09ecf097ab3c6c763 Mon Sep 17 00:00:00 2001 From: Nail Date: Thu, 24 Sep 2026 19:06:46 +0300 Subject: [PATCH] =?UTF-8?q?stand(FullPipe):=20=D1=80=D0=B5=D0=B6=D0=B8?= =?UTF-8?q?=D0=BC=20=C2=AB=D0=B7=D0=B0=D0=BC=D0=BE=D1=80=D0=BE=D0=B7=D0=BA?= =?UTF-8?q?=D0=B8=C2=BB=20=D0=BD=D0=B0=20destroy=20=E2=80=94=20keep=5Fon?= =?UTF-8?q?=5Fdestroy=3Dtrue=20(=D1=8D=D0=B4=D0=B6/SNAT/=D0=BA=D0=B2=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=20IP),=20adopt=20=D0=B4=D0=BB=D1=8F=20=D1=8D=D0=B4?= =?UTF-8?q?=D0=B6=D0=B0,=20=D1=8F=D0=B2=D0=BD=D1=8B=D0=B9=20suspend=5Fon?= =?UTF-8?q?=5Fdestroy=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEV_STAND/FullPipe/edge.tf | 8 ++++++++ DEV_STAND/FullPipe/modifiers.tf | 9 ++++++--- DEV_STAND/FullPipe/shturval.tf | 4 ++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/DEV_STAND/FullPipe/edge.tf b/DEV_STAND/FullPipe/edge.tf index 8b8552d..ec8f962 100644 --- a/DEV_STAND/FullPipe/edge.tf +++ b/DEV_STAND/FullPipe/edge.tf @@ -17,4 +17,12 @@ resource "nubes_vc_nsxt" "edge" { main_dns = var.nsxt_main_dns second_dns = var.nsxt_second_dns } + + # «Заморозка»: destroy НЕ удаляет эдж (у платформы для эджа нет операции suspend), + # а только убирает его из состояния. Для полного удаления — keep_on_destroy = false. + keep_on_destroy = true + + # Повторный apply усыновляет уже работающий эдж, а не падает с + # «РЕСУРС С ТАКИМ ИМЕНЕМ УЖЕ СУЩЕСТВУЕТ (RUNNING)». + adopt_existing_on_create = true } diff --git a/DEV_STAND/FullPipe/modifiers.tf b/DEV_STAND/FullPipe/modifiers.tf index 1a319c2..a148873 100644 --- a/DEV_STAND/FullPipe/modifiers.tf +++ b/DEV_STAND/FullPipe/modifiers.tf @@ -25,8 +25,10 @@ resource "nubes_vc_org_ip_allocation" "org_ip" { } ]) - # false = при destroy отправить обратный modify с count=0 (квота обнулится) - keep_on_destroy = false + # true = «заморозка»: destroy не трогает квоту внешних IP (кластер Штурвала держит + # адреса, опустить count ниже занятых платформа не даёт). Для полного удаления — false + # (и только после удаления кластера). + keep_on_destroy = true depends_on = [nubes_vc_nsxt.edge] } @@ -36,7 +38,8 @@ resource "nubes_vc_nsxt_snat" "snat" { nsxt_uid = nubes_vc_nsxt.edge.id ip_space_name = var.ip_space_name - keep_on_destroy = false + # true = «заморозка»: destroy не выключает SNAT на эдже. Для полного удаления — false. + keep_on_destroy = true # ipSpace должен быть уже выделен на организации depends_on = [nubes_vc_org_ip_allocation.org_ip] diff --git a/DEV_STAND/FullPipe/shturval.tf b/DEV_STAND/FullPipe/shturval.tf index aea389c..9c9cce4 100644 --- a/DEV_STAND/FullPipe/shturval.tf +++ b/DEV_STAND/FullPipe/shturval.tf @@ -112,6 +112,10 @@ resource "nubes_k8s_sthutrval_cluster" "shturval" { # Проверка/adopt выполняются в Create на apply (в plan будет «will be created»). adopt_existing_on_create = true + # «Заморозка»: destroy приостанавливает кластер (suspend), а не удаляет. + # Следующий apply усыновит его и разморозит (resume). + suspend_on_destroy = true + # Штурвал создаётся долго (десятки минут) — поднимаем таймаут ожидания, # иначе провайдер сдаётся на дефолтных 600 с. operation_timeout = "60m"