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

Modularity pt. 1: Include module data in InstalledRPM model #667

Merged
merged 1 commit into from
May 25, 2021

Conversation

drehak
Copy link
Contributor

@drehak drehak commented May 17, 2021

To calculate RPM transactions involving modular packages, we first need data about existing modular packages. Here we get the data through the dnf Python module and add information about module streams to the InstalledRPM model, which we extend with two new nullable fields.
Another implementation of mapping of repositories to packages using the dnf module has also been added. This is necessary for future upgrades from RHEL 8 to 9. (The code in question has been buggy on RHEL 7 but on RHEL 8, it works correctly.) The existing implementation using the yum module will still be used on RHEL 7.

Code taken from #636 (that one is pretty messy).

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1789840

@leapp-bot
Copy link
Collaborator

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 mergable.

If you want to re-run tests or request review, you can use following commands as a comment:

  • leapp-ci build to run unit tests, copr build and e2e tests in OAMG CI
  • review please to notify leapp developers of review request

Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra.

@drehak drehak requested review from pirat89, vinzenz and Rezney May 17, 2021 12:30
@pirat89
Copy link
Member

pirat89 commented May 20, 2021

review in progress

@drehak drehak force-pushed the feature/modularity-pt-1 branch 2 times, most recently from 15822d0 to efa937b Compare May 24, 2021 02:43
pirat89
pirat89 previously approved these changes May 24, 2021
To calculate RPM transactions involving modular packages, we first need
data about existing modular packages. Here we get the data through the
dnf Python module and add information about module streams to the
InstalledRPM model, which we extend with two new nullable fields.

- Another implementation of mapping of repositories to packages using
  the dnf module has also been added. This is necessary for future
  upgrades from RHEL 8 to 9. (The code in question has been buggy on
  RHEL 7 but on RHEL 8, it works correctly.) The existing implementation
  using the yum module will still be used on RHEL 7.
- Default epoch value (i.e. when it does not exist) has been changed
  from "(none)" to "0", because that is what is assumed in RPM
  calculations when it is undefined and also because that is what DNF
  module artifacts contain in this case.
