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

Avoid to fail when building RHEL8.7 AMI with kernel not supported by Lustre #2441

Merged
merged 2 commits into from
Aug 31, 2023

Conversation

enrico-usai
Copy link
Contributor

@enrico-usai enrico-usai commented Aug 30, 2023

Description of changes

The latest RHEL8.7 kernel 4.18.0-425.19.2.el8_7 introduced a kABI regression,
causing Lustre to re-release the client compiled for this latest version.

This change means that this same client will not modprobe for kernel 4.18.0-425.13.1.el8_7.

With this patch we're skipping Lustre installation and printing a warning in the log,
like we did for 4.18.0-425.3.1.el8 that has a similar issue.

Tests

EC2:

# RHEL-8.7.0_HVM-20230330-x86_64-56-Hourly2-GP2 in eu-west-1
# with kernel 4.18.0-425.13.1.el8_7
export KITCHEN_RHEL8_AMI=ami-0fa2f7b35eeb82b7a
bash kitchen.ec2.sh environment-install test lustre-rhel8

Before the patch: this test was failing on converge phase,
After the patch: converge is passing and printing the following WARN message:

  WARN: FSx for Lustre is not supported in kernel version 4.18.0-425.13.1.el8_7.x86_64 of RHEL 8.7, please update the kernel version

Docker:

bash kitchen.docker.sh environment-install test lustre-rhel8

This test passes because in docker we have RHEL 8.8 with a fake value for kernel version and we're skipping modprobe command.
Use 477 version in the kernel release test variable to match 8.8 kernel version available on docker.

We're overriding the kernel_release variable on docker because it does not have the same format of EC2.
Adding the "fake-value" word in the kernel version simplifies debugging on docker.

References

@codecov
Copy link

codecov bot commented Aug 30, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (878e6d0) 70.34% compared to head (3abb748) 70.34%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #2441   +/-   ##
========================================
  Coverage    70.34%   70.34%           
========================================
  Files           13       13           
  Lines         1851     1851           
========================================
  Hits          1302     1302           
  Misses         549      549           
Flag Coverage Δ
unittests 70.34% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@enrico-usai enrico-usai reopened this Aug 31, 2023
@enrico-usai enrico-usai force-pushed the wip/rhel8-lustre branch 3 times, most recently from 8df6f60 to 8b66853 Compare August 31, 2023 09:58
…Lustre

The latest RHEL8.7 kernel 4.18.0-425.19.2.el8_7 introduced a kABI regression,
causing Lustre to re-release the client compiled for this latest version.

This change means that this same client will not modprobe for kernel 4.18.0-425.13.1.el8_7.

With this patch we're skipping Lustre installation and printing a warning in the log,
like we did for 4.18.0-425.3.1.el8 that has a similar issue.

### Tests

EC2:
```
# RHEL-8.7.0_HVM-20230330-x86_64-56-Hourly2-GP2 in eu-west-1
# with kernel 4.18.0-425.13.1.el8_7
export KITCHEN_RHEL8_AMI=ami-0fa2f7b35eeb82b7a
bash kitchen.ec2.sh environment-install test lustre-rhel8
```
Before the patch: this test was failing on converge phase,
After the patch: converge is passing and printing the following WARN message:
```
  WARN: FSx for Lustre is not supported in kernel version 4.18.0-425.13.1.el8_7.x86_64 of RHEL 8.7, please update the kernel version
```

Docker:
```
bash kitchen.docker.sh environment-install test lustre-rhel8
```
This test passes because in docker we have RHEL 8.8 with a fake value for kernel version and we're skipping modprobe command.
Use 477 version in the kernel release test variable to match 8.8 kernel version available on docker.

### References
* 4.18.0-425.3.1 issue: https://access.redhat.com/solutions/6985596
* 4.18.0-425.19.2 issue: openzfs/zfs#14724

Signed-off-by: Enrico Usai <[email protected]>
We're overriding the kernel_release variable on docker because
it does not have the same format of EC2.

Adding the "fake-value" word in the kernel version simplifies debugging on docker.

Signed-off-by: Enrico Usai <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants