From 0aaa2597fd384d05e21a092ac6b8ea83878b3c1d Mon Sep 17 00:00:00 2001 From: Chris Makin Date: Tue, 23 Jul 2024 14:55:36 -0400 Subject: [PATCH 1/9] [LoginNodes] Add DCV support for login nodes (#2780) * Update platform cookbook to support DCV on login nodes * Updated `dcv.rb` to activate dcv on the login node. * Updated `supervisord_config` to set `dcv_installed?` to be true when dcv is enabled on a login node. * Updated `parallelcluster_supervisord.conf.erb` to include `pcluster_dcv_authenticator` when dcv is configured on a login node. * Modify _dcv_common to support DCV on login node * Update cloudwatch config DCV logs to include login nodes * Allow DCV instance metadata access when enabled on login node * Rename the DCV sessionID file to be the instance hostname This is required to have multiple session files within the shared directory. * Update supervisord_config_spec to test DCV on login node * Update kitchen test and spec tests for login node dcv * Added `dcv_enabled` attribute to the login node log rotation in `kitchen.platform-config.yml`. * Updated `log_rotation_spec` to include dcv logs for login nodes. * Update CHANGELOG --- CHANGELOG.md | 3 +- .../attributes/environment.rb | 2 +- .../cloudwatch/cloudwatch_agent_config.json | 35 +++++++++++-------- .../files/dcv/pcluster_dcv_connect.sh | 2 +- .../kitchen.platform-config.yml | 1 + .../recipes/config/dcv.rb | 7 ++++ .../recipes/config/log_rotation_login_node.rb | 6 ++++ .../recipes/config/supervisord_config.rb | 4 ++- .../resources/dcv/partial/_dcv_common.rb | 2 +- .../spec/unit/recipes/log_rotation_spec.rb | 6 ++-- .../unit/recipes/supervisord_config_spec.rb | 29 ++++++++++++--- .../parallelcluster_supervisord.conf.erb | 9 +++++ 12 files changed, 80 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c716233857..1078e4bda4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ This file is used to list changes made in each version of the AWS ParallelCluste ------ **ENHANCEMENTS** -- Allow custom actions on Login Nodes. +- Allow custom actions on login nodes. +- Allow DCV connection on login nodes. **BUG FIXES** - Fix EFA kmod installation with RHEL 8.10 or newer. diff --git a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb index 87745f2f20..ecf49a38e6 100644 --- a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb +++ b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb @@ -16,7 +16,7 @@ # IMDS default['cluster']['head_node_imds_secured'] = 'true' default['cluster']['head_node_imds_allowed_users'] = ['root', node['cluster']['cluster_admin_user'], node['cluster']['cluster_user'] ] -default['cluster']['head_node_imds_allowed_users'].append('dcv') if node['cluster']['dcv_enabled'] == 'head_node' && dcv_installed? +default['cluster']['head_node_imds_allowed_users'].append('dcv') if (node['cluster']['dcv_enabled'] == 'head_node' || node['cluster']['dcv_enabled'] == 'login_node') && dcv_installed? # ParallelCluster internal variables to configure active directory service default['cluster']["directory_service"]["domain_name"] = nil diff --git a/cookbooks/aws-parallelcluster-environment/files/cloudwatch/cloudwatch_agent_config.json b/cookbooks/aws-parallelcluster-environment/files/cloudwatch/cloudwatch_agent_config.json index 7714938628..42cc9f37e2 100644 --- a/cookbooks/aws-parallelcluster-environment/files/cloudwatch/cloudwatch_agent_config.json +++ b/cookbooks/aws-parallelcluster-environment/files/cloudwatch/cloudwatch_agent_config.json @@ -296,12 +296,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -379,12 +380,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -398,12 +400,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -417,12 +420,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -436,12 +440,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -455,12 +460,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, @@ -474,12 +480,13 @@ ], "platforms": {{ default_platforms | tojson}}, "node_roles": [ - "HeadNode" + "HeadNode", + "LoginNode" ], "feature_conditions": [ { "dna_key": "dcv_enabled", - "satisfying_values": ["head_node"] + "satisfying_values": ["head_node", "login_node"] } ] }, diff --git a/cookbooks/aws-parallelcluster-platform/files/dcv/pcluster_dcv_connect.sh b/cookbooks/aws-parallelcluster-platform/files/dcv/pcluster_dcv_connect.sh index a2d4febc83..5decb70be6 100644 --- a/cookbooks/aws-parallelcluster-platform/files/dcv/pcluster_dcv_connect.sh +++ b/cookbooks/aws-parallelcluster-platform/files/dcv/pcluster_dcv_connect.sh @@ -122,7 +122,7 @@ main() { # Create a session with session storage enabled. mkdir -p "${DCV_SESSION_FOLDER}" - dcv_session_file="${DCV_SESSION_FOLDER}/dcv_session" + dcv_session_file="${DCV_SESSION_FOLDER}/dcv_session_$(hostname)" if [[ ! -e ${dcv_session_file} ]]; then sessionid=$(_create_dcv_session "${dcv_session_file}" "${shared_folder_path}") else diff --git a/cookbooks/aws-parallelcluster-platform/kitchen.platform-config.yml b/cookbooks/aws-parallelcluster-platform/kitchen.platform-config.yml index b69a2d9e41..0fffbc4bb4 100644 --- a/cookbooks/aws-parallelcluster-platform/kitchen.platform-config.yml +++ b/cookbooks/aws-parallelcluster-platform/kitchen.platform-config.yml @@ -181,6 +181,7 @@ suites: cluster: log_rotation_enabled: 'true' node_type: 'LoginNode' + dcv_enabled: "login_node" directory_service: generate_ssh_keys_for_users: 'true' scheduler: 'slurm' diff --git a/cookbooks/aws-parallelcluster-platform/recipes/config/dcv.rb b/cookbooks/aws-parallelcluster-platform/recipes/config/dcv.rb index bf23c9fde5..4732a4597a 100644 --- a/cookbooks/aws-parallelcluster-platform/recipes/config/dcv.rb +++ b/cookbooks/aws-parallelcluster-platform/recipes/config/dcv.rb @@ -20,4 +20,11 @@ action :configure end end unless on_docker? +when 'LoginNode' + if node['cluster']['dcv_enabled'] == "login_node" + # Activate DCV on login node + dcv "Configure DCV" do + action :configure + end + end unless on_docker? end diff --git a/cookbooks/aws-parallelcluster-platform/recipes/config/log_rotation_login_node.rb b/cookbooks/aws-parallelcluster-platform/recipes/config/log_rotation_login_node.rb index 4198f74465..ca0cbd4f11 100644 --- a/cookbooks/aws-parallelcluster-platform/recipes/config/log_rotation_login_node.rb +++ b/cookbooks/aws-parallelcluster-platform/recipes/config/log_rotation_login_node.rb @@ -22,6 +22,12 @@ parallelcluster_supervisord_log_rotation ) +if node['cluster']['dcv_enabled'] == "login_node" && dcv_installed? + config_files += %w( + parallelcluster_dcv_log_rotation + ) +end + if node['cluster']["directory_service"]["generate_ssh_keys_for_users"] == 'true' config_files += %w( parallelcluster_pam_ssh_key_generator_log_rotation diff --git a/cookbooks/aws-parallelcluster-platform/recipes/config/supervisord_config.rb b/cookbooks/aws-parallelcluster-platform/recipes/config/supervisord_config.rb index 09369c0aef..0f0ad87850 100644 --- a/cookbooks/aws-parallelcluster-platform/recipes/config/supervisord_config.rb +++ b/cookbooks/aws-parallelcluster-platform/recipes/config/supervisord_config.rb @@ -24,7 +24,9 @@ variables( region: region, aws_ca_bundle: region.start_with?('us-iso') ? "/etc/pki/#{region}/certs/ca-bundle.pem" : '', - dcv_configured: node['cluster']['dcv_enabled'] == "head_node" && dcv_installed?, + dcv_configured: (node['cluster']['dcv_enabled'] == "head_node" || + node['cluster']['dcv_enabled'] == "login_node") && + dcv_installed?, dcv_auth_virtualenv_path: node['cluster']['dcv']['authenticator']['virtualenv_path'], dcv_auth_user_home: node['cluster']['dcv']['authenticator']['user_home'], dcv_port: node['cluster']['dcv_port'], diff --git a/cookbooks/aws-parallelcluster-platform/resources/dcv/partial/_dcv_common.rb b/cookbooks/aws-parallelcluster-platform/resources/dcv/partial/_dcv_common.rb index 3f8172ea99..c3b6ce7607 100644 --- a/cookbooks/aws-parallelcluster-platform/resources/dcv/partial/_dcv_common.rb +++ b/cookbooks/aws-parallelcluster-platform/resources/dcv/partial/_dcv_common.rb @@ -183,7 +183,7 @@ def optionally_disable_rnd end action :configure do - if dcv_supported? && node['cluster']['node_type'] == "HeadNode" + if dcv_supported? && (node['cluster']['node_type'] == "HeadNode" || node['cluster']['node_type'] == "LoginNode") if dcv_gpu_accel_supported? # Enable graphic acceleration in dcv conf file for graphic instances. allow_gpu_acceleration diff --git a/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/log_rotation_spec.rb b/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/log_rotation_spec.rb index 985d280bed..f6afb78099 100644 --- a/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/log_rotation_spec.rb +++ b/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/log_rotation_spec.rb @@ -218,13 +218,15 @@ end end - context "in the login node when log_rotation enabled and pam ssh key generation is enabled" do + context "in the login node when log_rotation, pam ssh key generation, and dcv are enabled" do cached(:chef_run) do runner = runner(platform: platform, version: version) do |node| node.override['cluster']['node_type'] = "LoginNode" node.override['cluster']['log_rotation_enabled'] = 'true' + node.override['cluster']['dcv_enabled'] = "login_node" node.override['cluster']["directory_service"]["generate_ssh_keys_for_users"] = 'true' node.override['cluster']["scheduler"] = 'slurm' + allow_any_instance_of(Object).to receive(:dcv_installed?).and_return(true) end runner.converge(described_recipe) end @@ -235,12 +237,12 @@ parallelcluster_supervisord_log_rotation parallelcluster_cloud_init_output_log_rotation parallelcluster_pam_ssh_key_generator_log_rotation + parallelcluster_dcv_log_rotation ) unexpected_config_files = %w( parallelcluster_bootstrap_error_msg_log_rotation parallelcluster_cfn_init_log_rotation parallelcluster_chef_client_log_rotation - parallelcluster_dcv_log_rotation parallelcluster_clustermgtd_log_rotation parallelcluster_clusterstatusmgtd_log_rotation parallelcluster_slurm_fleet_status_manager_log_rotation diff --git a/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/supervisord_config_spec.rb b/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/supervisord_config_spec.rb index a24a7c4a6a..0434761402 100644 --- a/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/supervisord_config_spec.rb +++ b/cookbooks/aws-parallelcluster-platform/spec/unit/recipes/supervisord_config_spec.rb @@ -77,12 +77,12 @@ .with_content("[program:pcluster_dcv_authenticator]") end end - context "when login node" do + context "when login node and dcv configured" do cached(:chef_run) do runner = runner(platform: platform, version: version) do |node| node.override['cluster']['node_type'] = 'LoginNode' - node.override['cluster']['dcv_enabled'] = 'head_node' - allow_any_instance_of(Object).to receive(:dcv_installed?).and_return(false) + node.override['cluster']['dcv_enabled'] = 'login_node' + allow_any_instance_of(Object).to receive(:dcv_installed?).and_return(true) end runner.converge(described_recipe) end @@ -92,9 +92,28 @@ is_expected.to render_file('/etc/parallelcluster/parallelcluster_supervisord.conf') .with_content("[program:cfn-hup]") .with_content("[program:loginmgtd]") - - is_expected.not_to render_file('/etc/parallelcluster/parallelcluster_supervisord.conf') .with_content("[program:pcluster_dcv_authenticator]") + .with_content("--port 8444") + end + + context "when login node and dcv not configured" do + cached(:chef_run) do + runner = runner(platform: platform, version: version) do |node| + node.override['cluster']['node_type'] = 'LoginNode' + node.override['cluster']['dcv_enabled'] = 'NONE' + allow_any_instance_of(Object).to receive(:dcv_installed?).and_return(true) + end + runner.converge(described_recipe) + end + cached(:node) { chef_run.node } + + it 'has the correct content' do + is_expected.to render_file('/etc/parallelcluster/parallelcluster_supervisord.conf') + .with_content("[program:loginmgtd]") + + is_expected.not_to render_file('/etc/parallelcluster/parallelcluster_supervisord.conf') + .with_content("[program:pcluster_dcv_authenticator]") + end end end end diff --git a/cookbooks/aws-parallelcluster-platform/templates/supervisord/parallelcluster_supervisord.conf.erb b/cookbooks/aws-parallelcluster-platform/templates/supervisord/parallelcluster_supervisord.conf.erb index d3b7484cd2..4020c2814d 100644 --- a/cookbooks/aws-parallelcluster-platform/templates/supervisord/parallelcluster_supervisord.conf.erb +++ b/cookbooks/aws-parallelcluster-platform/templates/supervisord/parallelcluster_supervisord.conf.erb @@ -68,4 +68,13 @@ exitcodes = 0 redirect_stderr = true stdout_logfile = /var/log/parallelcluster/loginmgtd.log stdout_logfile_maxbytes = 1MB +<% if @dcv_configured -%> +[program:pcluster_dcv_authenticator] +command = <%= @dcv_auth_virtualenv_path %>/bin/python <%= @dcv_auth_user_home %>/pcluster_dcv_authenticator.py + --port <%= Integer(@dcv_port) + 1 %> + --certificate <%= @dcv_auth_certificate %> + --key <%= @dcv_auth_private_key %> +user = <%= @dcv_auth_user %> +environment = HOME="<%= @dcv_auth_user_home %>",USER="<%= @dcv_auth_user %>"<% if @region.start_with?('us-iso') -%>,AWS_CA_BUNDLE="<%= @aws_ca_bundle %>"<% end -%> +<% end -%> <% end -%> From 27e12b644ccdb7dce81dd3d1cb60f45d6f46bb6a Mon Sep 17 00:00:00 2001 From: Hanwen Date: Mon, 5 Aug 2024 11:55:40 -0700 Subject: [PATCH 2/9] Append pcluster CloudWatch config when CW agent is running Before this commit, pcluster CW config is not loaded when CW agent is running on the custom AMI, causing the lack of logs on CloudWatch. This commit appends pcluster CW config regardless of whether the CW agent is running. Therefore, CW config in the custom AMI will be preserved in addition to pcluster CW config. If there are conflicting parameters, the parameters in pcluster CW config overwrites the config from custom AMI. Signed-off-by: Hanwen --- .../resources/cloudwatch/partial/_cloudwatch_common.rb | 3 +-- .../spec/unit/resources/cloudwatch_spec.rb | 10 +++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb b/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb index 856ec99de2..bfd28a0738 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb @@ -175,7 +175,6 @@ def package_path execute "cloudwatch-agent-start" do user 'root' timeout 300 - command "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" - not_if "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status | grep status | grep running" + command "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" end unless node['cluster']['cw_logging_enabled'] != 'true' || on_docker? end diff --git a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb index 26a20bcdcd..c5e8048ccf 100644 --- a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb +++ b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb @@ -255,7 +255,7 @@ def self.configure(chef_run) is_expected.to run_execute("cloudwatch-agent-start").with( user: 'root', timeout: 300, - command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" + command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" ) end end @@ -309,8 +309,12 @@ def self.configure(chef_run) ConvergeCloudWatch.configure(runner) end - it 'does not start cloudwatch' do - is_expected.not_to run_execute("cloudwatch-agent-start") + it 'starts cloudwatch agent' do + is_expected.to run_execute("cloudwatch-agent-start").with( + user: 'root', + timeout: 300, + command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" + ) end end end From 26b55b39fc5be21da4aa600fc7a352e35d2b6742 Mon Sep 17 00:00:00 2001 From: Hanwen Date: Wed, 14 Aug 2024 08:45:37 -0700 Subject: [PATCH 3/9] Overwrite existing CloudWatch config if merging config fails `append-config` merges config, but fails when there are conflicting parameters: ``` 2024/08/07 19:45:32 Under path : /metrics/metrics_collected/mem | Error : Different values are specified for mem 2024/08/07 19:45:32 Under path : /metrics/metrics_collected/disk | Error : Different values are specified for disk 2024/08/07 19:45:32 Under path : /metrics/append_dimensions | Error : Different values are specified for append_dimensions 2024/08/07 19:45:32 Under path : /metrics/metrics_collected/mem | Error : Different values are specified for mem 2024/08/07 19:45:32 Under path : /metrics/metrics_collected/disk | Error : Different values are specified for disk 2024/08/07 19:45:32 Under path : /metrics/append_dimensions | Error : Different values are specified for append_dimensions ``` `fetch-config` overwrites config. This commit makes the code to try merging the config first. If it fails, overwrite the config. Signed-off-by: Hanwen --- .../resources/cloudwatch/partial/_cloudwatch_common.rb | 2 +- .../spec/unit/resources/cloudwatch_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb b/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb index bfd28a0738..fb317b0a3a 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/cloudwatch/partial/_cloudwatch_common.rb @@ -175,6 +175,6 @@ def package_path execute "cloudwatch-agent-start" do user 'root' timeout 300 - command "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" + command "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s || /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" end unless node['cluster']['cw_logging_enabled'] != 'true' || on_docker? end diff --git a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb index c5e8048ccf..9c999d242b 100644 --- a/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb +++ b/cookbooks/aws-parallelcluster-environment/spec/unit/resources/cloudwatch_spec.rb @@ -255,7 +255,7 @@ def self.configure(chef_run) is_expected.to run_execute("cloudwatch-agent-start").with( user: 'root', timeout: 300, - command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" + command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s || /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" ) end end @@ -313,7 +313,7 @@ def self.configure(chef_run) is_expected.to run_execute("cloudwatch-agent-start").with( user: 'root', timeout: 300, - command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" + command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s || /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s" ) end end From 212d0df716a7b86604fd48da9f7fe253abb5c390 Mon Sep 17 00:00:00 2001 From: Thomas Heinen Date: Fri, 19 Jul 2024 18:09:47 +0200 Subject: [PATCH 4/9] Add EFS access point support (aws-parallelcluster#2337) Signed-off-by: Thomas Heinen --- .../attributes/environment.rb | 1 + .../aws-parallelcluster-environment/recipes/config/efs.rb | 5 ++++- .../recipes/config/mount_home.rb | 1 + .../resources/efs/partial/_mount_umount.rb | 7 ++++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb index ecf49a38e6..86f069a518 100644 --- a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb +++ b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb @@ -37,6 +37,7 @@ default['cluster']['efs_fs_ids'] = '' default['cluster']['efs_encryption_in_transits'] = '' default['cluster']['efs_iam_authorizations'] = '' +default['cluster']['efs_accesspoint_ids'] = '' default['cluster']['fsx_shared_dirs'] = '' default['cluster']['fsx_fs_ids'] = '' default['cluster']['fsx_dns_names'] = '' diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb index 03be2b9dac..073725a51f 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb @@ -15,14 +15,16 @@ id_array = node['cluster']['efs_fs_ids'].split(',') encryption_array = node['cluster']['efs_encryption_in_transits'].split(',') iam_array = node['cluster']['efs_iam_authorizations'].split(',') +accesspoint_id_array = node['cluster']['efs_accesspoint_ids'].split(',') # Identify the previously mounted filesystems and remove them from the set of filesystems to mount shared_dir_array.each_with_index do |dir, index| - next unless node['cluster']['internal_shared_dirs'].include?(dir) || dir == "/home" || dir == "home" || dir == node['cluster']['internal_initial_shared_dir'] + next unless node['cluster']['internal_shared_dirs'].include?(dir) || dir == node['cluster']['internal_initial_shared_dir'] shared_dir_array.delete(dir) id_array.delete_at(index) encryption_array.delete_at(index) iam_array.delete_at(index) + accesspoint_id_array.delete_at(index) end # Mount EFS directories with the efs resource @@ -31,6 +33,7 @@ efs_fs_id_array id_array efs_encryption_in_transit_array encryption_array efs_iam_authorization_array iam_array + efs_accesspoint_id_array accesspoint_id_array action :mount not_if { shared_dir_array.empty? } end diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb index e7ff0d7199..efc947dcbb 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb @@ -73,6 +73,7 @@ efs_fs_id_array [node['cluster']['efs_fs_ids'].split(',')[index]] efs_encryption_in_transit_array [node['cluster']['efs_encryption_in_transits'].split(',')[index]] efs_iam_authorization_array [node['cluster']['efs_iam_authorizations'].split(',')[index]] + efs_accesspoint_id [node['cluster']['efs_accesspoint_id'].split(',')[index]] action :mount end break diff --git a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb index 841b682291..31affd56f2 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb @@ -18,6 +18,7 @@ property :efs_fs_id_array, Array, required: %i(mount unmount) property :efs_encryption_in_transit_array, Array, required: false property :efs_iam_authorization_array, Array, required: false +property :efs_accesspoint_id_array, Array, required: false # This is the mount point on the EFS itself, as opposed to the local system directory, defaults to "/" property :efs_mount_point_array, Array, required: false property :efs_unmount_forced_array, Array, required: false @@ -28,19 +29,23 @@ efs_fs_id_array = new_resource.efs_fs_id_array.dup efs_encryption_in_transit_array = new_resource.efs_encryption_in_transit_array.dup efs_iam_authorization_array = new_resource.efs_iam_authorization_array.dup + efs_accesspoint_id_array = new_resource.efs_accesspoint_id_array.dup efs_mount_point_array = new_resource.efs_mount_point_array.dup efs_fs_id_array.each_with_index do |efs_fs_id, index| efs_shared_dir = efs_shared_dir_array[index] efs_encryption_in_transit = efs_encryption_in_transit_array[index] unless efs_encryption_in_transit_array.nil? efs_iam_authorization = efs_iam_authorization_array[index] unless efs_iam_authorization_array.nil? + efs_accesspoint_id = efs_accesspoint_id_array[index] unless efs_accesspoint_id_array.nil? # Path needs to be fully qualified, for example "shared/temp" becomes "/shared/temp" efs_shared_dir = "/#{efs_shared_dir}" unless efs_shared_dir.start_with?('/') # See reference of mount options: https://docs.aws.amazon.com/efs/latest/ug/automount-with-efs-mount-helper.html mount_options = "_netdev,noresvport" - if efs_encryption_in_transit == "true" + if efs_accesspoint_id + mount_options = "iam,tls,accesspoint=#{efs_accesspoint_id}" + elsif efs_encryption_in_transit == "true" mount_options += ",tls" if efs_iam_authorization == "true" mount_options += ",iam" From a734106cc5a51a8e35424bbc62c8eb30676320b4 Mon Sep 17 00:00:00 2001 From: Thomas Heinen Date: Fri, 2 Aug 2024 15:24:54 +0200 Subject: [PATCH 5/9] Rename attribute; Revert logic change on shared dirs Signed-off-by: Thomas Heinen --- CHANGELOG.md | 1 + .../attributes/environment.rb | 2 +- .../recipes/config/efs.rb | 8 ++++---- .../recipes/config/mount_home.rb | 2 +- .../resources/efs/partial/_mount_umount.rb | 10 +++++----- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1078e4bda4..839dc18af2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This file is used to list changes made in each version of the AWS ParallelCluste **ENHANCEMENTS** - Allow custom actions on login nodes. - Allow DCV connection on login nodes. +- Add new attribute `efs_access_point_ids` to specify optional EFS access points for the mounts **BUG FIXES** - Fix EFA kmod installation with RHEL 8.10 or newer. diff --git a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb index 86f069a518..cfb9d343a2 100644 --- a/cookbooks/aws-parallelcluster-environment/attributes/environment.rb +++ b/cookbooks/aws-parallelcluster-environment/attributes/environment.rb @@ -37,7 +37,7 @@ default['cluster']['efs_fs_ids'] = '' default['cluster']['efs_encryption_in_transits'] = '' default['cluster']['efs_iam_authorizations'] = '' -default['cluster']['efs_accesspoint_ids'] = '' +default['cluster']['efs_access_point_ids'] = '' default['cluster']['fsx_shared_dirs'] = '' default['cluster']['fsx_fs_ids'] = '' default['cluster']['fsx_dns_names'] = '' diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb index 073725a51f..13ed7397ad 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/efs.rb @@ -15,16 +15,16 @@ id_array = node['cluster']['efs_fs_ids'].split(',') encryption_array = node['cluster']['efs_encryption_in_transits'].split(',') iam_array = node['cluster']['efs_iam_authorizations'].split(',') -accesspoint_id_array = node['cluster']['efs_accesspoint_ids'].split(',') +access_point_id_array = node['cluster']['efs_access_point_ids'].split(',') # Identify the previously mounted filesystems and remove them from the set of filesystems to mount shared_dir_array.each_with_index do |dir, index| - next unless node['cluster']['internal_shared_dirs'].include?(dir) || dir == node['cluster']['internal_initial_shared_dir'] + next unless node['cluster']['internal_shared_dirs'].include?(dir) || dir == "/home" || dir == "home" || dir == node['cluster']['internal_initial_shared_dir'] shared_dir_array.delete(dir) id_array.delete_at(index) encryption_array.delete_at(index) iam_array.delete_at(index) - accesspoint_id_array.delete_at(index) + access_point_id_array.delete_at(index) end # Mount EFS directories with the efs resource @@ -33,7 +33,7 @@ efs_fs_id_array id_array efs_encryption_in_transit_array encryption_array efs_iam_authorization_array iam_array - efs_accesspoint_id_array accesspoint_id_array + efs_access_point_id_array access_point_id_array action :mount not_if { shared_dir_array.empty? } end diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb index efc947dcbb..c18e62b4a3 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb @@ -73,7 +73,7 @@ efs_fs_id_array [node['cluster']['efs_fs_ids'].split(',')[index]] efs_encryption_in_transit_array [node['cluster']['efs_encryption_in_transits'].split(',')[index]] efs_iam_authorization_array [node['cluster']['efs_iam_authorizations'].split(',')[index]] - efs_accesspoint_id [node['cluster']['efs_accesspoint_id'].split(',')[index]] + efs_access_point_id [node['cluster']['efs_access_point_id'].split(',')[index]] action :mount end break diff --git a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb index 31affd56f2..936c7715ed 100644 --- a/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb +++ b/cookbooks/aws-parallelcluster-environment/resources/efs/partial/_mount_umount.rb @@ -18,7 +18,7 @@ property :efs_fs_id_array, Array, required: %i(mount unmount) property :efs_encryption_in_transit_array, Array, required: false property :efs_iam_authorization_array, Array, required: false -property :efs_accesspoint_id_array, Array, required: false +property :efs_access_point_id_array, Array, required: false # This is the mount point on the EFS itself, as opposed to the local system directory, defaults to "/" property :efs_mount_point_array, Array, required: false property :efs_unmount_forced_array, Array, required: false @@ -29,22 +29,22 @@ efs_fs_id_array = new_resource.efs_fs_id_array.dup efs_encryption_in_transit_array = new_resource.efs_encryption_in_transit_array.dup efs_iam_authorization_array = new_resource.efs_iam_authorization_array.dup - efs_accesspoint_id_array = new_resource.efs_accesspoint_id_array.dup + efs_access_point_id_array = new_resource.efs_access_point_id_array.dup efs_mount_point_array = new_resource.efs_mount_point_array.dup efs_fs_id_array.each_with_index do |efs_fs_id, index| efs_shared_dir = efs_shared_dir_array[index] efs_encryption_in_transit = efs_encryption_in_transit_array[index] unless efs_encryption_in_transit_array.nil? efs_iam_authorization = efs_iam_authorization_array[index] unless efs_iam_authorization_array.nil? - efs_accesspoint_id = efs_accesspoint_id_array[index] unless efs_accesspoint_id_array.nil? + efs_access_point_id = efs_access_point_id_array[index] unless efs_access_point_id_array.nil? # Path needs to be fully qualified, for example "shared/temp" becomes "/shared/temp" efs_shared_dir = "/#{efs_shared_dir}" unless efs_shared_dir.start_with?('/') # See reference of mount options: https://docs.aws.amazon.com/efs/latest/ug/automount-with-efs-mount-helper.html mount_options = "_netdev,noresvport" - if efs_accesspoint_id - mount_options = "iam,tls,accesspoint=#{efs_accesspoint_id}" + if efs_access_point_id + mount_options = "iam,tls,access_point=#{efs_access_point_id}" elsif efs_encryption_in_transit == "true" mount_options += ",tls" if efs_iam_authorization == "true" From 51d5688d1a8aa7e41cfc090207240546fbc2230b Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk Date: Fri, 2 Aug 2024 16:00:45 +0000 Subject: [PATCH 6/9] Fixed typo --- .../recipes/config/mount_home.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb index c18e62b4a3..33a8ee3eec 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb @@ -73,7 +73,7 @@ efs_fs_id_array [node['cluster']['efs_fs_ids'].split(',')[index]] efs_encryption_in_transit_array [node['cluster']['efs_encryption_in_transits'].split(',')[index]] efs_iam_authorization_array [node['cluster']['efs_iam_authorizations'].split(',')[index]] - efs_access_point_id [node['cluster']['efs_access_point_id'].split(',')[index]] + efs_access_point_id [node['cluster']['efs_access_point_ids'].split(',')[index]] action :mount end break From 572cd4b133ac56f9ee03a6bec84915698dc1fca1 Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk Date: Sun, 4 Aug 2024 12:27:09 +0000 Subject: [PATCH 7/9] Added configs for access points --- .../recipes/config/mount_home.rb | 1 + .../templates/shared_storages/shared_storages_data.erb | 2 ++ 2 files changed, 3 insertions(+) diff --git a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb index 33a8ee3eec..e4647b48b8 100644 --- a/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb +++ b/cookbooks/aws-parallelcluster-environment/recipes/config/mount_home.rb @@ -61,6 +61,7 @@ efs_encryption_in_transit_array [node['cluster']['efs_encryption_in_transits'].split(',')[index]] efs_iam_authorization_array [node['cluster']['efs_iam_authorizations'].split(',')[index]] efs_mount_point_array ['/home'] + efs_access_point_id [node['cluster']['efs_access_point_ids'].split(',')[index]] action :mount end break diff --git a/cookbooks/aws-parallelcluster-environment/templates/shared_storages/shared_storages_data.erb b/cookbooks/aws-parallelcluster-environment/templates/shared_storages/shared_storages_data.erb index ead651af5c..ca8ace8a14 100644 --- a/cookbooks/aws-parallelcluster-environment/templates/shared_storages/shared_storages_data.erb +++ b/cookbooks/aws-parallelcluster-environment/templates/shared_storages/shared_storages_data.erb @@ -19,12 +19,14 @@ raid: <% efs_shared_dir_array = node['cluster']['efs_shared_dirs'].split(',') -%> <% efs_encryption_in_transit_array = node['cluster']['efs_encryption_in_transits'].split(',') -%> <% efs_iam_authorization_array = node['cluster']['efs_iam_authorizations'].split(',') -%> +<% efs_access_point_id_array = node['cluster']['efs_access_point_ids'].split(',') -%> efs: <% efs_fs_ids_array.each_with_index do |efs_fs_id, index| -%> - efs_fs_id: <%= efs_fs_id %> mount_dir: <%= efs_shared_dir_array[index] %> efs_encryption_in_transit: <%= efs_encryption_in_transit_array[index] %> efs_iam_authorization: <%= efs_iam_authorization_array[index] %> + efs_access_point_id: <%= efs_access_point_id_array[index] %> <% end -%> <%# FSX %> <% fsx_fs_id_array = node['cluster']['fsx_fs_ids'].split(',') -%> From 8cb540db4593998f079f8c6616bbf67dbc1f8164 Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk Date: Thu, 15 Aug 2024 21:04:54 +0000 Subject: [PATCH 8/9] Version hack --- CHANGELOG.md | 2 +- .../aws-parallelcluster-awsbatch/metadata.rb | 4 ++-- .../aws-parallelcluster-computefleet/metadata.rb | 4 ++-- .../aws-parallelcluster-entrypoints/metadata.rb | 14 +++++++------- .../aws-parallelcluster-environment/metadata.rb | 4 ++-- .../aws-parallelcluster-platform/metadata.rb | 4 ++-- .../attributes/versions.rb | 6 +++--- cookbooks/aws-parallelcluster-shared/metadata.rb | 2 +- cookbooks/aws-parallelcluster-slurm/metadata.rb | 8 ++++---- cookbooks/aws-parallelcluster-tests/metadata.rb | 12 ++++++------ cookbooks/third-party/yum-7.4.13/CHANGELOG.md | 2 +- kitchen.ec2.yml | 2 +- metadata.rb | 16 ++++++++-------- 13 files changed, 40 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 839dc18af2..ab5e0ea64b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ aws-parallelcluster-cookbook CHANGELOG This file is used to list changes made in each version of the AWS ParallelCluster cookbook. -3.11.0 +3.10.1 ------ **ENHANCEMENTS** diff --git a/cookbooks/aws-parallelcluster-awsbatch/metadata.rb b/cookbooks/aws-parallelcluster-awsbatch/metadata.rb index bfbd7986bc..a12332d0e9 100644 --- a/cookbooks/aws-parallelcluster-awsbatch/metadata.rb +++ b/cookbooks/aws-parallelcluster-awsbatch/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,4 +17,4 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-computefleet/metadata.rb b/cookbooks/aws-parallelcluster-computefleet/metadata.rb index 724f08950b..341e6cafaf 100644 --- a/cookbooks/aws-parallelcluster-computefleet/metadata.rb +++ b/cookbooks/aws-parallelcluster-computefleet/metadata.rb @@ -7,6 +7,6 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' -depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-entrypoints/metadata.rb b/cookbooks/aws-parallelcluster-entrypoints/metadata.rb index cd9da3e888..6a3294d161 100644 --- a/cookbooks/aws-parallelcluster-entrypoints/metadata.rb +++ b/cookbooks/aws-parallelcluster-entrypoints/metadata.rb @@ -7,11 +7,11 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' -depends 'aws-parallelcluster-shared', '~> 3.11.0' -depends 'aws-parallelcluster-platform', '~> 3.11.0' -depends 'aws-parallelcluster-environment', '~> 3.11.0' -depends 'aws-parallelcluster-computefleet', '~> 3.11.0' -depends 'aws-parallelcluster-slurm', '~> 3.11.0' -depends 'aws-parallelcluster-awsbatch', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-platform', '~> 3.10.1' +depends 'aws-parallelcluster-environment', '~> 3.10.1' +depends 'aws-parallelcluster-computefleet', '~> 3.10.1' +depends 'aws-parallelcluster-slurm', '~> 3.10.1' +depends 'aws-parallelcluster-awsbatch', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-environment/metadata.rb b/cookbooks/aws-parallelcluster-environment/metadata.rb index c5bc759d53..76062d14db 100644 --- a/cookbooks/aws-parallelcluster-environment/metadata.rb +++ b/cookbooks/aws-parallelcluster-environment/metadata.rb @@ -7,9 +7,9 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'line', '~> 4.5.13' depends 'nfs', '~> 5.1.2' -depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-platform/metadata.rb b/cookbooks/aws-parallelcluster-platform/metadata.rb index 835c31897e..1cc37d44fa 100644 --- a/cookbooks/aws-parallelcluster-platform/metadata.rb +++ b/cookbooks/aws-parallelcluster-platform/metadata.rb @@ -7,8 +7,8 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'line', '~> 4.5.13' -depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-shared/attributes/versions.rb b/cookbooks/aws-parallelcluster-shared/attributes/versions.rb index ad329b6d46..e0fadc70e0 100644 --- a/cookbooks/aws-parallelcluster-shared/attributes/versions.rb +++ b/cookbooks/aws-parallelcluster-shared/attributes/versions.rb @@ -3,7 +3,7 @@ default['cluster']['python-major-minor-version'] = '3.9' # ParallelCluster versions -default['cluster']['parallelcluster-version'] = '3.11.0' -default['cluster']['parallelcluster-cookbook-version'] = '3.11.0' -default['cluster']['parallelcluster-node-version'] = '3.11.0' +default['cluster']['parallelcluster-version'] = '3.10.1' +default['cluster']['parallelcluster-cookbook-version'] = '3.10.1' +default['cluster']['parallelcluster-node-version'] = '3.10.1' default['cluster']['parallelcluster-awsbatch-cli-version'] = '1.4.0' diff --git a/cookbooks/aws-parallelcluster-shared/metadata.rb b/cookbooks/aws-parallelcluster-shared/metadata.rb index d8a09ad811..8825db08f9 100644 --- a/cookbooks/aws-parallelcluster-shared/metadata.rb +++ b/cookbooks/aws-parallelcluster-shared/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' diff --git a/cookbooks/aws-parallelcluster-slurm/metadata.rb b/cookbooks/aws-parallelcluster-slurm/metadata.rb index 3034fe4088..c7ed5d273a 100644 --- a/cookbooks/aws-parallelcluster-slurm/metadata.rb +++ b/cookbooks/aws-parallelcluster-slurm/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,6 +17,6 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-computefleet', '~> 3.11.0' -depends 'aws-parallelcluster-environment', '~> 3.11.0' -depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-computefleet', '~> 3.10.1' +depends 'aws-parallelcluster-environment', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.10.1' diff --git a/cookbooks/aws-parallelcluster-tests/metadata.rb b/cookbooks/aws-parallelcluster-tests/metadata.rb index 82886fdbeb..520887bad8 100644 --- a/cookbooks/aws-parallelcluster-tests/metadata.rb +++ b/cookbooks/aws-parallelcluster-tests/metadata.rb @@ -7,10 +7,10 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' -depends 'aws-parallelcluster-shared', '~> 3.11.0' -depends 'aws-parallelcluster-platform', '~> 3.11.0' -depends 'aws-parallelcluster-environment', '~> 3.11.0' -depends 'aws-parallelcluster-computefleet', '~> 3.11.0' -depends 'aws-parallelcluster-slurm', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-platform', '~> 3.10.1' +depends 'aws-parallelcluster-environment', '~> 3.10.1' +depends 'aws-parallelcluster-computefleet', '~> 3.10.1' +depends 'aws-parallelcluster-slurm', '~> 3.10.1' diff --git a/cookbooks/third-party/yum-7.4.13/CHANGELOG.md b/cookbooks/third-party/yum-7.4.13/CHANGELOG.md index 59a79b4908..de86798bd9 100644 --- a/cookbooks/third-party/yum-7.4.13/CHANGELOG.md +++ b/cookbooks/third-party/yum-7.4.13/CHANGELOG.md @@ -154,7 +154,7 @@ Standardise files with files in sous-chefs/repo-management - Fixing baseurl to support multiple urls - Modify releasever attribute for Amazon to match Amazon's default policy for releasever -## v3.11.0 (2016-06-01) +## v3.10.1 (2016-06-01) - Install yum at compile time in the dnf compatibility recipe - Add IBM zlinux as a supported platform in the metadata diff --git a/kitchen.ec2.yml b/kitchen.ec2.yml index 361cddec82..502d6decaa 100644 --- a/kitchen.ec2.yml +++ b/kitchen.ec2.yml @@ -1,5 +1,5 @@ <% - pcluster_version = ENV['KITCHEN_PCLUSTER_VERSION'] || '3.11.0' + pcluster_version = ENV['KITCHEN_PCLUSTER_VERSION'] || '3.10.1' pcluster_prefix = "aws-parallelcluster-#{pcluster_version}" %> --- diff --git a/metadata.rb b/metadata.rb index bb53e28734..16f32953d4 100644 --- a/metadata.rb +++ b/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.11.0' +version '3.10.1' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,10 +17,10 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-slurm', '~> 3.11.0' -depends 'aws-parallelcluster-awsbatch', '~> 3.11.0' -depends 'aws-parallelcluster-platform', '~> 3.11.0' -depends 'aws-parallelcluster-environment', '~> 3.11.0' -depends 'aws-parallelcluster-computefleet', '~> 3.11.0' -depends 'aws-parallelcluster-shared', '~> 3.11.0' -depends 'aws-parallelcluster-entrypoints', '~> 3.11.0' +depends 'aws-parallelcluster-slurm', '~> 3.10.1' +depends 'aws-parallelcluster-awsbatch', '~> 3.10.1' +depends 'aws-parallelcluster-platform', '~> 3.10.1' +depends 'aws-parallelcluster-environment', '~> 3.10.1' +depends 'aws-parallelcluster-computefleet', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-entrypoints', '~> 3.10.1' From 159051b8bee48897982eed1a518e94a133ef937e Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk Date: Thu, 15 Aug 2024 21:07:47 +0000 Subject: [PATCH 9/9] Revert "Version hack" This reverts commit 8cb540db4593998f079f8c6616bbf67dbc1f8164. --- CHANGELOG.md | 2 +- .../aws-parallelcluster-awsbatch/metadata.rb | 4 ++-- .../aws-parallelcluster-computefleet/metadata.rb | 4 ++-- .../aws-parallelcluster-entrypoints/metadata.rb | 14 +++++++------- .../aws-parallelcluster-environment/metadata.rb | 4 ++-- .../aws-parallelcluster-platform/metadata.rb | 4 ++-- .../attributes/versions.rb | 6 +++--- cookbooks/aws-parallelcluster-shared/metadata.rb | 2 +- cookbooks/aws-parallelcluster-slurm/metadata.rb | 8 ++++---- cookbooks/aws-parallelcluster-tests/metadata.rb | 12 ++++++------ cookbooks/third-party/yum-7.4.13/CHANGELOG.md | 2 +- kitchen.ec2.yml | 2 +- metadata.rb | 16 ++++++++-------- 13 files changed, 40 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5e0ea64b..839dc18af2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ aws-parallelcluster-cookbook CHANGELOG This file is used to list changes made in each version of the AWS ParallelCluster cookbook. -3.10.1 +3.11.0 ------ **ENHANCEMENTS** diff --git a/cookbooks/aws-parallelcluster-awsbatch/metadata.rb b/cookbooks/aws-parallelcluster-awsbatch/metadata.rb index a12332d0e9..bfbd7986bc 100644 --- a/cookbooks/aws-parallelcluster-awsbatch/metadata.rb +++ b/cookbooks/aws-parallelcluster-awsbatch/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,4 +17,4 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-computefleet/metadata.rb b/cookbooks/aws-parallelcluster-computefleet/metadata.rb index 341e6cafaf..724f08950b 100644 --- a/cookbooks/aws-parallelcluster-computefleet/metadata.rb +++ b/cookbooks/aws-parallelcluster-computefleet/metadata.rb @@ -7,6 +7,6 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' -depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-entrypoints/metadata.rb b/cookbooks/aws-parallelcluster-entrypoints/metadata.rb index 6a3294d161..cd9da3e888 100644 --- a/cookbooks/aws-parallelcluster-entrypoints/metadata.rb +++ b/cookbooks/aws-parallelcluster-entrypoints/metadata.rb @@ -7,11 +7,11 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' -depends 'aws-parallelcluster-shared', '~> 3.10.1' -depends 'aws-parallelcluster-platform', '~> 3.10.1' -depends 'aws-parallelcluster-environment', '~> 3.10.1' -depends 'aws-parallelcluster-computefleet', '~> 3.10.1' -depends 'aws-parallelcluster-slurm', '~> 3.10.1' -depends 'aws-parallelcluster-awsbatch', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-platform', '~> 3.11.0' +depends 'aws-parallelcluster-environment', '~> 3.11.0' +depends 'aws-parallelcluster-computefleet', '~> 3.11.0' +depends 'aws-parallelcluster-slurm', '~> 3.11.0' +depends 'aws-parallelcluster-awsbatch', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-environment/metadata.rb b/cookbooks/aws-parallelcluster-environment/metadata.rb index 76062d14db..c5bc759d53 100644 --- a/cookbooks/aws-parallelcluster-environment/metadata.rb +++ b/cookbooks/aws-parallelcluster-environment/metadata.rb @@ -7,9 +7,9 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'line', '~> 4.5.13' depends 'nfs', '~> 5.1.2' -depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-platform/metadata.rb b/cookbooks/aws-parallelcluster-platform/metadata.rb index 1cc37d44fa..835c31897e 100644 --- a/cookbooks/aws-parallelcluster-platform/metadata.rb +++ b/cookbooks/aws-parallelcluster-platform/metadata.rb @@ -7,8 +7,8 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'line', '~> 4.5.13' -depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-shared/attributes/versions.rb b/cookbooks/aws-parallelcluster-shared/attributes/versions.rb index e0fadc70e0..ad329b6d46 100644 --- a/cookbooks/aws-parallelcluster-shared/attributes/versions.rb +++ b/cookbooks/aws-parallelcluster-shared/attributes/versions.rb @@ -3,7 +3,7 @@ default['cluster']['python-major-minor-version'] = '3.9' # ParallelCluster versions -default['cluster']['parallelcluster-version'] = '3.10.1' -default['cluster']['parallelcluster-cookbook-version'] = '3.10.1' -default['cluster']['parallelcluster-node-version'] = '3.10.1' +default['cluster']['parallelcluster-version'] = '3.11.0' +default['cluster']['parallelcluster-cookbook-version'] = '3.11.0' +default['cluster']['parallelcluster-node-version'] = '3.11.0' default['cluster']['parallelcluster-awsbatch-cli-version'] = '1.4.0' diff --git a/cookbooks/aws-parallelcluster-shared/metadata.rb b/cookbooks/aws-parallelcluster-shared/metadata.rb index 8825db08f9..d8a09ad811 100644 --- a/cookbooks/aws-parallelcluster-shared/metadata.rb +++ b/cookbooks/aws-parallelcluster-shared/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' diff --git a/cookbooks/aws-parallelcluster-slurm/metadata.rb b/cookbooks/aws-parallelcluster-slurm/metadata.rb index c7ed5d273a..3034fe4088 100644 --- a/cookbooks/aws-parallelcluster-slurm/metadata.rb +++ b/cookbooks/aws-parallelcluster-slurm/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,6 +17,6 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-computefleet', '~> 3.10.1' -depends 'aws-parallelcluster-environment', '~> 3.10.1' -depends 'aws-parallelcluster-shared', '~> 3.10.1' +depends 'aws-parallelcluster-computefleet', '~> 3.11.0' +depends 'aws-parallelcluster-environment', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.11.0' diff --git a/cookbooks/aws-parallelcluster-tests/metadata.rb b/cookbooks/aws-parallelcluster-tests/metadata.rb index 520887bad8..82886fdbeb 100644 --- a/cookbooks/aws-parallelcluster-tests/metadata.rb +++ b/cookbooks/aws-parallelcluster-tests/metadata.rb @@ -7,10 +7,10 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' -depends 'aws-parallelcluster-shared', '~> 3.10.1' -depends 'aws-parallelcluster-platform', '~> 3.10.1' -depends 'aws-parallelcluster-environment', '~> 3.10.1' -depends 'aws-parallelcluster-computefleet', '~> 3.10.1' -depends 'aws-parallelcluster-slurm', '~> 3.10.1' +depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-platform', '~> 3.11.0' +depends 'aws-parallelcluster-environment', '~> 3.11.0' +depends 'aws-parallelcluster-computefleet', '~> 3.11.0' +depends 'aws-parallelcluster-slurm', '~> 3.11.0' diff --git a/cookbooks/third-party/yum-7.4.13/CHANGELOG.md b/cookbooks/third-party/yum-7.4.13/CHANGELOG.md index de86798bd9..59a79b4908 100644 --- a/cookbooks/third-party/yum-7.4.13/CHANGELOG.md +++ b/cookbooks/third-party/yum-7.4.13/CHANGELOG.md @@ -154,7 +154,7 @@ Standardise files with files in sous-chefs/repo-management - Fixing baseurl to support multiple urls - Modify releasever attribute for Amazon to match Amazon's default policy for releasever -## v3.10.1 (2016-06-01) +## v3.11.0 (2016-06-01) - Install yum at compile time in the dnf compatibility recipe - Add IBM zlinux as a supported platform in the metadata diff --git a/kitchen.ec2.yml b/kitchen.ec2.yml index 502d6decaa..361cddec82 100644 --- a/kitchen.ec2.yml +++ b/kitchen.ec2.yml @@ -1,5 +1,5 @@ <% - pcluster_version = ENV['KITCHEN_PCLUSTER_VERSION'] || '3.10.1' + pcluster_version = ENV['KITCHEN_PCLUSTER_VERSION'] || '3.11.0' pcluster_prefix = "aws-parallelcluster-#{pcluster_version}" %> --- diff --git a/metadata.rb b/metadata.rb index 16f32953d4..bb53e28734 100644 --- a/metadata.rb +++ b/metadata.rb @@ -7,7 +7,7 @@ issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues' source_url 'https://github.com/aws/aws-parallelcluster-cookbook' chef_version '>= 18' -version '3.10.1' +version '3.11.0' depends 'apt', '~> 7.5.22' depends 'iptables', '~> 8.0.0' @@ -17,10 +17,10 @@ depends 'pyenv', '~> 4.2.3' depends 'yum', '~> 7.4.13' depends 'yum-epel', '~> 5.0.2' -depends 'aws-parallelcluster-slurm', '~> 3.10.1' -depends 'aws-parallelcluster-awsbatch', '~> 3.10.1' -depends 'aws-parallelcluster-platform', '~> 3.10.1' -depends 'aws-parallelcluster-environment', '~> 3.10.1' -depends 'aws-parallelcluster-computefleet', '~> 3.10.1' -depends 'aws-parallelcluster-shared', '~> 3.10.1' -depends 'aws-parallelcluster-entrypoints', '~> 3.10.1' +depends 'aws-parallelcluster-slurm', '~> 3.11.0' +depends 'aws-parallelcluster-awsbatch', '~> 3.11.0' +depends 'aws-parallelcluster-platform', '~> 3.11.0' +depends 'aws-parallelcluster-environment', '~> 3.11.0' +depends 'aws-parallelcluster-computefleet', '~> 3.11.0' +depends 'aws-parallelcluster-shared', '~> 3.11.0' +depends 'aws-parallelcluster-entrypoints', '~> 3.11.0'