-
Notifications
You must be signed in to change notification settings - Fork 152
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
Add el9toel10 actor to handle symlink -> directory with ruby IRB. #1304
Conversation
Thank you for contributing to the Leapp project!Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergeable.
Packit will automatically schedule regression tests for this PR's build and latest upstream leapp build.
Note that first time contributors cannot run tests automatically - they need to be started by a reviewer. It is possible to schedule specific on-demand tests as well. Currently 2 test sets are supported,
See other labels for particular jobs defined in the Please open ticket in case you experience technical problem with the CI. (RH internal only) Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please contact leapp-infra. |
review please @oamg/developers |
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.
@jackorp checking the solution, wouldn't be better to generalize it and put it to the common repo instead of have two almost same solution for 8 -> 9 & 9 -> 10?
/packit copr-build |
That depends, are there other packages that stand to gain from such work? Is that a refactor you'd consider worthwhile endeavor? From my view of a packager who fixes the upgrade for just this problematic part of the package, I prefer simpler copy paste for these 2 upgrade cases, but I don't know if this is now more common problem or still applies only to a package or few. Ruby is back in line with Fedora with this and hopefully that's the end of the broken symlink story for ruby WRT LEAPP... I am also going off of the comment on bugzilla regarding not needing generic solution https://bugzilla.redhat.com/show_bug.cgi?id=2030627#c13 If the world around changed in the time being making that comment not accurate then we can figure something out. |
I think that you are speaking about something different than me. The comment in BZ is not related anyhow to what I am suggesting :) I am speaking only about ruby all the time. I am not speaking about any other packages. Let's sync via call. |
Discussed on the call. We will keep the actors separate, as the reason for both IPUs is different for this handling, but docstring should be updated in both actors to make it clear. |
The `/usr/share/ruby/irb` path is a symlink in RHEL 9, but a regular directory in RHEL 10. This puts us back in line with RHEL 8 and Fedora in terms of the path's file type regarding the rubygem-irb package. Since this was not handled on RPM level, handle it as actor again. This was copied and adjusted from same-named el8->el9 actor. We do not care about the validity or target of the symlink, we just remove it to allow DNF create the correct directory on upgrade. Without this workaround, the upgrade will fail in transaction test with reports of file conflicts on the directory path. Users should not expect to ever retain anything in this directory.
In RHEL 10, the directory is a regular directory again. The 2 actors are separate over creating a common solution for both. Expand in the docstring on the reason for the el8->el9 actor to differentiate them apart.
@pirat89 updated the docstrings.I did the docstring update for el8->el9 in separate commit as I don't see it as something hide-able in the el9toel10 commit. And squashing is easier than splitting imo... |
/packit copr-build |
@jackorp merged! thanks for the contribution!! |
## Announce This is the last upstream release covering IPU 7 -> 8. The system_upgrade_el7toel8 repository is going to be removed from further releases. Other artifacts related to IPU 7 -> 8 are going to be removed too. In the same time it's the last release compatible with Python 2.7. Since now we are going to develope and test the code only for Python 3.6 and newer. ## Packaging - [IPU 9 -> 10] Require libdb-utils on RHEL 9 (oamg#1289) - Require leapp-framework 6.0+ (oamg#1142) - Update leapp-deps package to satisfy leapp_framework_deps 6 (oamg#1142) ## Upgrade handling ### Fixes - Activate LVM VGs with `--sysinit` option to correct the use in the upgrade initramfs (oamg#1329) - Cap max size of the sparse files to 1TiB when storage with large amount of space (oamg#1294) - Fix IPU being blocked by resource limitations (oamg#1256) - Fix pes events scanner crashing when there are duplicate packages in the received instructions (oamg#1296) - Fix pes events scanner not respecting user’s transaction configuration (oamg#1296) - Fix storage scanner crashing when command outputs contain colon character (oamg#1258) - Fix the report when handling broken parsing of kernel cmdline (oamg#1290) - Generate proper error message instead ModelViolationError when parsing invalid repository definition (oamg#1266) - Handle default kernel cmdline when multiple boot entries for the default kernel are defined (oamg#1302) - Load all available obsoleted keys (oamg#1286) - Prevent a possible crash with LiveMode when adding the upgrade boot entry on LVM systems (oamg#1313) - Prevent failure for upgrade paths when obsoleted keys are not defined (oamg#1285) - [IPU 7 -> 8] Ignore invalid firewalld configuration (oamg#1341) - [IPU 7 -> 8] scangrubdevpartitionlayout: Skip warning msgs from fdisk (oamg#1306) - [IPU 8 -> 9] Fix problems with the bootloader when upgrading to RHEL 9.6 on ARM (oamg#1275, oamg#1331, oamg#1339) - [IPU 9 -> 10] Fix output of commands executed inside systemd-nspawn containers (oamg#1323) - [IPU 9 -> 10] Fix remediation instructions for deprecated NM configuration (oamg#1330) - [IPU 9 -> 10] Obsolete RHEL9 GPG key signed with SHA1 (oamg#1325) ### Enhancements - Add RHEL 9.6 and 10.0 product certificates (oamg#1287, oamg#1309) - Introduce new IPU paths 8.10 -> 9.6 and 9.6 -> 10.0 (oamg#1309) - Add possibility to use net.naming-scheme (for IPU 8 -> 9 only for now) (oamg#1215, oamg#1312) - Drop upgrade paths related to RHEL 8.8, 9.2, and 9.5 (oamg#1309, oamg#1344) - Enable upgrade for EL8+ systems with LUKS bound to Clevis with TPM 2.0 token (oamg#1200) - Enable upgrade with RHUI on Alibaba cloud for ARM machines (oamg#1277) - Introduce a possibility to configure leapp actors covering RHUI on clouds (oamg#1142) - Minor improvements in preupgrade reports (oamg#1315, oamg#1326, oamg#1342) - Raise an inhibitor if unsupported target version supplied instead of error (oamg#1328) - Skip checking of (PKI) `directory-hash` dir to speedup the upgrade process and clean logs (oamg#1297) - Update leapp upgrade data files (oamg#1307) - [IPU 9 -> 10] Cover upgrades for MySQL and PostgreSQL databases (oamg#1316, oamg#1343) - [IPU 9 -> 10] Detect OpenSSL engines configured in /etc/pki/tls/openssl.cnf (oamg#1338) - [IPU 9 -> 10] Detect XFS file systems with problematic parameters (oamg#1318) - [IPU 9 -> 10] Detect deprecated network-scripts (ifcfg) files (oamg#1332, oamg#1347) - [IPU 9 -> 10] Detect whether subscribed systems are using SCA (oamg#1333) - [IPU 9 -> 10] Handle correctly switch of symlink to directory when upgrading Ruby IRB (oamg#1304) - [IPU 9 -> 10] Inform user about Libdb removal if present (oamg#1319) - [IPU 9 -> 10] Inhibit the upgrade for Intel CPUs with microarchitecture x86_64-v2 (oamg#1196) - [IPU 9 -> 10] Move crypto-policies related actors to the system_upgrade_common repository to apply it for IPU 9 -> 10 as well - [IPU 9 -> 10] Update checks for SAP HANA (oamg#1346) - [IPU 9 -> 10] Update pam_userdb database backend for RHEL10 (oamg#1289)
## Announce This is the last upstream release covering IPU 7 -> 8. The system_upgrade_el7toel8 repository is going to be removed from further releases. Other artifacts related to IPU 7 -> 8 are going to be removed too. In the same time it's the last release compatible with Python 2.7. Since now we are going to develope and test the code only for Python 3.6 and newer. ## Packaging - [IPU 9 -> 10] Require libdb-utils on RHEL 9 (oamg#1289) - Require leapp-framework 6.0+ (oamg#1142) - Update leapp-deps package to satisfy leapp_framework_deps 6 (oamg#1142) ## Upgrade handling ### Fixes - Activate LVM VGs with `--sysinit` option to correct the use in the upgrade initramfs (oamg#1329) - Cap max size of the sparse files to 1TiB when storage with large amount of space (oamg#1294) - Fix IPU being blocked by resource limitations (oamg#1256) - Fix pes events scanner crashing when there are duplicate packages in the received instructions (oamg#1296) - Fix pes events scanner not respecting user’s transaction configuration (oamg#1296) - Fix storage scanner crashing when command outputs contain colon character (oamg#1258) - Fix the report when handling broken parsing of kernel cmdline (oamg#1290) - Generate proper error message instead ModelViolationError when parsing invalid repository definition (oamg#1266) - Handle default kernel cmdline when multiple boot entries for the default kernel are defined (oamg#1302) - Load all available obsoleted keys (oamg#1286) - Prevent a possible crash with LiveMode when adding the upgrade boot entry on LVM systems (oamg#1313) - Prevent failure for upgrade paths when obsoleted keys are not defined (oamg#1285) - [IPU 7 -> 8] Ignore invalid firewalld configuration (oamg#1341) - [IPU 7 -> 8] scangrubdevpartitionlayout: Skip warning msgs from fdisk (oamg#1306) - [IPU 8 -> 9] Fix problems with the bootloader when upgrading to RHEL 9.6 on ARM (oamg#1275, oamg#1331, oamg#1339) - [IPU 9 -> 10] Fix output of commands executed inside systemd-nspawn containers (oamg#1323) - [IPU 9 -> 10] Fix remediation instructions for deprecated NM configuration (oamg#1330) - [IPU 9 -> 10] Obsolete RHEL9 GPG key signed with SHA1 (oamg#1325) ### Enhancements - Add RHEL 9.6 and 10.0 product certificates (oamg#1287, oamg#1309) - Introduce new IPU paths 8.10 -> 9.6 and 9.6 -> 10.0 (oamg#1309) - Add possibility to use net.naming-scheme (for IPU 8 -> 9 only for now) (oamg#1215, oamg#1312) - Drop upgrade paths related to RHEL 8.8, 9.2, and 9.5 (oamg#1309, oamg#1344) - Enable upgrade for EL8+ systems with LUKS bound to Clevis with TPM 2.0 token (oamg#1200) - Enable upgrade with RHUI on Alibaba cloud for ARM machines (oamg#1277) - Introduce a possibility to configure leapp actors covering RHUI on clouds (oamg#1142) - Minor improvements in preupgrade reports (oamg#1315, oamg#1326, oamg#1342) - Raise an inhibitor if unsupported target version supplied instead of error (oamg#1328) - Skip checking of (PKI) `directory-hash` dir to speedup the upgrade process and clean logs (oamg#1297) - Update leapp upgrade data files (oamg#1307) - [IPU 9 -> 10] Cover upgrades for MySQL and PostgreSQL databases (oamg#1316, oamg#1343) - [IPU 9 -> 10] Detect OpenSSL engines configured in /etc/pki/tls/openssl.cnf (oamg#1338) - [IPU 9 -> 10] Detect XFS file systems with problematic parameters (oamg#1318) - [IPU 9 -> 10] Detect deprecated network-scripts (ifcfg) files (oamg#1332, oamg#1347) - [IPU 9 -> 10] Detect whether subscribed systems are using SCA (oamg#1333) - [IPU 9 -> 10] Handle correctly switch of symlink to directory when upgrading Ruby IRB (oamg#1304) - [IPU 9 -> 10] Inform user about Libdb removal if present (oamg#1319) - [IPU 9 -> 10] Inhibit the upgrade for Intel CPUs with microarchitecture x86_64-v2 (oamg#1196) - [IPU 9 -> 10] Move crypto-policies related actors to the system_upgrade_common repository to apply it for IPU 9 -> 10 as well - [IPU 9 -> 10] Update checks for SAP HANA (oamg#1346) - [IPU 9 -> 10] Update pam_userdb database backend for RHEL10 (oamg#1289) ## Additional changes interesting for devels - Introducing new upstream documentation focused on the leapp-repository project at https://leapp-repository.readthedocs.io/introduce-docs/. The documentation is still under reconstruction at this time, however we consider it a big step. All PRs impacting stuff that should be documented will be required to do so before they could be merged.
## Announce This is the last upstream release covering IPU 7 -> 8. The system_upgrade_el7toel8 repository is going to be removed from further releases. Other artifacts related to IPU 7 -> 8 are going to be removed too. In the same time it's the last release compatible with Python 2.7. Since now we are going to develope and test the code only for Python 3.6 and newer. ## Packaging - [IPU 9 -> 10] Require libdb-utils on RHEL 9 (oamg#1289) - Require leapp-framework 6.0+ (oamg#1142) - Update leapp-deps package to satisfy leapp_framework_deps 6 (oamg#1142) ## Upgrade handling ### Fixes - Activate LVM VGs with `--sysinit` option to correct the use in the upgrade initramfs (oamg#1329) - Cap max size of the sparse files to 1TiB when storage with large amount of space (oamg#1294) - Fix IPU being blocked by resource limitations (oamg#1256) - Fix pes events scanner crashing when there are duplicate packages in the received instructions (oamg#1296) - Fix pes events scanner not respecting user’s transaction configuration (oamg#1296) - Fix storage scanner crashing when command outputs contain colon character (oamg#1258) - Fix the report when handling broken parsing of kernel cmdline (oamg#1290) - Generate proper error message instead ModelViolationError when parsing invalid repository definition (oamg#1266) - Handle default kernel cmdline when multiple boot entries for the default kernel are defined (oamg#1302) - Load all available obsoleted keys (oamg#1286) - Prevent a possible crash with LiveMode when adding the upgrade boot entry on LVM systems (oamg#1313) - Prevent failure for upgrade paths when obsoleted keys are not defined (oamg#1285) - [IPU 7 -> 8] Ignore invalid firewalld configuration (oamg#1341) - [IPU 7 -> 8] scangrubdevpartitionlayout: Skip warning msgs from fdisk (oamg#1306) - [IPU 8 -> 9] Fix problems with the bootloader when upgrading to RHEL 9.6 on ARM (oamg#1275, oamg#1331, oamg#1339) - [IPU 9 -> 10] Fix output of commands executed inside systemd-nspawn containers (oamg#1323) - [IPU 9 -> 10] Fix remediation instructions for deprecated NM configuration (oamg#1330) - [IPU 9 -> 10] Obsolete RHEL9 GPG key signed with SHA1 (oamg#1325) ### Enhancements - Add RHEL 9.6 and 10.0 product certificates (oamg#1287, oamg#1309) - Introduce new IPU paths 8.10 -> 9.6 and 9.6 -> 10.0 (oamg#1309) - Add possibility to use net.naming-scheme (for IPU 8 -> 9 only for now) (oamg#1215, oamg#1312) - Drop upgrade paths related to RHEL 8.8, 9.2, and 9.5 (oamg#1309, oamg#1344) - Enable upgrade for EL8+ systems with LUKS bound to Clevis with TPM 2.0 token (oamg#1200) - Enable upgrade with RHUI on Alibaba cloud for ARM machines (oamg#1277) - Introduce a possibility to configure leapp actors covering RHUI on clouds (oamg#1142) - Minor improvements in preupgrade reports (oamg#1315, oamg#1326, oamg#1342) - Raise an inhibitor if unsupported target version supplied instead of error (oamg#1328) - Skip checking of (PKI) `directory-hash` dir to speedup the upgrade process and clean logs (oamg#1297) - Update leapp upgrade data files (oamg#1307) - [IPU 9 -> 10] Cover upgrades for MySQL and PostgreSQL databases (oamg#1316, oamg#1343) - [IPU 9 -> 10] Detect OpenSSL engines configured in /etc/pki/tls/openssl.cnf (oamg#1338) - [IPU 9 -> 10] Detect XFS file systems with problematic parameters (oamg#1318) - [IPU 9 -> 10] Detect deprecated network-scripts (ifcfg) files (oamg#1332, oamg#1347) - [IPU 9 -> 10] Detect whether subscribed systems are using SCA (oamg#1333) - [IPU 9 -> 10] Handle correctly switch of symlink to directory when upgrading Ruby IRB (oamg#1304) - [IPU 9 -> 10] Inform user about Libdb removal if present (oamg#1319) - [IPU 9 -> 10] Inhibit the upgrade for Intel CPUs with microarchitecture x86_64-v2 (oamg#1196) - [IPU 9 -> 10] Move crypto-policies related actors to the system_upgrade_common repository to apply it for IPU 9 -> 10 as well - [IPU 9 -> 10] Update checks for SAP HANA (oamg#1346) - [IPU 9 -> 10] Update pam_userdb database backend for RHEL10 (oamg#1289) ## Additional changes interesting for devels - Introducing new upstream documentation focused on the leapp-repository project at https://leapp-repository.readthedocs.io/introduce-docs/. The documentation is still under reconstruction at this time, however we consider it a big step. All PRs impacting stuff that should be documented will be required to do so before they could be merged.
## Announce This is the last upstream release covering IPU 7 -> 8. The system_upgrade_el7toel8 repository is going to be removed from further releases. Other artifacts related to IPU 7 -> 8 are going to be removed too. In the same time it's the last release compatible with Python 2.7. Since now we are going to develope and test the code only for Python 3.6 and newer. ## Packaging - [IPU 9 -> 10] Require libdb-utils on RHEL 9 (#1289) - Require leapp-framework 6.0+ (#1142) - Update leapp-deps package to satisfy leapp_framework_deps 6 (#1142) ## Upgrade handling ### Fixes - Activate LVM VGs with `--sysinit` option to correct the use in the upgrade initramfs (#1329) - Cap max size of the sparse files to 1TiB when storage with large amount of space (#1294) - Fix IPU being blocked by resource limitations (#1256) - Fix pes events scanner crashing when there are duplicate packages in the received instructions (#1296) - Fix pes events scanner not respecting user’s transaction configuration (#1296) - Fix storage scanner crashing when command outputs contain colon character (#1258) - Fix the report when handling broken parsing of kernel cmdline (#1290) - Generate proper error message instead ModelViolationError when parsing invalid repository definition (#1266) - Handle default kernel cmdline when multiple boot entries for the default kernel are defined (#1302) - Load all available obsoleted keys (#1286) - Prevent a possible crash with LiveMode when adding the upgrade boot entry on LVM systems (#1313) - Prevent failure for upgrade paths when obsoleted keys are not defined (#1285) - [IPU 7 -> 8] Ignore invalid firewalld configuration (#1341) - [IPU 7 -> 8] scangrubdevpartitionlayout: Skip warning msgs from fdisk (#1306) - [IPU 8 -> 9] Fix problems with the bootloader when upgrading to RHEL 9.6 on ARM (#1275, #1331, #1339) - [IPU 9 -> 10] Fix output of commands executed inside systemd-nspawn containers (#1323) - [IPU 9 -> 10] Fix remediation instructions for deprecated NM configuration (#1330) - [IPU 9 -> 10] Obsolete RHEL9 GPG key signed with SHA1 (#1325) ### Enhancements - Add RHEL 9.6 and 10.0 product certificates (#1287, #1309) - Introduce new IPU paths 8.10 -> 9.6 and 9.6 -> 10.0 (#1309) - Add possibility to use net.naming-scheme (for IPU 8 -> 9 only for now) (#1215, #1312) - Drop upgrade paths related to RHEL 8.8, 9.2, and 9.5 (#1309, #1344) - Enable upgrade for EL8+ systems with LUKS bound to Clevis with TPM 2.0 token (#1200) - Enable upgrade with RHUI on Alibaba cloud for ARM machines (#1277) - Introduce a possibility to configure leapp actors covering RHUI on clouds (#1142) - Minor improvements in preupgrade reports (#1315, #1326, #1342) - Raise an inhibitor if unsupported target version supplied instead of error (#1328) - Skip checking of (PKI) `directory-hash` dir to speedup the upgrade process and clean logs (#1297) - Update leapp upgrade data files (#1307) - [IPU 9 -> 10] Cover upgrades for MySQL and PostgreSQL databases (#1316, #1343) - [IPU 9 -> 10] Detect OpenSSL engines configured in /etc/pki/tls/openssl.cnf (#1338) - [IPU 9 -> 10] Detect XFS file systems with problematic parameters (#1318) - [IPU 9 -> 10] Detect deprecated network-scripts (ifcfg) files (#1332, #1347) - [IPU 9 -> 10] Detect whether subscribed systems are using SCA (#1333) - [IPU 9 -> 10] Handle correctly switch of symlink to directory when upgrading Ruby IRB (#1304) - [IPU 9 -> 10] Inform user about Libdb removal if present (#1319) - [IPU 9 -> 10] Inhibit the upgrade for Intel CPUs with microarchitecture x86_64-v2 (#1196) - [IPU 9 -> 10] Move crypto-policies related actors to the system_upgrade_common repository to apply it for IPU 9 -> 10 as well - [IPU 9 -> 10] Update checks for SAP HANA (#1346) - [IPU 9 -> 10] Update pam_userdb database backend for RHEL10 (#1289) ## Additional changes interesting for devels - Introducing new upstream documentation focused on the leapp-repository project at https://leapp-repository.readthedocs.io/introduce-docs/. The documentation is still under reconstruction at this time, however we consider it a big step. All PRs impacting stuff that should be documented will be required to do so before they could be merged.
The
/usr/share/ruby/irb
path is a symlink in RHEL 9, but a regular directory in RHEL 10.Simply remove the symlink to then let the RPM mechanism create the correct directory on update.
Users should not expect to ever retain anything in this directory.
Fix for OAMG-12187 .
instead of
readlink
present in el8->el9 actor, I just usedtest -L
since here we only care if there is any symlink or not, contents or validity of where it is pointing is not important for the upgrade.I left the rest as-is from a copy paste of the actor, I think naming and such still pretty much fits.