@@ -116,10 +116,12 @@ data "openstack_networking_network_v2" "cluster_external_network" {
116
116
name = "{{ cluster_external_network }}"
117
117
}
118
118
119
- # Always get the SRIOV storage network
120
- data "openstack_networking_network_v2" "portal_storage_direct" {
121
- tags = ["portal-storage-direct"]
119
+ # SRIOV storage network
120
+ {% if cluster_storage_network is defined %}
121
+ data "openstack_networking_network_v2" "cluster_storage_direct" {
122
+ name = "{{ cluster_storage_network }}"
122
123
}
124
+ {% endif %}
123
125
124
126
data "openstack_networking_subnet_ids_v2" "cluster_external_subnets" {
125
127
network_id = "${data.openstack_networking_network_v2.cluster_external_network.id}"
@@ -186,7 +188,7 @@ data "openstack_networking_subnet_v2" "cluster_subnet" {
186
188
# Login node
187
189
###
188
190
189
- # VXLAN
191
+ # Primary network
190
192
resource "openstack_networking_port_v2" "login" {
191
193
name = "{{ cluster_name }}-login-0"
192
194
network_id = "${data.openstack_networking_network_v2.cluster_network.id}"
@@ -212,9 +214,10 @@ resource "openstack_networking_port_v2" "login" {
212
214
}
213
215
214
216
# Storage VLAN
215
- resource " openstack_networking_port_v2" " login_portal_storage" {
216
- name = " {{ cluster_name }}-login-0-portal-storage"
217
- network_id = data.openstack_networking_network_v2.portal_storage_direct.id
217
+ {% if cluster_storage_network is defined %}
218
+ resource " openstack_networking_port_v2" " login_storage" {
219
+ name = " {{ cluster_name }}-login-storage-0"
220
+ network_id = data.openstack_networking_network_v2.cluster_storage_direct.id
218
221
admin_state_up = " true"
219
222
220
223
# not sure if needed here
@@ -225,15 +228,16 @@ resource "openstack_networking_port_v2" "login_portal_storage" {
225
228
226
229
# for now, until we set up flavors
227
230
binding {
228
- vnic_type = " normal"
231
+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
229
232
}
230
233
}
234
+ {% endif %}
231
235
232
236
###
233
237
# Control node
234
238
###
235
239
236
- # VLXAN
240
+ # Primary network
237
241
resource " openstack_networking_port_v2" " control" {
238
242
name = " {{ cluster_name }}-control-0"
239
243
network_id = " ${data.openstack_networking_network_v2.cluster_network.id}"
@@ -258,10 +262,10 @@ resource "openstack_networking_port_v2" "control" {
258
262
}
259
263
260
264
# Storage VLAN
261
-
262
- resource " openstack_networking_port_v2" " control_portal_storage " {
263
- name = " {{ cluster_name }}-control-0-portal- storage"
264
- network_id = data.openstack_networking_network_v2.portal_storage_direct .id
265
+ {% if cluster_storage_network is defined %}
266
+ resource " openstack_networking_port_v2" " control_storage " {
267
+ name = " {{ cluster_name }}-control-storage-0 "
268
+ network_id = data.openstack_networking_network_v2.cluster_storage_direct .id
265
269
admin_state_up = " true"
266
270
267
271
# not sure if needed here
@@ -271,15 +275,16 @@ resource "openstack_networking_port_v2" "control_portal_storage" {
271
275
272
276
# for now, until we set up flavors
273
277
binding {
274
- vnic_type = " normal"
278
+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
275
279
}
276
280
}
281
+ {% endif %}
277
282
278
283
###
279
284
# Workers
280
285
###
281
286
{% for partition in openhpc_slurm_partitions %}
282
- # VXLAN
287
+ # Primary network
283
288
resource " openstack_networking_port_v2" " {{ partition.name }}" {
284
289
count = {{ partition.count }}
285
290
name = " {{ cluster_name }}-compute-{{ partition.name }}-${count.index}"
@@ -305,10 +310,11 @@ resource "openstack_networking_port_v2" "{{ partition.name }}" {
305
310
}
306
311
307
312
# Storage VLAN
308
- resource " openstack_networking_port_v2" " {{ partition.name }}_portal_storage" {
313
+ {% if cluster_storage_network is defined %}
314
+ resource " openstack_networking_port_v2" " {{ partition.name }}_storage" {
309
315
count = {{ partition.count }}
310
- name = " {{ cluster_name }}-compute-{{ partition.name }}-${count.index}-portal-storage "
311
- network_id = data.openstack_networking_network_v2.portal_storage_direct .id
316
+ name = " {{ cluster_name }}-compute-{{ partition.name }}-storage- ${count.index}"
317
+ network_id = data.openstack_networking_network_v2.cluster_storage_direct .id
312
318
admin_state_up = " true"
313
319
314
320
# not sure if needed here
@@ -318,9 +324,10 @@ resource "openstack_networking_port_v2" "{{ partition.name }}_portal_storage" {
318
324
319
325
# for now, until we set up flavors
320
326
binding {
321
- vnic_type = " normal"
327
+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
322
328
}
323
329
}
330
+ {% endif %}
324
331
325
332
{% endfor %}
326
333
@@ -350,9 +357,11 @@ resource "openstack_compute_instance_v2" "login" {
350
357
port = openstack_networking_port_v2.login.id
351
358
}
352
359
360
+ {% if cluster_storage_network is defined %}
353
361
network {
354
- port = openstack_networking_port_v2.login_portal_storage .id
362
+ port = openstack_networking_port_v2.login_storage .id
355
363
}
364
+ {% endif %}
356
365
357
366
# root device:
358
367
block_device {
@@ -397,9 +406,11 @@ resource "openstack_compute_instance_v2" "control" {
397
406
port = openstack_networking_port_v2.control.id
398
407
}
399
408
409
+ {% if cluster_storage_network is defined %}
400
410
network {
401
- port = openstack_networking_port_v2.control_portal_storage .id
411
+ port = openstack_networking_port_v2.control_storage .id
402
412
}
413
+ {% endif %}
403
414
404
415
# root device:
405
416
block_device {
@@ -474,9 +485,11 @@ resource "openstack_compute_instance_v2" "{{ partition.name }}" {
474
485
port = openstack_networking_port_v2.{{ partition.name }}[count.index].id
475
486
}
476
487
488
+ {% if cluster_storage_network is defined %}
477
489
network {
478
- port = openstack_networking_port_v2.{{ partition.name }}_portal_storage [count.index].id
490
+ port = openstack_networking_port_v2.{{ partition.name }}_storage [count.index].id
479
491
}
492
+ {% endif %}
480
493
481
494
# root device:
482
495
block_device {
0 commit comments