@@ -116,10 +116,12 @@ data "openstack_networking_network_v2" "cluster_external_network" {
116116 name = "{{ cluster_external_network }}"
117117}
118118
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 }}"
122123}
124+ {% endif %}
123125
124126data "openstack_networking_subnet_ids_v2" "cluster_external_subnets" {
125127 network_id = "${data.openstack_networking_network_v2.cluster_external_network.id}"
@@ -186,7 +188,7 @@ data "openstack_networking_subnet_v2" "cluster_subnet" {
186188# Login node
187189###
188190
189- # VXLAN
191+ # Primary network
190192resource "openstack_networking_port_v2" "login" {
191193 name = "{{ cluster_name }}-login-0"
192194 network_id = "${data.openstack_networking_network_v2.cluster_network.id}"
@@ -212,9 +214,10 @@ resource "openstack_networking_port_v2" "login" {
212214}
213215
214216# 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
218221 admin_state_up = " true"
219222
220223 # not sure if needed here
@@ -225,15 +228,16 @@ resource "openstack_networking_port_v2" "login_portal_storage" {
225228
226229 # for now, until we set up flavors
227230 binding {
228- vnic_type = " normal"
231+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
229232 }
230233}
234+ {% endif %}
231235
232236###
233237# Control node
234238###
235239
236- # VLXAN
240+ # Primary network
237241resource " openstack_networking_port_v2" " control" {
238242 name = " {{ cluster_name }}-control-0"
239243 network_id = " ${data.openstack_networking_network_v2.cluster_network.id}"
@@ -258,10 +262,10 @@ resource "openstack_networking_port_v2" "control" {
258262}
259263
260264# 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
265269 admin_state_up = " true"
266270
267271 # not sure if needed here
@@ -271,15 +275,16 @@ resource "openstack_networking_port_v2" "control_portal_storage" {
271275
272276 # for now, until we set up flavors
273277 binding {
274- vnic_type = " normal"
278+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
275279 }
276280}
281+ {% endif %}
277282
278283###
279284# Workers
280285###
281286{% for partition in openhpc_slurm_partitions %}
282- # VXLAN
287+ # Primary network
283288resource " openstack_networking_port_v2" " {{ partition.name }}" {
284289 count = {{ partition.count }}
285290 name = " {{ cluster_name }}-compute-{{ partition.name }}-${count.index}"
@@ -305,10 +310,11 @@ resource "openstack_networking_port_v2" "{{ partition.name }}" {
305310}
306311
307312# 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" {
309315 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
312318 admin_state_up = " true"
313319
314320 # not sure if needed here
@@ -318,9 +324,10 @@ resource "openstack_networking_port_v2" "{{ partition.name }}_portal_storage" {
318324
319325 # for now, until we set up flavors
320326 binding {
321- vnic_type = " normal"
327+ vnic_type = " {{ cluster_storage_vnic_type | default(' normal') }} "
322328 }
323329}
330+ {% endif %}
324331
325332{% endfor %}
326333
@@ -350,9 +357,11 @@ resource "openstack_compute_instance_v2" "login" {
350357 port = openstack_networking_port_v2.login.id
351358 }
352359
360+ {% if cluster_storage_network is defined %}
353361 network {
354- port = openstack_networking_port_v2.login_portal_storage .id
362+ port = openstack_networking_port_v2.login_storage .id
355363 }
364+ {% endif %}
356365
357366 # root device:
358367 block_device {
@@ -397,9 +406,11 @@ resource "openstack_compute_instance_v2" "control" {
397406 port = openstack_networking_port_v2.control.id
398407 }
399408
409+ {% if cluster_storage_network is defined %}
400410 network {
401- port = openstack_networking_port_v2.control_portal_storage .id
411+ port = openstack_networking_port_v2.control_storage .id
402412 }
413+ {% endif %}
403414
404415 # root device:
405416 block_device {
@@ -474,9 +485,11 @@ resource "openstack_compute_instance_v2" "{{ partition.name }}" {
474485 port = openstack_networking_port_v2.{{ partition.name }}[count.index].id
475486 }
476487
488+ {% if cluster_storage_network is defined %}
477489 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
479491 }
492+ {% endif %}
480493
481494 # root device:
482495 block_device {
0 commit comments