cookbooks/aws-parallelcluster-slurm/recipes/config/config_slurm_resume.rb (36 lines of code) (raw):
# frozen_string_literal: true
#
# Cookbook:: aws-parallelcluster-slurm
# Recipe:: config_slurm_resume
#
# Copyright:: 2013-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the
# License. A copy of the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and
# limitations under the License.
template "#{node['cluster']['scripts_dir']}/slurm/slurm_resume" do
source 'slurm/resume_program.erb'
owner node['cluster']['slurm']['user']
group node['cluster']['slurm']['group']
mode '0744'
end
file "/var/log/parallelcluster/slurm_resume.log" do
owner node['cluster']['cluster_admin_user']
group node['cluster']['cluster_admin_group']
mode '0644'
end
file "/var/log/parallelcluster/slurm_resume.events" do
owner node['cluster']['cluster_admin_user']
group node['cluster']['cluster_admin_group']
mode '0644'
end
template "#{node['cluster']['slurm_plugin_dir']}/parallelcluster_slurm_resume.conf" do
source 'slurm/parallelcluster_slurm_resume.conf.erb'
owner node['cluster']['cluster_admin_user']
group node['cluster']['cluster_admin_group']
mode '0644'
variables(
cluster_name: node['cluster']['stack_name'],
region: node['cluster']['region'],
proxy: node['cluster']['proxy'],
dynamodb_table: node['cluster']['slurm_ddb_table'],
hosted_zone: node['cluster']['hosted_zone'],
dns_domain: node['cluster']['dns_domain'],
use_private_hostname: node['cluster']['use_private_hostname'],
head_node_private_ip: on_docker? ? 'local_ipv4' : node['ec2']['local_ipv4'],
head_node_hostname: on_docker? ? 'local_hostname' : node['ec2']['local_hostname'],
clustermgtd_heartbeat_file_path: "#{node['cluster']['slurm']['install_dir']}/etc/pcluster/.slurm_plugin/clustermgtd_heartbeat",
instance_id: on_docker? ? 'instance_id' : node['ec2']['instance_id'],
scaling_strategy: lazy { node['cluster']['config'].dig(:Scheduling, :ScalingStrategy) }
)
end