From 0c2fbcd59cd352e3c0e4dfdf4e7836fb22529742 Mon Sep 17 00:00:00 2001 From: Rob Kooper <kooper@illinois.edu> Date: Mon, 24 Oct 2022 11:03:24 -0500 Subject: [PATCH] add availability zone --- CHANGELOG.md | 5 +++++ terraform/modules/rke1/nodes.tf | 35 ++++++++++++++++------------- terraform/modules/rke1/variables.tf | 6 +++++ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index beee2cd..436fa5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 1.2.2 - 2022-10-24 + +### Changed +- compute nodes in rke1 now set availability zone (default nova), availabilty zone is ignored for existing nodes. + ## 1.2.1 - 2022-10-13 ### Changed diff --git a/terraform/modules/rke1/nodes.tf b/terraform/modules/rke1/nodes.tf index 78b4143..1718e23 100644 --- a/terraform/modules/rke1/nodes.tf +++ b/terraform/modules/rke1/nodes.tf @@ -1,18 +1,19 @@ locals { - controlplane = [for l in range(var.controlplane_count): var.old_hostnames ? format("%s-controlplane-%d", var.cluster_name, l) : format("%s-controlplane-%d", var.cluster_name, l + 1)] - worker = [for l in range(var.worker_count): var.old_hostnames ? format("%s-worker-%d", var.cluster_name, l) : format("%s-worker-%02d", var.cluster_name, l + 1)] + controlplane = [for l in range(var.controlplane_count) : var.old_hostnames ? format("%s-controlplane-%d", var.cluster_name, l) : format("%s-controlplane-%d", var.cluster_name, l + 1)] + worker = [for l in range(var.worker_count) : var.old_hostnames ? format("%s-worker-%d", var.cluster_name, l) : format("%s-worker-%02d", var.cluster_name, l + 1)] } # ---------------------------------------------------------------------- # control-plane nodes # ---------------------------------------------------------------------- resource "openstack_compute_instance_v2" "controlplane" { - count = var.controlplane_count - name = local.controlplane[count.index] - image_name = var.os - flavor_name = var.controlplane_flavor - key_pair = openstack_compute_keypair_v2.key.name - config_drive = false + count = var.controlplane_count + name = local.controlplane[count.index] + image_name = var.os + availability_zone = var.openstack_zone + flavor_name = var.controlplane_flavor + key_pair = openstack_compute_keypair_v2.key.name + config_drive = false depends_on = [ openstack_networking_secgroup_rule_v2.same_security_group_ingress_tcp, @@ -52,7 +53,8 @@ resource "openstack_compute_instance_v2" "controlplane" { ignore_changes = [ key_pair, block_device, - user_data + user_data, + availability_zone ] } } @@ -61,11 +63,13 @@ resource "openstack_compute_instance_v2" "controlplane" { # worker nodes # ---------------------------------------------------------------------- resource "openstack_compute_instance_v2" "worker" { - count = var.worker_count - name = local.worker[count.index] - flavor_name = var.worker_flavor - key_pair = local.key - config_drive = false + count = var.worker_count + name = local.worker[count.index] + image_name = var.os + availability_zone = var.openstack_zone + flavor_name = var.worker_flavor + key_pair = local.key + config_drive = false depends_on = [ openstack_networking_secgroup_rule_v2.same_security_group_ingress_tcp @@ -101,7 +105,8 @@ resource "openstack_compute_instance_v2" "worker" { ignore_changes = [ key_pair, block_device, - user_data + user_data, + availability_zone ] } } diff --git a/terraform/modules/rke1/variables.tf b/terraform/modules/rke1/variables.tf index 0761c98..1f4bbd2 100644 --- a/terraform/modules/rke1/variables.tf +++ b/terraform/modules/rke1/variables.tf @@ -125,6 +125,12 @@ variable "openstack_ssh_key" { default = "" } +variable "openstack_zone" { + type = string + description = "default zone to use for openstack nodes" + default = "nova" +} + # ---------------------------------------------------------------------- # OPENSTACK NODES # ---------------------------------------------------------------------- -- GitLab