@@ -12,6 +12,18 @@ locals {
1212
1313 # Workaround for lifecycle meta-argument only taking static values
1414 compute_instances = var. ignore_image_changes ? openstack_compute_instance_v2. compute_fixed_image : openstack_compute_instance_v2. compute
15+
16+ # Define nodenames here to avoid repetition
17+ nodenames = {
18+ for n in var . nodes : n => templatestring (
19+ var.nodename_template,
20+ {
21+ node= n,
22+ cluster_name= var.cluster_name,
23+ cluster_domain_suffix= var.cluster_domain_suffix
24+ }
25+ )
26+ }
1527}
1628
1729resource "openstack_blockstorage_volume_v3" "compute" {
@@ -57,7 +69,7 @@ resource "openstack_compute_instance_v2" "compute_fixed_image" {
5769
5870 for_each = var. ignore_image_changes ? toset (var. nodes ) : []
5971
60- name = split (" ." , templatestring (var . nodename_template , {node = each.key, cluster_name = var.cluster_name,cluster_domain_suffix = var.cluster_domain_suffix}) )[0 ]
72+ name = split (" ." , local . nodenames [ each . key ] )[0 ]
6173 image_id = var. image_id
6274 flavor_name = var. flavor
6375 key_pair = var. key_pair
@@ -94,7 +106,7 @@ resource "openstack_compute_instance_v2" "compute_fixed_image" {
94106
95107 user_data = <<- EOF
96108 #cloud-config
97- fqdn: ${ templatestring (var . nodename_template , {node = each.key, cluster_name = var.cluster_name,cluster_domain_suffix = var.cluster_domain_suffix}) }
109+ fqdn: ${ local . nodenames [ each . key ] }
98110 EOF
99111
100112 availability_zone = var. match_ironic_node ? " ${ var . availability_zone } ::${ var . baremetal_nodes [each . key ]} " : null
@@ -111,7 +123,7 @@ resource "openstack_compute_instance_v2" "compute" {
111123
112124 for_each = var. ignore_image_changes ? [] : toset (var. nodes )
113125
114- name = split (" ." , templatestring (var . nodename_template , {node = each.key, cluster_name = var.cluster_name,cluster_domain_suffix = var.cluster_domain_suffix}) )[0 ]
126+ name = split (" ." , local . nodenames [ each . key ] )[0 ]
115127 image_id = var. image_id
116128 flavor_name = var. flavor
117129 key_pair = var. key_pair
@@ -148,7 +160,7 @@ resource "openstack_compute_instance_v2" "compute" {
148160
149161 user_data = <<- EOF
150162 #cloud-config
151- fqdn: ${ templatestring (var . nodename_template , {node = each.key, cluster_name = var.cluster_name,cluster_domain_suffix = var.cluster_domain_suffix}) }
163+ fqdn: ${ local . nodenames [ each . key ] }
152164 EOF
153165
154166 availability_zone = var. match_ironic_node ? " ${ var . availability_zone } ::${ var . baremetal_nodes [each . key ]} " : null
0 commit comments