diff --git a/environments/site/tofu/inventory.tpl b/environments/site/tofu/inventory.tpl index 9920f9ec3..ec177114a 100644 --- a/environments/site/tofu/inventory.tpl +++ b/environments/site/tofu/inventory.tpl @@ -26,6 +26,7 @@ ${cluster_name}_${group_name}: image_id: ${ node.image_id } networks: ${jsonencode({for n in node.network: n.name => {"fixed_ip_v4": n.fixed_ip_v4, "fixed_ip_v6": n.fixed_ip_v6}})} node_fqdn: ${login_groups[group_name]["fqdns"][nodename]} + node_fip: ${login_groups[group_name]["nodegroup_fips"][nodename]} %{ endfor ~} ${group_name}: @@ -77,6 +78,7 @@ ${cluster_name}_${group_name}: instance_id: ${ node.id } networks: ${jsonencode({for n in node.network: n.name => {"fixed_ip_v4": n.fixed_ip_v4, "fixed_ip_v6": n.fixed_ip_v6}})} node_fqdn: ${additional_groups[group_name]["fqdns"][nodename]} + node_fip: ${additional_groups[group_name]["nodegroup_fips"][nodename]} %{ endfor ~} ${group_name}: children: diff --git a/environments/site/tofu/node_group/nodes.tf b/environments/site/tofu/node_group/nodes.tf index 4d874d1d4..4ff1fd0c7 100644 --- a/environments/site/tofu/node_group/nodes.tf +++ b/environments/site/tofu/node_group/nodes.tf @@ -25,6 +25,11 @@ locals { } ) } + # Map node names to floating IPs from the list var.fip_addresses by index + nodegroup_fips = { + for idx, n in var.nodes : + n => length(var.fip_addresses) > idx ? var.fip_addresses[idx] : "" + } baremetal_az = var.availability_zone != null ? var.availability_zone : "nova" } @@ -229,3 +234,7 @@ output "image_id" { output "fqdns" { value = local.fqdns } + +output "nodegroup_fips" { + value = local.nodegroup_fips +} \ No newline at end of file