@@ -150,10 +150,10 @@ NodeName={{ node }}
150
150
# OpenHPC default configuration
151
151
PropagateResourceLimitsExcept=MEMLOCK
152
152
Epilog=/etc/slurm/slurm.epilog.clean
153
+ {% set donehosts = [] %}
153
154
{% for part in openhpc_slurm_partitions %}
154
155
{% set nodelist = [] %}
155
156
{% for group in part .get ('groups' , [part ]) %}
156
-
157
157
{% set group_name = group .cluster_name |default (openhpc_cluster_name ) ~ '_' ~ group .name %}
158
158
# openhpc_slurm_partitions group: {{ group_name }}
159
159
{% set inventory_group_hosts = groups .get (group_name , []) %}
@@ -164,9 +164,11 @@ Epilog=/etc/slurm/slurm.epilog.clean
164
164
{% set ram_mb = (first_host_hv ['ansible_memory_mb' ]['real' ]['total' ] * (group .ram_multiplier | default (openhpc_ram_multiplier ))) | int %}
165
165
{% for hostlist in (inventory_group_hosts | hostlist_expression ) %}
166
166
{% set gres = ' Gres=%s' % (',' .join (group .gres | map (attribute ='conf' ) )) if 'gres' in group else '' %}
167
-
167
+ {% if hostlist not in donehosts %}
168
168
NodeName={{ hostlist }} State=UNKNOWN RealMemory={{ group.get('ram_mb', ram_mb) }} Sockets={{first_host_hv['ansible_processor_count'] }} CoresPerSocket={{ first_host_hv['ansible_processor_cores'] }} ThreadsPerCore={{ first_host_hv['ansible_processor_threads_per_core'] }}{{ gres }}
169
+ {% endif %}
169
170
{% set _ = nodelist .append (hostlist ) %}
171
+ {% set _ = donehosts .append (hostlist ) %}
170
172
{% endfor %} {# nodes #}
171
173
{% endif %} {# inventory_group_hosts #}
172
174
{% for extra_node_defn in group .get ('extra_nodes' , []) %}
@@ -184,5 +186,4 @@ PartitionName={{part.name}} Default={{ part.get('default', 'YES') }} MaxTime={{
184
186
NodeName=nonesuch
185
187
186
188
{% if openhpc_slurm_configless %} SlurmctldParameters=enable_configless{% endif %}
187
-
188
189
ReturnToService=2
0 commit comments