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

add detection for custom libraries registered by ld.so.conf #1118

Merged
merged 1 commit into from
Nov 16, 2023

Conversation

PeterMocary
Copy link
Member

@PeterMocary PeterMocary commented Aug 22, 2023

The in-place upgrade doesn't support custom libraries linked using the ld.so configuration. The new actor introduced in this PR detects if the configuration was tempered with and creates high severity report in such case. In order to detect customization in the ld.so configuration, it needs to check the main /etc/ld.so.conf and the /etc/ld.so.conf.d/.

Firstly the /etc/ld.so.conf where one can include other configuration files (by default /etc/ld.so.conf.d/*.conf is included for packages to copy their configuration in) and specify other directories for third parry libraries as well. The actor expects only includes in this file since the default configuration seems to be using the /etc/ld.so.conf.d directory to extend the configuration rather then adding libraries into the main config (based on the default configuration on rhel7 and rhel8).

Secondly, the included configs need configs need to be evaluated. The actor flags a config file as custom whenever it doesn't belong to a package or when the package is not Red Hat signed. This way only configuration that is supported by Red Hat will not be detected as custom.

Manually tested on internal Vagrant box rhel7 and rhel8. I left some of the debug logs in there for easy testing, please just mark those that shouldn't stay in your review and I'll remove them.

Jira ref.: OAMG-4460
BZ ref.: BZ-1927700 / RHEL-11958

@github-actions
Copy link

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.
If you want to request a review or rebuild a package in copr, you can use following commands as a comment:

  • review please @oamg/developers to notify leapp developers of the review request
  • /packit copr-build to submit a public copr build using packit

Packit will automatically schedule regression tests for this PR's build and latest upstream leapp build. If you need a different version of leapp from PR#42, use /packit test oamg/leapp#42

To launch regression testing public members of oamg organization can leave the following comment:

  • /rerun to schedule basic regression tests using this pr build and latest upstream leapp build as artifacts
  • /rerun 42 to schedule basic regression tests using this pr build and leapp*PR42* as artifacts
  • /rerun-sst to schedule sst tests using this pr build and latest upstream leapp build as artifacts
  • /rerun-sst 42 to schedule sst tests using this pr build and leapp*PR42* as artifacts

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.

@PeterMocary PeterMocary force-pushed the checkldconf branch 2 times, most recently from f873640 to 4ae8996 Compare August 22, 2023 16:44
@pirat89 pirat89 added this to the 8.10/9.4 milestone Aug 29, 2023
@PeterMocary
Copy link
Member Author

The actor now creates High severity report only. The inhibitor was removed as discussed in the BZ thread.

@dkubek dkubek self-assigned this Sep 6, 2023
@dkubek dkubek self-requested a review September 6, 2023 15:35
dkubek
dkubek previously requested changes Sep 6, 2023
Copy link
Member

@dkubek dkubek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Did not find any major flaw in the code. Manually tested on a VM for both RHEL7/8. In testing I tried combinations of empty files, comments and custom paths for both /etc/ld.so.conf and custom drop-ins in /etc/ld.so.conf.d and the report is created as advertised.

@PeterMocary PeterMocary changed the title add inhibitor for custom libraries registered by ld.so.conf add detection for custom libraries registered by ld.so.conf Sep 8, 2023
Copy link
Member

@matejmatuska matejmatuska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the comments the code works as expected on RHEL8

@pirat89
Copy link
Member

pirat89 commented Oct 9, 2023

@PeterMocary fix please unit-tests and rebase (with the squash of commits)

@PeterMocary PeterMocary force-pushed the checkldconf branch 3 times, most recently from 128e7f4 to 002308d Compare October 9, 2023 22:04
@PeterMocary
Copy link
Member Author

The failing tests weren't caused by this PR, I made them green by disabling some not really important warnings (logging-not-lazy, logging-format-interpolation) and fixing the deprecated-method warning for current_logger.warn() method. Due to the fact that I decided to disable some warnings I will not squash it yet and wait for your feedback @pirat89.

@pirat89
Copy link
Member

pirat89 commented Oct 10, 2023

@PeterMocary seems good to me. switch the last commit for the linters to be the first one and keep it separated.

EDIT: by that, I commented just the changes made regarding the linter & spellchecker

Copy link
Member

@pirat89 pirat89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be tested with an installed and enabled RH SCL to see the behaviour. I am not sure in that one particular case whether such configs are tracked by installed RH RPMs.

Also The summary should be extended. Current summary does not include information why we report this to customer. what are the reasons? what could happen? etc. The title is speaking about third party libraries but in the summary I cannot see anything like that.

Also be aware of speaking about unsupported configuration files. We should rather say that these files seems to not be managed by RH products and as such they are not treated during the upgrade. The responsibility for them is on users and potentially they could impact the in-place upgrade negatively.

@pirat89 pirat89 mentioned this pull request Oct 10, 2023
Copy link
Member

@pirat89 pirat89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my previous comments. we can sync later to discuss more details.

@PeterMocary
Copy link
Member Author

PeterMocary commented Oct 30, 2023

I addressed the comments and rebased.

  • added simple detection of LD_LIBRARY_PATH as discussed offline.
  • RHSCL won't be solved in this PR (bit more information in the ticket OAMG-4460)
  • New report looks something like this:
----------------------------------------
Risk Factor: high
Title: Detected customized configuration for dynamic linker.
Summary: Custom configurations to the dynamic linker could potentially impact the upgrade in a negative way. The custom configuration includes modifications to /etc/ld.so.conf, custom or modified drop in config files in the /etc/ld.so.conf.d directory and additional entries in the LD_LIBRARY_PATH variable. These modifications configure the dynamic linker to use different libraries that might not be provided by Red Hat products. The following custom configurations were detected by leapp:
- The /etc/ld.so.conf file has unexpected contents:
    - aaa
- The following drop in config files were marked as custom:
    - /etc/ld.so.conf.d/custom_config.conf
    - /etc/ld.so.conf.d/dyninst-x86_64.conf
- The variable "LD_LIBRARY_PATH" contains unexpected dynamic linker configuration.
Remediation: [hint] Remove or revert the custom ld.so configuration and apply the changes using the ldconfig command.
Key: cc9bd972af70b7a27f66a37b11a00dcfcb73b1bc
----------------------------------------

Feel free to suggest changes if you think that this is not informative enough or if the formating is bad. Also the remediation hint might need some improvements.

Copy link
Member

@pirat89 pirat89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sorry I get to the proper review so late. I completely overlooked earlier that the actor in checksphase is interacting with the system, this needs to be split into two actors. The report looks good, just with minor change(s).

@pirat89
Copy link
Member

pirat89 commented Nov 10, 2023

@PeterMocary btw, deadline has been shifted to Thu - see my msg on slack with more details.

@PeterMocary
Copy link
Member Author

I rebased the branch and addressed the comments. The original actor was split into two actors:

  • scan_dynamic_linker_configuration - contains most of the logic and creates new model named DynamicLinkerConfiguration
  • check_dynamic_linker_configuration - checks if the configuration is custom based on the message produced by above actor and prints a report

I also added LD_PRELOAD variable to the mix, since it allows user to set some libraries as well

The new full report looks like this:

----------------------------------------
Risk Factor: high
Title: Detected customized configuration for dynamic linker.
Summary: Custom configurations to the dynamic linker could potentially impact the upgrade in a negative way. The custom configuration includes modifications to /etc/ld.so.conf, custom or modified drop in config files in the /etc/ld.so.conf.d directory and additional entries in the LD_LIBRARY_PATH or LD_PRELOAD variables. These modifications configure the dynamic linker to use different libraries that might not be provided by Red Hat products or might not be present during the whole upgrade process. The following custom configurations were detected by leapp:
- The /etc/ld.so.conf file has unexpected contents:
    - custom line 123
    - custom other line
- The following drop in config files were marked as custom:
    - /etc/ld.so.conf.d/mariadb-x86_64.conf
    - /etc/ld.so.conf.d/custom.conf
- The following variables contain unexpected dynamic linker configuration:
    - LD_LIBRARY_PATH
    - LD_PRELOAD
Remediation: [hint] Remove or revert the custom dynamic linker configurations and apply the changes using the ldconfig command. In case of possible active software collections we suggest disabling them persistently.
Key: cc9bd972af70b7a27f66a37b11a00dcfcb73b1bc
----------------------------------------

I tested it only once to generate this report on RHEL7.

@PeterMocary
Copy link
Member Author

@pirat89 @matejmatuska @dkubek When you have time please review, so I can fix possible problems before the deadline :)

@pirat89
Copy link
Member

pirat89 commented Nov 14, 2023

@PeterMocary by a quick look, i found problematic just names of config classes in models, but rest of the code seems good to me. I will get to it tomorrow (wed) to finish it. thanks for the fast changes!

@PeterMocary
Copy link
Member Author

Tests are failing on unrelated error now. Apparently, pylint decided that target_user_space_creator is too large. [C0302 too-many-lines] Too many lines in module (1047/1000) File: repos/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py, line 1, in

@pirat89 pirat89 force-pushed the checkldconf branch 2 times, most recently from 6461034 to ba84a76 Compare November 16, 2023 12:26
@pirat89
Copy link
Member

pirat89 commented Nov 16, 2023

I did rebase (with squash) and updated the commit msg to be more descriptive. Tests should be passing now. waiting for the results

Copy link
Member

@dkubek dkubek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had time to only look through code and apart from minor sugestions lgtm.

The in-place upgrade process does not support custom libraries
and also does not handle customized configuration of dynamic linked.
In such a case it can happen (and it happens) that the upgrade could
break in critical phases when linked libraries dissapear or are not
compatible with the new system.

We cannot decide whether or not such a custom configuration affects
the upgrade negatively, so let's detect any customisations
or unexpected configurations related to dynamic linker and in such
a case generate a high severity report, informing user about the
possible impact on the upgrade process.

Currently it's detectect:
  * modified default LD configuration: /etc/ld.so.conf
  * drop int configuration files under /etc/ld.so.conf.d/ that are
    not owned by any RHEL RPMs
  * envars: LD_LIBRARY_PATH, LD_PRELOAD

Jira ref.: OAMG-4460 / RHEL-11958
BZ ref.: BZ 1927700
@pirat89 pirat89 dismissed stale reviews from matejmatuska and dkubek November 16, 2023 16:04

all issues adressed

Copy link
Member

@pirat89 pirat89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm and tests passed.

@pirat89
Copy link
Member

pirat89 commented Nov 16, 2023

Tested manually, it seems everything is ok.

  • with installed and active SCL + custom config added
----------------------------------------
Risk Factor: high
Title: Detected customized configuration for dynamic linker.
Summary: Custom configurations to the dynamic linker could potentially impact the upgrade in a negative way. The custom configuration includes modifications to /etc/ld.so.conf, custom or modified drop in config files in the /etc/ld.so.conf.d directory and additional entries in the LD_LIBRARY_PATH or LD_PRELOAD variables. These modifications configure the dynamic linker to use different libraries that might not be provided by Red Hat products or might not be present during the whole upgrade process. The following custom configurations were detected by leapp:
- The following drop in config files were marked as custom:
    - /etc/ld.so.conf.d/myconf.conf
- The following variables contain unexpected dynamic linker configuration:
    - LD_LIBRARY_PATH
Remediation: [hint] Remove or revert the custom dynamic linker configurations and apply the changes using the ldconfig command. In case of possible active software collections we suggest disabling them persistently.
Key: cc9bd972af70b7a27f66a37b11a00dcfcb73b1bc
----------------------------------------
  • same as above but mariadb ld conf has been modified

Risk Factor: high
Title: Detected customized configuration for dynamic linker.
Summary: Custom configurations to the dynamic linker could potentially impact the upgrade in a negative way. The custom configuration includes modifications to /etc/ld.so.conf, custom or modified drop in config files in the /etc/ld.so.conf.d directory and additional entries in the LD_LIBRARY_PATH or LD_PRELOAD variables. These modifications configure the dynamic linker to use different libraries that might not be provided by Red Hat products or might not be present during the whole upgrade process. The following custom configurations were detected by leapp:

  • The following drop in config files were marked as custom:
    • /etc/ld.so.conf.d/mariadb-x86_64.conf
    • /etc/ld.so.conf.d/myconf.conf
  • The following variables contain unexpected dynamic linker configuration:
    • LD_LIBRARY_PATH
      Remediation: [hint] Remove or revert the custom dynamic linker configurations and apply the changes using the ldconfig command. In case of possible active software collections we suggest disabling them persistently.
      Key: cc9bd972af70b7a27f66a37b11a00dcfcb73b1bc

@pirat89 pirat89 merged commit 7dabc85 into oamg:master Nov 16, 2023
17 of 29 checks passed
@pirat89 pirat89 added the changelog-checked The merger/reviewer checked the changelog draft document and updated it when relevant label Nov 16, 2023
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Feb 13, 2024
## Packaging
- Requires xfsprogs and e2fsprogs (oamg#1154)
- Bump leapp-repository-dependencies to 10 (oamg#1154)

## Upgrade handling
### Fixes
- Detect changes in openssl default configuration file and restore it to the default to the target default during the upgrade to reduce risk of potential issues (oamg#1131)
- Do not try to download data files anymore when missing as the service is obsoleted since the data is part of installed packages (oamg#1120)
- Drop the invalid `tuv` target channel (oamg#1130)
- Fix handling of symlinks under /etc/pki when managing certificates (oamg#1135, oamg#1160, oamg#1166)
- Fix semanage import issue (oamg#1164)
- Fix the issue of going out of bounds in the isccfg parser (oamg#1124)
- Fix traceback when saving the rhsm facts results and the /etc/rhsm/facts directory doesn’t exist yet (oamg#1132)
- Handle the upgrade better when a proxy is configured in YUM/DNF configutations (oamg#1143)
- Load all rpm repository substitutions that dnf knows about, not just releasever since repofiles may use the other substitutions too (oamg#1134)
- Minor updates of generated reports (oamg#1151)
- Print nice error msg when device and driver deprecation data is malformed (oamg#1168)
- Report information about required manual steps after the upgrade when openssl-ibmca is installed (oamg#1131)
- Update error messages and reports when installed upgrade data files are malformed or missing (oamg#1120)
- [IPU 7 -> 8] Fix the upgrade of the RH Satellite server when tomcat is installed (oamg#1150)
- [IPU 8 -> 9] Fix the upgrade from RHEL 8.9+ when the release is locked by subscription-manager (oamg#1136, oamg#1138)

### Enhancements
- Update upgrade paths: (oamg#1146, oamg#1147, oamg#1175)
  - RHEL 7.9  -> 8.10, 8.8 (default: 8.10)
  - RHEL with SAPAHA 7.9  -> 8.10, 8.8 (default: 8.8)
  - RHEL w/o SAP HANA 8.8  -> 9.2
  - RHEL w/o SAP HANA 8.10 -> 9.4
- Added possibility to define DNF configuration for the target system (oamg#1143)
- Code cleaning: drop redundant and invalid NFS checks (oamg#1127)
- Default to NO_RHSM mode when subscription-manager is not found (oamg#1133)
- Detect customized configuration of dynamic linker (oamg#1118)
- Detect possible unexpected RPM GPG keys has been installed during RPM transaction (oamg#1101)
- Drop obsoleted upgrade paths that relates to releases: 8.6, 8.9, 9.0, 9.3 (oamg#1175)
- Ignore Leapp related PES events (oamg#1153)
- Introduce generic transition of systemd services states during the IPU (oamg#1060, oamg#1174)
- Introduce possibility to upgrade with local repositories (oamg#1099)
- Introduced some changes getting us closer to possibility of IPU for Centos (Stream) systems (oamg#1140)
- Report the upgrade customisations and modifications of the upgrade tooling (oamg#1148)
- Simplify handling of upgrades on systems using RHUI, reducing the maintenance burden for cloud providers (oamg#1057)
- Update the leapp upgrade data files - bump data stream to "3.0" (oamg#1163, oamg#1165, oamg#1170)
- [IPU 8 -> 9] Enable upgrades RHEL 8 -> 9 using RHUI on Alibaba cloud (oamg#1137, oamg#1165, oamg#1172)

## Additional changes interesting for devels
- Introduced new functions returning a list of packages related to upgrade - see the rpms library (oamg#1156)
- Make detection of installed signed packages distribution agnostic - covers RHEL & CentOS (oamg#876)
- Model InstalledRedHatSignedRPM is deprecated, replaced by DistributionSignedRPM (oamg#876)
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Feb 13, 2024
## Packaging
- Requires xfsprogs and e2fsprogs (oamg#1154)
- Bump leapp-repository-dependencies to 10 (oamg#1154)

## Upgrade handling
### Fixes
- Detect changes in openssl default configuration file and restore it to the default to the target default during the upgrade to reduce risk of potential issues (oamg#1131)
- Do not try to download data files anymore when missing as the service is obsoleted since the data is part of installed packages (oamg#1120)
- Drop the invalid `tuv` target channel (oamg#1130)
- Fix handling of symlinks under /etc/pki when managing certificates (oamg#1135, oamg#1160, oamg#1166)
- Fix semanage import issue (oamg#1164)
- Fix the issue of going out of bounds in the isccfg parser (oamg#1124)
- Fix traceback when saving the rhsm facts results and the /etc/rhsm/facts directory doesn’t exist yet (oamg#1132)
- Handle the upgrade better when a proxy is configured in YUM/DNF configutations (oamg#1143)
- Load all rpm repository substitutions that dnf knows about, not just releasever since repofiles may use the other substitutions too (oamg#1134)
- Minor updates of generated reports (oamg#1151)
- Print nice error msg when device and driver deprecation data is malformed (oamg#1168)
- Report information about required manual steps after the upgrade when openssl-ibmca is installed (oamg#1131)
- Update error messages and reports when installed upgrade data files are malformed or missing (oamg#1120)
- [IPU 7 -> 8] Fix the upgrade of the RH Satellite server when tomcat is installed (oamg#1150)
- [IPU 8 -> 9] Fix the upgrade from RHEL 8.9+ when the release is locked by subscription-manager (oamg#1136, oamg#1138)

### Enhancements
- Update upgrade paths: (oamg#1146, oamg#1147, oamg#1175)
  - RHEL 7.9  -> 8.10, 8.8 (default: 8.10)
  - RHEL with SAPAHA 7.9  -> 8.10, 8.8 (default: 8.8)
  - RHEL w/o SAP HANA 8.8  -> 9.2
  - RHEL w/o SAP HANA 8.10 -> 9.4
- Added possibility to define DNF configuration for the target system (oamg#1143)
- Code cleaning: drop redundant and invalid NFS checks (oamg#1127)
- Default to NO_RHSM mode when subscription-manager is not found (oamg#1133)
- Detect customized configuration of dynamic linker (oamg#1118)
- Detect possible unexpected RPM GPG keys has been installed during RPM transaction (oamg#1101)
- Drop obsoleted upgrade paths that relates to releases: 8.6, 8.9, 9.0, 9.3 (oamg#1175)
- Ignore Leapp related PES events (oamg#1153)
- Introduce generic transition of systemd services states during the IPU (oamg#1060, oamg#1174)
- Introduce possibility to upgrade with local repositories (oamg#1099)
- Introduced some changes getting us closer to possibility of IPU for Centos (Stream) systems (oamg#1140)
- Report the upgrade customisations and modifications of the upgrade tooling (oamg#1148)
- Simplify handling of upgrades on systems using RHUI, reducing the maintenance burden for cloud providers (oamg#1057)
- Update the leapp upgrade data files - bump data stream to "3.0" (oamg#1163, oamg#1165, oamg#1170)
- [IPU 8 -> 9] Enable upgrades RHEL 8 -> 9 using RHUI on Alibaba cloud (oamg#1137, oamg#1165, oamg#1172)

## Additional changes interesting for devels
- Introduced new functions returning a list of packages related to upgrade - see the rpms library (oamg#1156)
- Make detection of installed signed packages distribution agnostic - covers RHEL & CentOS (oamg#876)
- Model InstalledRedHatSignedRPM is deprecated, replaced by DistributionSignedRPM (oamg#876)
@pirat89 pirat89 mentioned this pull request Feb 13, 2024
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Feb 13, 2024
## Packaging
- Requires xfsprogs and e2fsprogs (oamg#1154)
- Bump leapp-repository-dependencies to 10 (oamg#1154)

## Upgrade handling
### Fixes
- Detect changes in openssl default configuration file and restore it to the default to the target default during the upgrade to reduce risk of potential issues (oamg#1131)
- Do not try to download data files anymore when missing as the service is obsoleted since the data is part of installed packages (oamg#1120)
- Drop the invalid `tuv` target channel (oamg#1130)
- Fix handling of symlinks under /etc/pki when managing certificates (oamg#1135, oamg#1160, oamg#1166)
- Fix semanage import issue (oamg#1164)
- Fix the issue of going out of bounds in the isccfg parser (oamg#1124)
- Fix traceback when saving the rhsm facts results and the /etc/rhsm/facts directory doesn’t exist yet (oamg#1132)
- Handle the upgrade better when a proxy is configured in YUM/DNF configutations (oamg#1143)
- Load all rpm repository substitutions that dnf knows about, not just releasever since repofiles may use the other substitutions too (oamg#1134)
- Minor updates of generated reports (oamg#1151)
- Print nice error msg when device and driver deprecation data is malformed (oamg#1168)
- Report information about required manual steps after the upgrade when openssl-ibmca is installed (oamg#1131)
- Update error messages and reports when installed upgrade data files are malformed or missing (oamg#1120)
- [IPU 7 -> 8] Fix the upgrade of the RH Satellite server when tomcat is installed (oamg#1150)
- [IPU 8 -> 9] Fix the upgrade from RHEL 8.9+ when the release is locked by subscription-manager (oamg#1136, oamg#1138)

### Enhancements
- Update upgrade paths: (oamg#1146, oamg#1147, oamg#1175)
  - RHEL 7.9  -> 8.10, 8.8 (default: 8.10)
  - RHEL with SAPAHA 7.9  -> 8.10, 8.8 (default: 8.8)
  - RHEL w/o SAP HANA 8.8  -> 9.2
  - RHEL w/o SAP HANA 8.10 -> 9.4
- Added possibility to define DNF configuration for the target system (oamg#1143)
- Code cleaning: drop redundant and invalid NFS checks (oamg#1127)
- Default to NO_RHSM mode when subscription-manager is not found (oamg#1133)
- Detect customized configuration of dynamic linker (oamg#1118)
- Detect possible unexpected RPM GPG keys has been installed during RPM transaction (oamg#1101)
- Drop obsoleted upgrade paths that relates to releases: 8.6, 8.9, 9.0, 9.3 (oamg#1175)
- Ignore Leapp related PES events (oamg#1153)
- Introduce generic transition of systemd services states during the IPU (oamg#1060, oamg#1174)
- Introduce possibility to upgrade with local repositories (oamg#1099)
- Introduced some changes getting us closer to possibility of IPU for Centos (Stream) systems (oamg#1140)
- Report the upgrade customisations and modifications of the upgrade tooling (oamg#1148)
- Simplify handling of upgrades on systems using RHUI, reducing the maintenance burden for cloud providers (oamg#1057)
- Update the leapp upgrade data files - bump data stream to "3.0" (oamg#1163, oamg#1165, oamg#1170)
- [IPU 8 -> 9] Enable upgrades RHEL 8 -> 9 using RHUI on Alibaba cloud (oamg#1137, oamg#1165, oamg#1172)
- Unify breakpoints inside the upgrade initramfs for the easier troubleshooting (oamg#1157)

## Additional changes interesting for devels
- Introduced new functions returning a list of packages related to upgrade - see the rpms library (oamg#1156)
- Make detection of installed signed packages distribution agnostic - covers RHEL & CentOS (oamg#876)
- Model InstalledRedHatSignedRPM is deprecated, replaced by DistributionSignedRPM (oamg#876)
pirat89 added a commit that referenced this pull request Feb 13, 2024
## Packaging
- Requires xfsprogs and e2fsprogs (#1154)
- Bump leapp-repository-dependencies to 10 (#1154)

## Upgrade handling
### Fixes
- Detect changes in openssl default configuration file and restore it to the default to the target default during the upgrade to reduce risk of potential issues (#1131)
- Do not try to download data files anymore when missing as the service is obsoleted since the data is part of installed packages (#1120)
- Drop the invalid `tuv` target channel (#1130)
- Fix handling of symlinks under /etc/pki when managing certificates (#1135, #1160, #1166)
- Fix semanage import issue (#1164)
- Fix the issue of going out of bounds in the isccfg parser (#1124)
- Fix traceback when saving the rhsm facts results and the /etc/rhsm/facts directory doesn’t exist yet (#1132)
- Handle the upgrade better when a proxy is configured in YUM/DNF configutations (#1143)
- Load all rpm repository substitutions that dnf knows about, not just releasever since repofiles may use the other substitutions too (#1134)
- Minor updates of generated reports (#1151)
- Print nice error msg when device and driver deprecation data is malformed (#1168)
- Report information about required manual steps after the upgrade when openssl-ibmca is installed (#1131)
- Update error messages and reports when installed upgrade data files are malformed or missing (#1120)
- [IPU 7 -> 8] Fix the upgrade of the RH Satellite server when tomcat is installed (#1150)
- [IPU 8 -> 9] Fix the upgrade from RHEL 8.9+ when the release is locked by subscription-manager (#1136, #1138)

### Enhancements
- Update upgrade paths: (#1146, #1147, #1175)
  - RHEL 7.9  -> 8.10, 8.8 (default: 8.10)
  - RHEL with SAPAHA 7.9  -> 8.10, 8.8 (default: 8.8)
  - RHEL w/o SAP HANA 8.8  -> 9.2
  - RHEL w/o SAP HANA 8.10 -> 9.4
- Added possibility to define DNF configuration for the target system (#1143)
- Code cleaning: drop redundant and invalid NFS checks (#1127)
- Default to NO_RHSM mode when subscription-manager is not found (#1133)
- Detect customized configuration of dynamic linker (#1118)
- Detect possible unexpected RPM GPG keys has been installed during RPM transaction (#1101)
- Drop obsoleted upgrade paths that relates to releases: 8.6, 8.9, 9.0, 9.3 (#1175)
- Ignore Leapp related PES events (#1153)
- Introduce generic transition of systemd services states during the IPU (#1060, #1174)
- Introduce possibility to upgrade with local repositories (#1099)
- Introduced some changes getting us closer to possibility of IPU for Centos (Stream) systems (#1140)
- Report the upgrade customisations and modifications of the upgrade tooling (#1148)
- Simplify handling of upgrades on systems using RHUI, reducing the maintenance burden for cloud providers (#1057)
- Update the leapp upgrade data files - bump data stream to "3.0" (#1163, #1165, #1170)
- [IPU 8 -> 9] Enable upgrades RHEL 8 -> 9 using RHUI on Alibaba cloud (#1137, #1165, #1172)
- Unify breakpoints inside the upgrade initramfs for the easier troubleshooting (#1157)

## Additional changes interesting for devels
- Introduced new functions returning a list of packages related to upgrade - see the rpms library (#1156)
- Make detection of installed signed packages distribution agnostic - covers RHEL & CentOS (#876)
- Model InstalledRedHatSignedRPM is deprecated, replaced by DistributionSignedRPM (#876)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-checked The merger/reviewer checked the changelog draft document and updated it when relevant
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants