From d17007b542b10c652914a17f5cb9a9ea8c1d86ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Hidalgo=20Garc=C3=ADa?= Date: Wed, 25 Aug 2021 16:54:29 +0200 Subject: [PATCH] fix: Fixed launch template version infinite plan issue and improved rolling updates (#1447) --- modules/node_groups/README.md | 1 + modules/node_groups/launch_template.tf | 2 +- modules/node_groups/locals.tf | 1 + modules/node_groups/node_groups.tf | 6 ++++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/node_groups/README.md b/modules/node_groups/README.md index 448b9f7..1ac6612 100644 --- a/modules/node_groups/README.md +++ b/modules/node_groups/README.md @@ -48,6 +48,7 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In | subnets | Subnets to contain workers | list(string) | `var.workers_group_defaults[subnets]` | | version | Kubernetes version | string | Provider default behavior | | taints | Kubernetes node taints | list(map) | empty | +| update_default_version | Whether or not to set the new launch template version the Default | bool | `true` | ## Requirements diff --git a/modules/node_groups/launch_template.tf b/modules/node_groups/launch_template.tf index a528a3d..12d7dc3 100644 --- a/modules/node_groups/launch_template.tf +++ b/modules/node_groups/launch_template.tf @@ -27,7 +27,7 @@ resource "aws_launch_template" "workers" { name_prefix = local.node_groups_names[each.key] description = format("EKS Managed Node Group custom LT for %s", local.node_groups_names[each.key]) - update_default_version = true + update_default_version = lookup(each.value, "update_default_version", true) block_device_mappings { device_name = "/dev/xvda" diff --git a/modules/node_groups/locals.tf b/modules/node_groups/locals.tf index 945a7e3..da8d20e 100644 --- a/modules/node_groups/locals.tf +++ b/modules/node_groups/locals.tf @@ -24,6 +24,7 @@ locals { pre_userdata = var.workers_group_defaults["pre_userdata"] additional_security_group_ids = var.workers_group_defaults["additional_security_group_ids"] taints = [] + update_default_version = true ebs_optimized = null }, var.node_groups_defaults, diff --git a/modules/node_groups/node_groups.tf b/modules/node_groups/node_groups.tf index 6a1e393..4e3bf59 100644 --- a/modules/node_groups/node_groups.tf +++ b/modules/node_groups/node_groups.tf @@ -47,8 +47,10 @@ resource "aws_eks_node_group" "workers" { dynamic "launch_template" { for_each = each.value["launch_template_id"] == null && each.value["create_launch_template"] ? [{ - id = aws_launch_template.workers[each.key].id - version = each.value["launch_template_version"] + id = aws_launch_template.workers[each.key].id + version = each.value["launch_template_version"] == "$Latest" ? aws_launch_template.workers[each.key].latest_version : ( + each.value["launch_template_version"] == "$Default" ? aws_launch_template.workers[each.key].default_version : each.value["launch_template_version"] + ) }] : [] content {