sbercloud-terraform / terraform-provider-sbercloud

Terraform SberCloud Provider
https://registry.terraform.io/providers/sbercloud-terraform/sbercloud/latest/docs
Mozilla Public License 2.0
34 stars 21 forks source link

Порядок Security group в compute instances (ECS) #327

Open DmitriyMurzin opened 2 weeks ago

DmitriyMurzin commented 2 weeks ago

Добрый день.

Мы используем terraform для назначения Security Group на интерфейсы ECS, при применении нескольких sg одновременно (а это необходимо, чтобы сохранить все доступы и функционал) - порядок применения их в облаке получается случайный. То есть, вне зависимости от порядка в манифесте, то, что получается в облаке - всегда непредсказуемо и правим вручную.

Terraform Version

Terraform v1.5.7.

Affected Resource(s)

или

Terraform Configuration Files

resource "sbercloud_compute_instance" "ecs_01" {
  name              = "terraform-ecs"
  image_id          = data.sbercloud_images_image.ubuntu_image.id
  flavor_id         = "s6.large.2"
  security_groups   = ["default"]
  availability_zone = "ru-moscow-1a"
  key_pair          = "put_here_the_name_of_your_existing_key_pair"

  system_disk_type = "SAS"
  system_disk_size = 16

  security_groups = [
    "sb-sg-prod-basic-services-basic",
    "sb-sg-prod-basic-services-dns"
  ]

  network {
    uuid = data.sbercloud_vpc_subnet.subnet_01.id
  }
}

Debug Output

~ resource "sbercloud_compute_instance" "ecs_01" { id = "aa5cef99-7fa8-4ebe-a3c2-f40ddc85fcf4" name = "ecs-01" ~ security_groups = [

Expected Behavior

Security группы будут применятся в том порядке, котором мы указываем их в sbercloud_compute_instance

Actual Behavior

В плане показывает нужный порядок, но по факту при проверке ресурсов в облаке, порядок может быть рендомный.

Steps to Reproduce

  1. Создать несколько ресурсов sg и ecs для проверки
  2. terrform plan
  3. terraform apply