Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Amazon Linux 2023 #2692

Merged
merged 44 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
d7046e8
[POC] Add support for Amazon Linux 2023
enrico-usai Jun 29, 2023
4787aa1
[AL2023] Add support for Amazon Linux 2023 - ARMPL
Apr 4, 2024
118a1be
[AL2023] Installing NVIDIA driver and kernel-modules-extra which is r…
Apr 5, 2024
d205aca
[AL2023] Installing gdrcopy
Apr 5, 2024
b19b8bb
[AL2023] Installing stunnel
Apr 5, 2024
bad0831
[AL2023] Disable SElinux requires a reboot
Apr 5, 2024
2780d79
[AL2023] ModuleFile path is /etc/environment-modules/modulespath for …
Apr 5, 2024
bb5b9e1
[AL2023] We do not install DCV with Al2023 as its not supported.
Apr 5, 2024
293bac8
[AL2023] Installing only available packages
Apr 5, 2024
9cb52e2
[AL2023] Add support for Amazon Linux 2023 - EFA
Apr 5, 2024
b49713a
[AL2023] Add support for Amazon Linux 2023 - EFS
Apr 5, 2024
ba5038c
[AL2023] Add support for Amazon Linux 2023 - Ephemeral drive
Apr 5, 2024
0092c16
[AL2023]Add support for Amazon Linux 2023 - Lustre Client
Apr 5, 2024
e67ab39
[AL2023] Removing `cfnconfig_mixed` test from environment_install as …
Apr 8, 2024
6ab95f3
[AL2023]Add support for Amazon Linux 2023 - Mysql Client ( used Rhel9)
Apr 8, 2024
f8cd9ad
[AL2023]Add support for Amazon Linux 2023 - Munge
Apr 8, 2024
2ef8cc2
[AL2023]Add support for Amazon Linux 2023 - Slurm
Apr 8, 2024
4686d14
[AL2023]Add support for Amazon Linux 2023 - CloudWatchAgent
Apr 8, 2024
0517b0d
[AL2023]Add Comment for installing full featured packages
Apr 8, 2024
be7ce03
[AL2]removing duplicate functions in AL2022
Apr 9, 2024
7ab5ed8
[AL2023]CookStyle change
Apr 9, 2024
e62711e
[AL2023] Adding Github Actions for running Kitchen tests for Al2023
Apr 9, 2024
ee0f2b2
[AL2023] Unit tests for Nvidia Driver
Apr 9, 2024
f25ad05
[AL2023] Installing the full versions of packages as some of them con…
Apr 9, 2024
b346ad5
[AL2023] yum-utils is not supported in AL2023
Apr 9, 2024
8065007
[AL2023] Supporting AL2023 for Disable Sudo Access
Apr 16, 2024
6a6c076
[AL2023] Adding packages which are now supported with differnt names
Apr 19, 2024
3b21c22
[AL2023] Supporting Cluster User for Al2023
Apr 22, 2024
419a273
[AL2023]Adding Amazon in test metadata
Apr 24, 2024
10faecd
[AL2023] Install dmidecode
Apr 24, 2024
c424659
[AL2023]Update metadata for AL2023
Apr 24, 2024
960ff9f
[AL2023] Adding Guards for NVIDIA
Apr 24, 2024
51930ac
[AL2023] Support Cuda Installation by using root directory for instal…
Apr 24, 2024
6351b86
[AL2023] Adding installation of rsyslog and enabling the service
Apr 26, 2024
9136993
[AL2023] Supporting system authentication for AD
Apr 26, 2024
07a8dd2
[AL2023] Remove check to assert service running
Apr 26, 2024
d42a555
[AL2023] Avoid openssh recipe on Amazon Linux 2023 + docker
hanwen-cluster Jun 4, 2024
89d077c
[AL2023] mock directory when running tests on docker
hanwen-cluster Jun 5, 2024
b58c61a
[AL2023] remove prehook
hanwen-cluster Jun 5, 2024
33fd1d0
Remove support information in metadata
hanwen-cluster Jun 7, 2024
3f84028
[AL2023] Refactor rsyslog installation
hanwen-cluster Jun 11, 2024
9286e4c
[AL2023] Remove network interfaces configuration
hanwen-cluster Jun 11, 2024
1357fd7
[AL2023] Remove outdated packages
hanwen-cluster Jun 11, 2024
5552b26
Merge branch 'develop' into al2023
hanwen-pcluste Jun 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/dokken-system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
matrix:
os:
- alinux2
- alinux-2023
- centos7
- ubuntu2004
- ubuntu2204
Expand Down
4 changes: 0 additions & 4 deletions cookbooks/aws-parallelcluster-awsbatch/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@
chef_version '>= 18'
version '3.10.0'

supports 'amazon', '>= 2.0'
supports 'centos', '>= 7.0'
supports 'ubuntu', '>= 20.04'

depends 'apt', '~> 7.5.22'
depends 'iptables', '~> 8.0.0'
depends 'nfs', '~> 5.1.2'
Expand Down
5 changes: 0 additions & 5 deletions cookbooks/aws-parallelcluster-computefleet/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,4 @@
chef_version '>= 18'
version '3.10.0'

supports 'amazon', '= 2.0'
supports 'centos', '= 7.0'
supports 'ubuntu', '>= 20.04'
supports 'redhat', '= 8.7'

