Skip to content

Commit 6326621

Browse files
author
scrungus
committed
configure storage network components based on cluster_storage_network ,set storage port mode based on cluster_storage_vnic_type
1 parent fe496a5 commit 6326621

File tree

1 file changed

+35
-22
lines changed

1 file changed

+35
-22
lines changed

ansible/roles/cluster_infra/templates/resources.tf.j2

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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

124126
data "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
190192
resource "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
237241
resource "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
283288
resource "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

Comments
 (0)