From f4ee59f44be4780257ea4729c4ce8bbf7a20bb4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20=C5=98ezn=C3=AD=C4=8Dek?=
 <246254@mail.muni.cz>
Date: Fri, 21 Jun 2024 17:10:42 +0200
Subject: [PATCH] refactor: add worker nodes fixed ips into locals (make locals
 separate file)

---
 instances.tf | 11 -----------
 locals.tf    | 12 ++++++++++++
 networks.tf  |  2 +-
 3 files changed, 13 insertions(+), 12 deletions(-)
 create mode 100644 locals.tf

diff --git a/instances.tf b/instances.tf
index c7ef192..94babf8 100644
--- a/instances.tf
+++ b/instances.tf
@@ -47,17 +47,6 @@ resource "openstack_compute_instance_v2" "control_nodes" {
     delete_on_termination = true
   }
 }
-locals {
-  all_instances = flatten([
-    for group in var.worker_nodes : [
-      for i in range(group.count) : {
-        name        = "${var.infra_name}-${group.name}-${i + 1}"
-        flavor      = group.flavor
-        volume_size = group.volume_size
-      }
-    ]
-  ])
-}
 
 resource "openstack_compute_instance_v2" "worker_nodes" {
 
diff --git a/locals.tf b/locals.tf
new file mode 100644
index 0000000..ec07dff
--- /dev/null
+++ b/locals.tf
@@ -0,0 +1,12 @@
+locals {
+  all_instances = flatten([
+    for group in var.worker_nodes : [
+      for i in range(group.count) : {
+        name        = "${var.infra_name}-${group.name}-${i + 1}"
+        flavor      = group.flavor
+        volume_size = group.volume_size
+        ip_address  = format("%s.%d", regex("[0-9]+\\.[0-9]+\\.[0-9]+", var.internal_network_cidr), 21 + i)
+      }
+    ]
+  ])
+}
diff --git a/networks.tf b/networks.tf
index 563c04e..c471608 100644
--- a/networks.tf
+++ b/networks.tf
@@ -77,7 +77,7 @@ resource "openstack_networking_port_v2" "worker_ports" {
   security_group_ids = [openstack_networking_secgroup_v2.secgroup_default.id]
   fixed_ip {
     subnet_id = openstack_networking_subnet_v2.subnet_default[0].id
-    ip_address = format("%s.%d", regex("[0-9]+\\.[0-9]+\\.[0-9]+", var.internal_network_cidr), 21 + count.index)
+    ip_address = each.value.ip_address
   }
   allowed_address_pairs {
     ip_address = var.kube_vip
-- 
GitLab