-
Notifications
You must be signed in to change notification settings - Fork 109
[Develop] Support for RHEL9 and Rocky9 #2617
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
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #2617 +/- ##
===========================================
+ Coverage 76.37% 76.48% +0.10%
===========================================
Files 22 22
Lines 2248 2220 -28
===========================================
- Hits 1717 1698 -19
+ Misses 531 522 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
39f917f to
efdc0fc
Compare
59e0a5b to
d0e1afd
Compare
| supports restart: true | ||
| action %i(enable start) | ||
| execute "Refresh UdevAdmin" do | ||
| command "udevadm trigger --action=change --subsystem-match=block" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May you please add a brief comment about why this is required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not 100% sure that this is required. This was done in the old code. Therefore I kept here to stay on the safe side
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's validate in a follow up activity if it is required or not. Better to not have not required steps
cookbooks/aws-parallelcluster-environment/spec/unit/recipes/imds_spec.rb
Show resolved
Hide resolved
| @@ -0,0 +1,10 @@ | |||
| [Unit] | |||
| Description=Setup ephemeral drives service | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This service is not about setting up ephemeral drivers, but about configuring iptables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
cookbooks/aws-parallelcluster-platform/resources/arm_pl/arm_pl_ubuntu22.rb
Show resolved
Hide resolved
cookbooks/aws-parallelcluster-platform/resources/c_states/c_states_redhat9.rb
Outdated
Show resolved
Hide resolved
cookbooks/aws-parallelcluster-platform/resources/install_packages/install_packages_redhat8.rb
Outdated
Show resolved
Hide resolved
cookbooks/aws-parallelcluster-platform/spec/unit/resources/nvidia_repo_spec.rb
Show resolved
Hide resolved
7e85480 to
dd1e9bd
Compare
aae9683 to
c9106e2
Compare
The initial tedious changes to add RHEL9 and Rock9 to Chef resources and kitchen tests Signed-off-by: Hanwen <hanwenli@amazon.com>
Remove `pyparted`, `redhat-lsb`, `python2`, `python2-pip` installations because they are not available in RHEL9 and Rocky9. Add perl, dbus-devel installation because they were part of `redhat-lsb` and are dependencies of Slurm We are doing the same on RHEL8, RHEL9, Rocky8, Rocky9 to keep consistencies across OSes. Reference: pyparted: https://github.com/dcantrell/pyparted redhat-lsb: https://access.redhat.com/solutions/6973382 perl: https://www.perl.org dbus-devel: https://packages.fedoraproject.org/pkgs/dbus/dbus-devel/ Signed-off-by: Hanwen <hanwenli@amazon.com>
ParallelCluster uses udev to trigger a Python script upon EBS attachment. Specifically, when it detects an attach from a device (e.g. /dev/xvdb), ParallelCluster udev rule creates a symbolic link from `/dev/disk/by-ebs-volumeid` (e.g. `/dev/disk/by-ebs-volumeid/vol-123456`) to the device name (/dev/xvdb). Then, our cookbook checks the device under `/dev/disk/by-ebs-volumeid` is ready. Prior to this commit, ParallelCluster udev script used boto3 calls to retrieve volume id from device name. Seems starting from RHEL 9, the scripts triggered by udev no long have network access for security reasons. Therefore, this commit removes the boto3 calls and get the volume id from `/dev/disk/by-ebs-volumeid/parallelcluster_dev_id_mapping`, which is a file ParallelCluster cookbook writes to. Although the logic could be further simplified by not using the udev rule at all, this commit takes the first step of improvement without spending too much time to reach the absolute simplicity. Moreover, prior to this commit, a service was created to trigger `udevadm trigger`. `udevadm trigger` is used to refresh udev system after udev rules changes. It is unnecessary to have a service trigger the command. Therefore, this commit deletes the service and triggers the command once after the rules changes. Signed-off-by: Hanwen <hanwenli@amazon.com>
The Munge installation is already based on systemd. The SysV Init logic is no longer used. We forgot to remove this logic when we dropped support for Amazon Linux 1 When running kitchen tests on Docker, munge on some OSes still uses SysV. Therefore, we skip some `service` resource execution. We take the kitchen tests on EC2 instance as the golden standard. This is consistent with what we've been doing (i.e. We have been skip some `service` resource for other packages) Signed-off-by: Hanwen <hanwenli@amazon.com>
18620fc to
c797214
Compare
`test_create_imds_secured` integration test has been passed Signed-off-by: Hanwen <hanwenli@amazon.com>
Different GCC versions are used for different operating systems. For existing operating systems, we keep the version unchanged (9.3 for alinux2, centos7, ubuntu20, rhel8, rocky8; 11.3 for ubuntu22). For newly added OSes (RHEL9 and Rocky9), we use 11.3 because 9.3 is not available. Signed-off-by: Hanwen <hanwenli@amazon.com>
For other OSes, this commit keeps the old approach of changing grub files. This is done because the old approach does not take effect on RHEL9 and Rocky9. The `grubby` command does not take effect on some of the old OSes. Signed-off-by: Hanwen <hanwenli@amazon.com>
1. /etc/init.d is no long used. Therefore, the mocks are removed 2. Install Python. RHEL9 docker does not come with Python. We ere just lucky that previous docker had Python installed Signed-off-by: Hanwen <hanwenli@amazon.com>
c797214 to
6c4b1e7
Compare
The bug was introduced in aws#2617 Signed-off-by: Hanwen <hanwenli@amazon.com>
The bug was introduced in #2617 Signed-off-by: Hanwen <hanwenli@amazon.com>
Description of changes
Tests
References
Checklist
developadd the branch name as prefix in the PR title (e.g.[release-3.6]).Please review the guidelines for contributing and Pull Request Instructions.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.