From 1e2c32430f458409771938c16a3dc437cd657d02 Mon Sep 17 00:00:00 2001 From: LAKostis Date: Thu, 3 Jun 2021 23:41:39 +0200 Subject: [PATCH] feat: Add `capacity_rebalance` support for self-managed worker groups (#1326) --- local.tf | 1 + workers.tf | 5 +++++ workers_launch_template.tf | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/local.tf b/local.tf index 3da2674c74..dc836a4729 100644 --- a/local.tf +++ b/local.tf @@ -127,6 +127,7 @@ locals { instance_refresh_min_healthy_percentage = 90 # The amount of capacity in the ASG that must remain healthy during an instance refresh, as a percentage of the ASG's desired capacity. instance_refresh_instance_warmup = null # The number of seconds until a newly launched instance is configured and ready to use. Defaults to the ASG's health check grace period. instance_refresh_triggers = [] # Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy. + capacity_rebalance = false # Enable capacity rebalance } workers_group_defaults = merge( diff --git a/workers.tf b/workers.tf index 897805df98..31a2ffd568 100644 --- a/workers.tf +++ b/workers.tf @@ -97,6 +97,11 @@ resource "aws_autoscaling_group" "workers" { "health_check_grace_period", local.workers_group_defaults["health_check_grace_period"] ) + capacity_rebalance = lookup( + var.worker_groups[count.index], + "capacity_rebalance", + local.workers_group_defaults["capacity_rebalance"] + ) dynamic "initial_lifecycle_hook" { for_each = var.worker_create_initial_lifecycle_hooks ? lookup(var.worker_groups[count.index], "asg_initial_lifecycle_hooks", local.workers_group_defaults["asg_initial_lifecycle_hooks"]) : [] diff --git a/workers_launch_template.tf b/workers_launch_template.tf index f7912ffe1b..6e14b7dcb0 100644 --- a/workers_launch_template.tf +++ b/workers_launch_template.tf @@ -96,6 +96,11 @@ resource "aws_autoscaling_group" "workers_launch_template" { "health_check_grace_period", local.workers_group_defaults["health_check_grace_period"] ) + capacity_rebalance = lookup( + var.worker_groups_launch_template[count.index], + "capacity_rebalance", + local.workers_group_defaults["capacity_rebalance"] + ) dynamic "mixed_instances_policy" { iterator = item