depends 'aws-parallelcluster-shared', '~> 3.10.0'
5 changes: 0 additions & 5 deletions cookbooks/aws-parallelcluster-entrypoints/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@
chef_version '>= 18'
version '3.10.0'

supports 'amazon', '= 2.0'
supports 'centos', '= 7.0'
supports 'ubuntu', '>= 20.04'
supports 'redhat', '= 8.7'

depends 'aws-parallelcluster-shared', '~> 3.10.0'
depends 'aws-parallelcluster-platform', '~> 3.10.0'
depends 'aws-parallelcluster-environment', '~> 3.10.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,16 +113,6 @@ suites:
verifier:
controls:
- tag:install_cfnbootstrap_virtualenv_created
- name: cfnconfig_mixed
gmarciani marked this conversation as resolved.
Show resolved Hide resolved
run_list:
- recipe[aws-parallelcluster-tests::setup]
- recipe[aws-parallelcluster-environment::cfnconfig_mixed]
verifier:
controls:
- /tag:install_cfnconfig/
attributes:
dependencies:
- recipe:aws-parallelcluster-platform::directories
- name: isolated
run_list:
- recipe[aws-parallelcluster-tests::setup]
Expand Down
5 changes: 0 additions & 5 deletions cookbooks/aws-parallelcluster-environment/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@
chef_version '>= 18'
version '3.10.0'

supports 'amazon', '= 2.0'
supports 'centos', '= 7.0'
supports 'ubuntu', '>= 20.04'
supports 'redhat', '= 8.7'

depends 'line', '~> 4.5.13'
depends 'nfs', '~> 5.1.2'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and
# limitations under the License.

return if on_docker?
# amazon-ec2-net-utils is pre-installed in AL2023 and handles multi-nics instances properly
return if on_docker? || platform?('amazon') && node['platform_version'].to_i == 2023

def network_card_index(mac, token)
uri = URI("http://169.254.169.254/latest/meta-data/network/interfaces/macs/#{mac}/network-card")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :cloudwatch, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_cloudwatch_common'
use 'partial/_cloudwatch_install_package_rhel'

action :cloudwatch_prerequisite do
package "gnupg2-full" do
options '--allowerasing'
retries 3
retry_delay 5
end
# on alinux2023, install and enable ryslog: https://repost.aws/knowledge-center/ec2-linux-al2023-find-log-files
package "rsyslog" do
retries 3
retry_delay 5
end
service 'rsyslog' do
supports restart: true
action %i(enable start)
retries 5
retry_delay 10
end unless on_docker?
end

action_class do
def platform_url_component
'amazon_linux'
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,17 @@
unified_mode true
default_action :setup

action :cloudwatch_prerequisite do
# Do nothing
end

action :setup do
directory node['cluster']['sources_dir'] do
recursive true
end

action_cloudwatch_prerequisite

public_key_local_path = "#{node['cluster']['sources_dir']}/amazon-cloudwatch-agent.gpg"
remote_file public_key_local_path do
source 'https://s3.amazonaws.com/amazoncloudwatch-agent/assets/amazon-cloudwatch-agent.gpg'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# frozen_string_literal: true

#
# Copyright:: 2024 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.
provides :ec2_udev_rules, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

unified_mode true
use 'partial/_common_udev_configuration'

default_action :setup

action :setup do
action_create_common_udev_files
action_start_ec2blk
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :efa, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end
unified_mode true
default_action :setup

use 'partial/_common'

action_class do
def conflicting_packages
%w(openmpi-devel openmpi)
end

def prerequisites
%w(environment-modules libibverbs-utils librdmacm-utils rdma-core-devel)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :efs, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_get_package_version_rpm'
use 'partial/_common'
use 'partial/_mount_umount'

action :install_utils do
package_name = "amazon-efs-utils"

# Do not install efs-utils if a same or newer version is already installed.
return if already_installed?(package_name, new_resource.efs_utils_version)

# On Amazon Linux 2, amazon-efs-utils and stunnel are installed from OS repo.
package package_name do
retries 3
retry_delay 5
end
action_increase_poll_interval
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :ephemeral_drives, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_ephemeral_drives_common.rb'

action_class do
def network_target
'network.target'
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# frozen_string_literal: true

#
# Copyright:: 2024 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.

provides :lustre, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end
unified_mode true

use 'partial/_mount_unmount'

default_action :setup

action :setup do
package 'lustre-client' do
retries 3
retry_delay 5
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :network_service, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_network_service'

def network_service_name
'systemd-resolved'
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# frozen_string_literal: true

#
# Copyright:: 2024 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.

provides :nfs, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end
unified_mode true

use 'partial/_install_nfs4_and_disable'
use 'partial/_configure'

default_action :setup

action :setup do
action_install_nfs4
action_disable_start_at_boot
end

action_class do
def override_server_template
edit_resource(:template, node['nfs']['config']['server_template']) do
cookbook 'nfs'
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
provides :raid, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_raid_common'

action_class do
def raid_superblock_version
'1.2'
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# frozen_string_literal: true

# Copyright:: 2024 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.

provides :system_authentication, platform: 'amazon' do |node|
node['platform_version'].to_i == 2023
end

use 'partial/_system_authentication_common'
use 'partial/_system_authentication_alinux_centos'

action_class do
def required_packages
%w(sssd sssd-tools sssd-ldap authconfig)
end
end
Loading
Loading