Skip to content

Commit 14c035f

Browse files
committed
fix(network): Ignore alias IP changes
1 parent 05cc10d commit 14c035f

File tree

1 file changed

+40
-18
lines changed

1 file changed

+40
-18
lines changed

server.tf

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,6 @@ resource "hcloud_server" "control_planes" {
121121
ipv6 = var.enable_ipv6 ? hcloud_primary_ip.control_plane_ipv6[each.value.index].id : null
122122
}
123123

124-
network {
125-
network_id = hcloud_network_subnet.nodes.network_id
126-
ip = each.value.ipv4_private
127-
alias_ips = [] # fix for https://github.com/hetznercloud/terraform-provider-hcloud/issues/650
128-
}
129-
130124
depends_on = [
131125
hcloud_network_subnet.nodes,
132126
data.talos_machine_configuration.control_plane
@@ -140,6 +134,20 @@ resource "hcloud_server" "control_planes" {
140134
}
141135
}
142136

137+
resource "hcloud_server_network" "control_planes" {
138+
for_each = { for control_plane in local.control_planes : control_plane.name => control_plane }
139+
server_id = hcloud_server.control_planes[each.key].id
140+
subnet_id = hcloud_network_subnet.nodes.id
141+
ip = each.value.ipv4_private
142+
alias_ips = []
143+
144+
lifecycle {
145+
ignore_changes = [
146+
alias_ips
147+
]
148+
}
149+
}
150+
143151
resource "hcloud_server" "workers" {
144152
for_each = { for worker in local.legacy_workers : worker.name => worker }
145153
datacenter = data.hcloud_datacenter.this.name
@@ -167,12 +175,6 @@ resource "hcloud_server" "workers" {
167175
ipv6 = var.enable_ipv6 ? hcloud_primary_ip.worker_ipv6[each.value.index].id : null
168176
}
169177

170-
network {
171-
network_id = hcloud_network_subnet.nodes.network_id
172-
ip = each.value.ipv4_private
173-
alias_ips = [] # fix for https://github.com/hetznercloud/terraform-provider-hcloud/issues/650
174-
}
175-
176178
depends_on = [
177179
hcloud_network_subnet.nodes,
178180
data.talos_machine_configuration.worker
@@ -186,7 +188,19 @@ resource "hcloud_server" "workers" {
186188
}
187189
}
188190

191+
resource "hcloud_server_network" "workers" {
192+
for_each = { for worker in local.legacy_workers : worker.name => worker }
193+
server_id = hcloud_server.workers[each.key].id
194+
subnet_id = hcloud_network_subnet.nodes.id
195+
ip = each.value.ipv4_private
196+
alias_ips = []
189197

198+
lifecycle {
199+
ignore_changes = [
200+
alias_ips
201+
]
202+
}
203+
}
190204

191205
resource "hcloud_server" "workers_new" {
192206
for_each = { for worker in local.new_workers : worker.name => worker }
@@ -215,12 +229,6 @@ resource "hcloud_server" "workers_new" {
215229
ipv6 = var.enable_ipv6 ? hcloud_primary_ip.worker_ipv6[each.value.index].id : null
216230
}
217231

218-
network {
219-
network_id = hcloud_network_subnet.nodes.network_id
220-
ip = each.value.ipv4_private
221-
alias_ips = [] # fix for https://github.com/hetznercloud/terraform-provider-hcloud/issues/650
222-
}
223-
224232
depends_on = [
225233
hcloud_network_subnet.nodes,
226234
data.talos_machine_configuration.worker
@@ -233,3 +241,17 @@ resource "hcloud_server" "workers_new" {
233241
]
234242
}
235243
}
244+
245+
resource "hcloud_server_network" "workers_new" {
246+
for_each = { for worker in local.new_workers : worker.name => worker }
247+
server_id = hcloud_server.workers_new[each.key].id
248+
subnet_id = hcloud_network_subnet.nodes.id
249+
ip = each.value.ipv4_private
250+
alias_ips = []
251+
252+
lifecycle {
253+
ignore_changes = [
254+
alias_ips
255+
]
256+
}
257+
}

0 commit comments

Comments
 (0)