linode/terraform-provider-linode

[Bug]: Changing node type in linode_lke_node_pool does not trigger a replacement

asenci opened this issue · 1 comments

Terraform Version

Terraform v1.8.4 on linux_arm64

Linode Provider Version

version = "2.20.1"

Effected Terraform Resources

linode_lke_node_pool

Terraform Config Files

resource "linode_lke_node_pool" "ingress" {
  tags = ["external", "ingress"]

  cluster_id = linode_lke_cluster.this.id
  node_count = var.ingress_node_count
  type       = local.ingress_node_type
}

Debug Output

  # xxxxxxx.linode_lke_node_pool.ingress will be updated in-place
  ~ resource "linode_lke_node_pool" "ingress" {
        id         = "262855"
      ~ nodes      = [
          - {
              - id          = "262855-1f656c8f0000"
              - instance_id = 59412070
              - status      = "ready"
            },
          - {
              - id          = "262855-2b85e5c10000"
              - instance_id = 59412112
              - status      = "ready"
            },
        ] -> (known after apply)
        tags       = [
            "external",
            "ingress",
        ]
      ~ type       = "g6-standard-1" -> "g7-premium-2"
        # (2 unchanged attributes hidden)
    }

Panic Output

No response

Expected Behavior

It is my understanding that the node pool update API does not support changing the pool type (https://www.linode.com/docs/api/linode-kubernetes-engine-lke/#node-pool-update), therefore the provider should be triggering a resource replacement.

Actual Behavior

The provider tries to update the resource in-place, but the node type remains unchanged by the API call.
Subsequent runs will still show the type does not match the expected value and include the same resource update.

Steps to Reproduce

  1. Create a linode_lke_node_pool resource
  2. Change the type parameter of the linode_lke_node_pool resource
  3. Run terraform plan or terraform apply

Hi @asenci, thanks for the bug report! We will be investigating it and get back to you later.