From aa53c508c75567248df539eaf3ecd56b398eceec Mon Sep 17 00:00:00 2001 From: Steve Brasier Date: Wed, 24 Jul 2024 16:58:10 +0100 Subject: [PATCH] enable setting per-compute group availability zones --- .../{{cookiecutter.environment}}/terraform/compute/nodes.tf | 1 + .../terraform/compute/variables.tf | 6 ++++++ .../{{cookiecutter.environment}}/terraform/variables.tf | 1 + 3 files changed, 8 insertions(+) diff --git a/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/nodes.tf b/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/nodes.tf index 006f802c7..9a708aed9 100644 --- a/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/nodes.tf +++ b/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/nodes.tf @@ -26,6 +26,7 @@ resource "openstack_compute_instance_v2" "compute" { image_id = var.image_id flavor_name = var.flavor key_pair = var.key_pair + availability_zone = var.availability_zone_prefix == "" ? null : "${var.availability_zone_prefix}${regex(".*-(.*)$", each.key)[0]}" dynamic "block_device" { for_each = var.volume_backed_instances ? [1]: [] diff --git a/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/variables.tf b/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/variables.tf index 5696a94eb..b1205a31f 100644 --- a/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/variables.tf +++ b/environments/skeleton/{{cookiecutter.environment}}/terraform/compute/variables.tf @@ -67,3 +67,9 @@ variable "root_volume_size" { variable "security_group_ids" { type = list } + +variable "availability_zone_prefix" { + description = "If non-empty, then the availability_zone is set to this + the last portion of the nodename when split on '-'" + type = string + default = "" +} diff --git a/environments/skeleton/{{cookiecutter.environment}}/terraform/variables.tf b/environments/skeleton/{{cookiecutter.environment}}/terraform/variables.tf index 289de3fef..64f8ed909 100644 --- a/environments/skeleton/{{cookiecutter.environment}}/terraform/variables.tf +++ b/environments/skeleton/{{cookiecutter.environment}}/terraform/variables.tf @@ -52,6 +52,7 @@ variable "compute" { image_id: Overrides variable cluster_image_id vnic_type: Overrides variable vnic_type vnic_profile: Overrides variable vnic_profile + availability_zone_prefix: If set, use this + last portion of nodename when split on '-' to set availability_zone EOF }