@@ -151,22 +151,27 @@ def update_nodes_in_queue(strategy, queues)
151151 end
152152end
153153
154- # Update slurm_parallelcluster_topology to add/remove Block Topology plugin
155- template "#{ node [ 'cluster' ] [ 'slurm' ] [ 'install_dir' ] } /etc/slurm_parallelcluster_topology.conf" do
156- source 'slurm/slurm_parallelcluster_topology.conf.erb'
157- owner 'root'
158- group 'root'
159- mode '0644'
160- end
154+ ruby_block "Update slurm topology" do
155+ block do
156+ # Update slurm_parallelcluster_topology to add/remove Block Topology plugin
157+ template "#{ node [ 'cluster' ] [ 'slurm' ] [ 'install_dir' ] } /etc/slurm_parallelcluster_topology.conf" do
158+ source 'slurm/slurm_parallelcluster_topology.conf.erb'
159+ owner 'root'
160+ group 'root'
161+ mode '0644'
162+ end
161163
162- # Generate Slurm topology.conf file
163- execute "update_topology_config" do
164- command "#{ cookbook_virtualenv_path } /bin/python #{ node [ 'cluster' ] [ 'scripts_dir' ] } /slurm/pcluster_topology_generator.py" \
165- " --output-file #{ node [ 'cluster' ] [ 'slurm' ] [ 'install_dir' ] } /etc/topology.conf" \
166- " --block-sizes #{ node [ 'cluster' ] [ 'p6egb200_block_sizes' ] } " \
167- " --input-file #{ node [ 'cluster' ] [ 'cluster_config_path' ] } "
168- not_if { ::File . exist? ( node [ 'cluster' ] [ 'previous_cluster_config_path' ] ) && !are_queues_updated? && node [ 'cluster' ] [ 'p6egb200_block_sizes' ] . nil? || ( platform? ( 'amazon' ) && node [ 'platform_version' ] == "2" ) }
169- #TODO: Need to remove topology.conf if CB is removed
164+ # Update Slurm topology.conf file
165+ execute "update or cleanup topology.conf" do
166+ command "#{ cookbook_virtualenv_path } /bin/python #{ node [ 'cluster' ] [ 'scripts_dir' ] } /slurm/pcluster_topology_generator.py" \
167+ " --output-file #{ node [ 'cluster' ] [ 'slurm' ] [ 'install_dir' ] } /etc/topology.conf" \
168+ " --block-sizes #{ node [ 'cluster' ] [ 'p6egb200_block_sizes' ] } " \
169+ " --input-file #{ node [ 'cluster' ] [ 'cluster_config_path' ] } "
170+ not_if { ::File . exist? ( node [ 'cluster' ] [ 'previous_cluster_config_path' ] ) && !are_queues_updated? && node [ 'cluster' ] [ 'p6egb200_block_sizes' ] . nil? }
171+ #TODO: Need to remove topology.conf if CB is removed
172+ end
173+ end
174+ not_if { platform? ( 'amazon' ) && node [ 'platform_version' ] == "2" }
170175end
171176
172177execute "generate_pcluster_slurm_configs" do
0 commit comments