linode / terraform-provider-linode

Terraform Linode provider
https://www.terraform.io/docs/providers/linode/
Mozilla Public License 2.0
191 stars 92 forks source link

Require replacement when `type` attribute of node pool resource changed #1478

Closed zliang-akamai closed 1 week ago

zliang-akamai commented 2 weeks ago

📝 Description

Resolves #1445

✔️ How to Test

Automated Testing

make PKG_NAME=linode/lkenodepool int-test

Manual Testing

Step 1

locals {
  external_pool_tag = "external"
  old_type = "g6-standard-2"
}

resource "linode_lke_cluster" "my-cluster" {
    label       = "my-cluster"
    k8s_version = "1.29"
    region      = "us-mia"

    external_pool_tags = [local.external_pool_tag]

    pool {
        type  = local.old_type
        count = 1
    }
}

resource "linode_lke_node_pool" "my-node-pool" {
  tags = [local.external_pool_tag]
  cluster_id = linode_lke_cluster.my-cluster.id
  node_count = 1
  type       = local.old_type
}

Step 2

locals {
  external_pool_tag = "external"
  old_type = "g6-standard-1"
  new_type = "g6-standard-1"
}

resource "linode_lke_cluster" "my-cluster" {
    label       = "my-cluster"
    k8s_version = "1.29"
    region      = "us-mia"

    external_pool_tags = [local.external_pool_tag]

    pool {
        type  = local.old_type
        count = 1
    }
}

resource "linode_lke_node_pool" "my-node-pool" {
  tags = [local.external_pool_tag]
  cluster_id = linode_lke_cluster.my-cluster.id
  node_count = 1
  type       = local.new_type
}