- Unit tests have been added to RPM scanner.

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1789840
@pirat89 pirat89 merged commit c084c68 into oamg:master May 25, 2021
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Oct 19, 2021
## Packaging
- Add dependency on `dnf-command(config-manager)` (oamg#701)
- Added a dependency on leapp as the new rpm provides leapp commands (oamg#701, #)
- Bumped leapp-repository-dependencies to 6 (oamg#701)
- Provides the leapp-upgrade capability, so users can install all packages just by the `yum install leapp-upgrade` command (oamg#701)
- Support building on RHEL 8 systems: leapp-upgrade-el8toel9 (oamg#701)
- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 for RHEL 7 (oamg#701)

## Upgrade handling
### Fixes
- Check all devices (not only PCI devices) for possible removed drivers (oamg#666)
- Do not exclude repoids enabled via the --enablerepo option (oamg#623)
- Enforce the `en_US.urf-8` locale when running leapp to prevent various issues when a different locale is used on the system (oamg#706)
- Enhance the check of required free space on disk for the upgrade (oamg#734)
- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present (oamg#674)
- Fix detection of XFS partitions without ftype (oamg#678)
- Fix handling of /etc/yum.repos.d directory for RHUI (oamg#730)
- Fix handling of issues when fetching leapp data files
- Fix incorrect mapping of RHEL repositories (oamg#714)
- Fix invalid detection of RHEL-ALT on RHEL 8 systems
- Fix the detection of NFS partitions in /etc/fstab (oamg#712)
- Fix the report message when multiple NICs with ethX names are present (oamg#640)
- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management of NICs names on user when set to '1'; fixes e.g. problems with bonding configuration (oamg#721)
- Various Python3 compatibility fixes in regards to prepare for IPU 8 -> 9 (oamg#680, oamg#679, oamg#681, 688)

### Enhancements
- Changed supported upgrade path for RHEL with SAP: RHEL with SAP 7.9 -> 8.2
- Add PostgresqlCheck actor for basic reporting about PostgresSQL changes (oamg#136)
- Add multiple attempts to fetch data from server and increased the timeout to improve the experience on systems with unstable network connection
- Add possibility to influence creation of targetuserspace container, upgrade initramfs, and target initramfs (oamg#517)
- Add the scandasd actor to check if DASD is used on s390x arch (oamg#517)
- Enable upgrades for SAP on AWS & Azure using RHUI (oamg#736, oamg#739)
- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the migration (oamg#719)
- Improve the report message when BTRFS is detected (oamg#727)
- Inhibit the upgrade if any CIFS entries found in /etc/fstab (oamg#632)
- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected (oamg#695)
- Inhibit the upgrade when multiple rescue boot entries exist on s390x (oamg#700)
- Inhibit the upgrade when x32b and x64b versions of packages are installed (oamg#628)
- Introduce hard preservation of leapp packages during the IPU (oamg#701)
- Introduce new system of automatic mapping of RHEL repositories for the in-place upgrade based on the repomap.json file (oamg#714)
- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed to be used for the upgrade (oamg#728)
- Report the problems with target repositories using inhibitors instead of error messages (oamg#731)
- Restore the leapp environment variables on --resume execution after the reboot of the system (oamg#724)
- Set `releasever` to the target version when specified in the /etc/{yum,dnf}/var/releasever file (e.g. on RHUI) (oamg#720)

## Additional changes interesting for devels
- CLI: leapp CLI commands are now part of leapp-repository in the `commands` directory (oamg#662)
- Drop of RepositoriesMap and RepositoryMap models as these have been replaced by new 'private' models and it was no possible to keep the original functionality connected to connected to these old models (oamg#714)
- Dropped possibility to upgrade from/to HTB systems (HTB doesn't exist anymore)
- Introduced many changes as preparation for the IPU 8 -> 9
- Introduced the upgrade/common leapp repository: contains fundamental parts generic for all IPUs
- Introduced the upgrade/el8toel9 leapp repository: contains stuff related just for IPU 8 -> 9; depends on the upgrades/common repository
- The upgrade/el7toel8 leapp repository contains only stuff related to IPU 7 -> 8
- Makefile: introduce the `fast_lint` target to run linters just on files different from master (oamg#722)
- The InstalledRPM model is extended by module:stream data (oamg#667)
- config library: introduce `get_target_major_version` and `get_source_major_version` functions
- fetch library: the `fetch_or_read` function allows to specify the file encoding (oamg#717)
- mounting library: add the remove_tree isolated action (oamg#517)
- testutils library: CurrentActorMocked: implemented the get_actor_file_path method (oamg#517)
@pirat89 pirat89 mentioned this pull request Oct 19, 2021
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Oct 19, 2021
## Packaging
- Add dependency on `dnf-command(config-manager)` (oamg#701)
- Added a dependency on leapp as the new rpm provides leapp commands (oamg#701, #)
- Bumped leapp-repository-dependencies to 6 (oamg#701)
- Provides the leapp-upgrade capability, so users can install all packages just by the `yum install leapp-upgrade` command (oamg#701)
- Support building on RHEL 8 systems: leapp-upgrade-el8toel9 (oamg#701)
- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 for RHEL 7 (oamg#701)

## Upgrade handling
### Fixes
- Check all devices (not only PCI devices) for possible removed drivers (oamg#666)
- Do not exclude repoids enabled via the --enablerepo option (oamg#623)
- Enforce the `en_US.urf-8` locale when running leapp to prevent various issues when a different locale is used on the system (oamg#706)
- Enhance the check of required free space on disk for the upgrade (oamg#734)
- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present (oamg#674)
- Fix detection of XFS partitions without ftype (oamg#678)
- Fix handling of /etc/yum.repos.d directory for RHUI (oamg#730)
- Fix handling of issues when fetching leapp data files
- Fix incorrect mapping of RHEL repositories (oamg#714)
- Fix invalid detection of RHEL-ALT on RHEL 8 systems
- Fix the detection of NFS partitions in /etc/fstab (oamg#712)
- Fix the report message when multiple NICs with ethX names are present (oamg#640)
- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management of NICs names on user when set to '1'; fixes e.g. problems with bonding configuration (oamg#721)
- Various Python3 compatibility fixes in regards to prepare for IPU 8 -> 9 (oamg#680, oamg#679, oamg#681, oamg#688)

### Enhancements
- Changed supported upgrade path for RHEL with SAP: RHEL with SAP 7.9 -> 8.2
- Add PostgresqlCheck actor for basic reporting about PostgresSQL changes (oamg#136)
- Add multiple attempts to fetch data from server and increased the timeout to improve the experience on systems with unstable network connection
- Add possibility to influence creation of targetuserspace container, upgrade initramfs, and target initramfs (oamg#517)
- Add the scandasd actor to check if DASD is used on s390x arch (oamg#517)
- Enable upgrades for SAP on AWS & Azure using RHUI (oamg#736, oamg#739)
- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the migration (oamg#719)
- Improve the report message when BTRFS is detected (oamg#727)
- Inhibit the upgrade if any CIFS entries found in /etc/fstab (oamg#632)
- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected (oamg#695)
- Inhibit the upgrade when multiple rescue boot entries exist on s390x (oamg#700)
- Inhibit the upgrade when x32b and x64b versions of packages are installed (oamg#628)
- Introduce hard preservation of leapp packages during the IPU (oamg#701)
- Introduce new system of automatic mapping of RHEL repositories for the in-place upgrade based on the repomap.json file (oamg#714)
- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed to be used for the upgrade (oamg#728)
- Report the problems with target repositories using inhibitors instead of error messages (oamg#731)
- Restore the leapp environment variables on --resume execution after the reboot of the system (oamg#724)
- Set `releasever` to the target version when specified in the /etc/{yum,dnf}/var/releasever file (e.g. on RHUI) (oamg#720)

## Additional changes interesting for devels
- CLI: leapp CLI commands are now part of leapp-repository in the `commands` directory (oamg#662)
- Drop of RepositoriesMap and RepositoryMap models as these have been replaced by new 'private' models and it was no possible to keep the original functionality connected to connected to these old models (oamg#714)
- Dropped possibility to upgrade from/to HTB systems (HTB doesn't exist anymore)
- Introduced many changes as preparation for the IPU 8 -> 9
- Introduced the upgrade/common leapp repository: contains fundamental parts generic for all IPUs
- Introduced the upgrade/el8toel9 leapp repository: contains stuff related just for IPU 8 -> 9; depends on the upgrades/common repository
- The upgrade/el7toel8 leapp repository contains only stuff related to IPU 7 -> 8
- Makefile: introduce the `fast_lint` target to run linters just on files different from master (oamg#722)
- The InstalledRPM model is extended by module:stream data (oamg#667)
- config library: introduce `get_target_major_version` and `get_source_major_version` functions
- fetch library: the `fetch_or_read` function allows to specify the file encoding (oamg#717)
- mounting library: add the remove_tree isolated action (oamg#517)
- testutils library: CurrentActorMocked: implemented the get_actor_file_path method (oamg#517)
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Oct 19, 2021
## Packaging
- Add dependency on `dnf-command(config-manager)` (oamg#701)
- Added a dependency on leapp as the new rpm provides leapp commands (oamg#701, #)
- Bumped leapp-repository-dependencies to 6 (oamg#701)
- Provides the leapp-upgrade capability, so users can install all packages just by the `yum install leapp-upgrade` command (oamg#701)
- Support building on RHEL 8 systems: leapp-upgrade-el8toel9 (oamg#701)
- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 for RHEL 7 (oamg#701)

## Upgrade handling
### Fixes
- Check all devices (not only PCI devices) for possible removed drivers (oamg#666)
- Do not exclude repoids enabled via the --enablerepo option (oamg#623)
- Enforce the `en_US.urf-8` locale when running leapp to prevent various issues when a different locale is used on the system (oamg#706)
- Enhance the check of required free space on disk for the upgrade (oamg#734)
- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present (oamg#674)
- Fix detection of XFS partitions without ftype (oamg#678)
- Fix handling of /etc/yum.repos.d directory for RHUI (oamg#730)
- Fix handling of issues when fetching leapp data files
- Fix incorrect mapping of RHEL repositories (oamg#714)
- Fix invalid detection of RHEL-ALT on RHEL 8 systems
- Fix the detection of NFS partitions in /etc/fstab (oamg#712)
- Fix the report message when multiple NICs with ethX names are present (oamg#640)
- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management of NICs names on user when set to '1'; fixes e.g. problems with bonding configuration (oamg#721)
- Various Python3 compatibility fixes in regards to prepare for IPU 8 -> 9 (oamg#680, oamg#679, oamg#681, oamg#688)

### Enhancements
- Changed supported upgrade path for RHEL with SAP: RHEL with SAP 7.9 -> 8.2
- Add PostgresqlCheck actor for basic reporting about PostgresSQL changes (oamg#136)
- Add multiple attempts to fetch data from server and increased the timeout to improve the experience on systems with unstable network connection
- Add possibility to influence creation of targetuserspace container, upgrade initramfs, and target initramfs (oamg#517)
- Add the scandasd actor to check if DASD is used on s390x arch (oamg#517)
- Enable upgrades for SAP on AWS & Azure using RHUI (oamg#736, oamg#739)
- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the migration (oamg#719)
- Improve the report message when BTRFS is detected (oamg#727)
- Inhibit the upgrade if any CIFS entries found in /etc/fstab (oamg#632)
- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected (oamg#695)
- Inhibit the upgrade when multiple rescue boot entries exist on s390x (oamg#700)
- Inhibit the upgrade when x32b and x64b versions of packages are installed (oamg#628)
- Introduce hard preservation of leapp packages during the IPU (oamg#701)
- Introduce new system of automatic mapping of RHEL repositories for the in-place upgrade based on the repomap.json file (oamg#714)
- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed to be used for the upgrade (oamg#728)
- Report the problems with target repositories using inhibitors instead of error messages (oamg#731)
- Restore the leapp environment variables on --resume execution after the reboot of the system (oamg#724)
- Set `releasever` to the target version when specified in the /etc/{yum,dnf}/var/releasever file (e.g. on RHUI) (oamg#720)

## Additional changes interesting for devels
- CLI: leapp CLI commands are now part of leapp-repository in the `commands` directory (oamg#662)
- Drop of RepositoriesMap and RepositoryMap models as these have been replaced by new 'private' models and it was no possible to keep the original functionality connected to connected to these old models (oamg#714)
- Dropped possibility to upgrade from/to HTB systems (HTB doesn't exist anymore)
- Introduced the LEAPP_DEVEL_USE_PERSISTENT_PACKAGE_CACHE envar for development and testing purposes to speed up the process, but use of the envar could end with some issues when the cached data is not fresh (oamg#725)
- Introduced many changes as preparation for the IPU 8 -> 9
- Introduced the upgrade/common leapp repository: contains fundamental parts generic for all IPUs
- Introduced the upgrade/el8toel9 leapp repository: contains stuff related just for IPU 8 -> 9; depends on the upgrades/common repository
- The upgrade/el7toel8 leapp repository contains only stuff related to IPU 7 -> 8
- Makefile: introduce the `fast_lint` target to run linters just on files different from master (oamg#722)
- The InstalledRPM model is extended by module:stream data (oamg#667)
- config library: introduce `get_target_major_version` and `get_source_major_version` functions
- fetch library: the `fetch_or_read` function allows to specify the file encoding (oamg#717)
- mounting library: add the remove_tree isolated action (oamg#517)
- testutils library: CurrentActorMocked: implemented the get_actor_file_path method (oamg#517)
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Oct 19, 2021
## Packaging
- Add dependency on `dnf-command(config-manager)` (oamg#701)
- Added a dependency on leapp as the new rpm provides leapp commands (oamg#701, #)
- Bumped leapp-repository-dependencies to 6 (oamg#701)
- Provides the leapp-upgrade capability, so users can install all packages just by the `yum install leapp-upgrade` command (oamg#701)
- Support building on RHEL 8 systems: leapp-upgrade-el8toel9 (oamg#701)
- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 for RHEL 7 (oamg#701)

## Upgrade handling
### Fixes
- Check all devices (not only PCI devices) for possible removed drivers (oamg#666)
- Do not exclude repoids enabled via the --enablerepo option (oamg#623)
- Enforce the `en_US.utf-8` locale when running leapp to prevent various issues when a different locale is used on the system (oamg#706)
- Enhance the check of required free space on disk for the upgrade (oamg#734)
- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present (oamg#674)
- Fix detection of XFS partitions without ftype (oamg#678)
- Fix handling of /etc/yum.repos.d directory for RHUI (oamg#730)
- Fix handling of issues when fetching leapp data files
- Fix incorrect mapping of RHEL repositories (oamg#714)
- Fix invalid detection of RHEL-ALT on RHEL 8 systems
- Fix the detection of NFS partitions in /etc/fstab (oamg#712)
- Fix the report message when multiple NICs with ethX names are present (oamg#640)
- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management of NICs names on user when set to '1'; fixes e.g. problems with bonding configuration (oamg#721)
- Various Python3 compatibility fixes in regards to prepare for IPU 8 -> 9 (oamg#680, oamg#679, oamg#681, oamg#688)

### Enhancements
- Changed supported upgrade path for RHEL with SAP: RHEL with SAP 7.9 -> 8.2
- Add PostgresqlCheck actor for basic reporting about PostgresSQL changes (oamg#136)
- Add multiple attempts to fetch data from server and increased the timeout to improve the experience on systems with unstable network connection
- Add possibility to influence creation of targetuserspace container, upgrade initramfs, and target initramfs (oamg#517)
- Add the scandasd actor to check if DASD is used on s390x arch (oamg#517)
- Enable upgrades for SAP on AWS & Azure using RHUI (oamg#736, oamg#739)
- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the migration (oamg#719)
- Improve the report message when BTRFS is detected (oamg#727)
- Inhibit the upgrade if any CIFS entries found in /etc/fstab (oamg#632)
- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected (oamg#695)
- Inhibit the upgrade when multiple rescue boot entries exist on s390x (oamg#700)
- Inhibit the upgrade when x32b and x64b versions of packages are installed (oamg#628)
- Introduce hard preservation of leapp packages during the IPU (oamg#701)
- Introduce new system of automatic mapping of RHEL repositories for the in-place upgrade based on the repomap.json file (oamg#714)
- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed to be used for the upgrade (oamg#728)
- Report the problems with target repositories using inhibitors instead of error messages (oamg#731)
- Restore the leapp environment variables on --resume execution after the reboot of the system (oamg#724)
- Update (or create) the /etc/{yum,dnf}/var/releasever file if exists or RHUI is detected (oamg#720)

## Additional changes interesting for devels
- CLI: leapp CLI commands are now part of leapp-repository in the `commands` directory (oamg#662)
- Drop of RepositoriesMap and RepositoryMap models as these have been replaced by new 'private' models and it was no possible to keep the original functionality connected to connected to these old models (oamg#714)
- Dropped possibility to upgrade from/to HTB systems (HTB doesn't exist anymore)
- Introduced the LEAPP_DEVEL_USE_PERSISTENT_PACKAGE_CACHE envar for development and testing purposes to speed up the process, but use of the envar could end with some issues when the cached data is not fresh (oamg#725)
- Introduced many changes as preparation for the IPU 8 -> 9
- Introduced the upgrade/common leapp repository: contains fundamental parts generic for all IPUs
- Introduced the upgrade/el8toel9 leapp repository: contains stuff related just for IPU 8 -> 9; depends on the upgrades/common repository
- The upgrade/el7toel8 leapp repository contains only stuff related to IPU 7 -> 8
- Makefile: introduce the `fast_lint` target to run linters just on files different from master (oamg#722)
- The InstalledRPM model is extended by module:stream data (oamg#667)
- config library: introduce `get_target_major_version` and `get_source_major_version` functions
- fetch library: the `fetch_or_read` function allows to specify the file encoding (oamg#717)
- mounting library: add the remove_tree isolated action (oamg#517)
- testutils library: CurrentActorMocked: implemented the get_actor_file_path method (oamg#517)
pirat89 added a commit that referenced this pull request Oct 19, 2021
## Packaging
- Add dependency on `dnf-command(config-manager)` (#701)
- Added a dependency on leapp as the new rpm provides leapp commands (#701, #)
- Bumped leapp-repository-dependencies to 6 (#701)
- Provides the leapp-upgrade capability, so users can install all packages just by the `yum install leapp-upgrade` command (#701)
- Support building on RHEL 8 systems: leapp-upgrade-el8toel9 (#701)
- The leapp-repository rpm has been renamed to leapp-upgrade-el7toel8 for RHEL 7 (#701)

## Upgrade handling
### Fixes
- Check all devices (not only PCI devices) for possible removed drivers (#666)
- Do not exclude repoids enabled via the --enablerepo option (#623)
- Enforce the `en_US.utf-8` locale when running leapp to prevent various issues when a different locale is used on the system (#706)
- Enhance the check of required free space on disk for the upgrade (#734)
- Fix XFS ftype=0 workaround when "non-XFS" rootfs is present (#674)
- Fix detection of XFS partitions without ftype (#678)
- Fix handling of /etc/yum.repos.d directory for RHUI (#730)
- Fix handling of issues when fetching leapp data files
- Fix incorrect mapping of RHEL repositories (#714)
- Fix invalid detection of RHEL-ALT on RHEL 8 systems
- Fix the detection of NFS partitions in /etc/fstab (#712)
- Fix the report message when multiple NICs with ethX names are present (#640)
- Introduce the LEAPP_NO_NETWORK_RENAMING environment variable to leave management of NICs names on user when set to '1'; fixes e.g. problems with bonding configuration (#721)
- Various Python3 compatibility fixes in regards to prepare for IPU 8 -> 9 (#680, #679, #681, #688)

### Enhancements
- Changed supported upgrade path for RHEL with SAP: RHEL with SAP 7.9 -> 8.2
- Add PostgresqlCheck actor for basic reporting about PostgresSQL changes (#136)
- Add multiple attempts to fetch data from server and increased the timeout to improve the experience on systems with unstable network connection
- Add possibility to influence creation of targetuserspace container, upgrade initramfs, and target initramfs (#517)
- Add the scandasd actor to check if DASD is used on s390x arch (#517)
- Enable upgrades for SAP on AWS & Azure using RHUI (#736, #739)
- Generate /etc/migration-results upon leapp preupgrade / upgrade execution to inform about status of the migration (#719)
- Improve the report message when BTRFS is detected (#727)
- Inhibit the upgrade if any CIFS entries found in /etc/fstab (#632)
- Inhibit the upgrade if any deprecated OpenSSH configuration options / directives are detected (#695)
- Inhibit the upgrade when multiple rescue boot entries exist on s390x (#700)
- Inhibit the upgrade when x32b and x64b versions of packages are installed (#628)
- Introduce hard preservation of leapp packages during the IPU (#701)
- Introduce new system of automatic mapping of RHEL repositories for the in-place upgrade based on the repomap.json file (#714)
- Introduce the --channel CLI option to specify the channel (e.g. eus) supposed to be used for the upgrade (#728)
- Report the problems with target repositories using inhibitors instead of error messages (#731)
- Restore the leapp environment variables on --resume execution after the reboot of the system (#724)
- Update (or create) the /etc/{yum,dnf}/var/releasever file if exists or RHUI is detected (#720)

## Additional changes interesting for devels
- CLI: leapp CLI commands are now part of leapp-repository in the `commands` directory (#662)
- Drop of RepositoriesMap and RepositoryMap models as these have been replaced by new 'private' models and it was no possible to keep the original functionality connected to connected to these old models (#714)
- Dropped possibility to upgrade from/to HTB systems (HTB doesn't exist anymore)
- Introduced the LEAPP_DEVEL_USE_PERSISTENT_PACKAGE_CACHE envar for development and testing purposes to speed up the process, but use of the envar could end with some issues when the cached data is not fresh (#725)
- Introduced many changes as preparation for the IPU 8 -> 9
- Introduced the upgrade/common leapp repository: contains fundamental parts generic for all IPUs
- Introduced the upgrade/el8toel9 leapp repository: contains stuff related just for IPU 8 -> 9; depends on the upgrades/common repository
- The upgrade/el7toel8 leapp repository contains only stuff related to IPU 7 -> 8
- Makefile: introduce the `fast_lint` target to run linters just on files different from master (#722)
- The InstalledRPM model is extended by module:stream data (#667)
- config library: introduce `get_target_major_version` and `get_source_major_version` functions
- fetch library: the `fetch_or_read` function allows to specify the file encoding (#717)
- mounting library: add the remove_tree isolated action (#517)
- testutils library: CurrentActorMocked: implemented the get_actor_file_path method (#517)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants