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

upgrade: Restore leapp environment variables on --resume #724

Merged
merged 1 commit into from
Sep 24, 2021

Conversation

vinzenz
Copy link
Member

@vinzenz vinzenz commented Sep 21, 2021

This patch will restore leapp environment variables from the IPUConfig
message. This will allow to easier and more naturally access environment
from actors during the upgrade even after reboot etc.

Signed-off-by: Vinzenz Feenstra vfeenstr@redhat.com

@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 mergable.
If you want to re-run tests or request review, you can use following commands as a comment:

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

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 consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra.

This patch will restore leapp environment variables from the IPUConfig
message. This will allow to easier and more naturally access environment
from actors during the upgrade even after reboot etc.

Signed-off-by: Vinzenz Feenstra <vfeenstr@redhat.com>
@vinzenz vinzenz force-pushed the restore-environment-variables branch from 8d4a1e2 to 32f2993 Compare September 21, 2021 08:56
@MichalHe
Copy link
Member

MichalHe commented Sep 21, 2021

I've tested this PR in the following manner:
An actor that runs in the FirstBoot phase and prints the environment was added to the code in the source branch of this PR. The actor code:

import os

from leapp.actors import Actor
from leapp.libraries.stdlib import api
from leapp.tags import FirstBootPhaseTag, IPUWorkflowTag


class PrintEnvinronment(Actor):
    """
    Docs
    """

    name = 'print_environment'
    consumes = ()
    produces = ()
    tags = (FirstBootPhaseTag, IPUWorkflowTag)

    def process(self):
        api.current_logger().debug('Environmental variables: {0}'.format(os.environ))

Then leapp was executed as follows using the internal RHEL7 vagrant box:

LEAPP_TEST_VARIABLE_RESTORE_WORKS=some_value leapp upgrade --debug --reboot

The produced (truncated) logs:

...
2021-09-24 15:04:03.410 DEBUG    PID: 5936 leapp.workflow.FirstBoot.print_environment: Environmental variables: environ({'LANG': 'en_US.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/etc/leapp/repos.d/system_upgrade/el7toel8/tools', 'INVOCATION_ID': '<ID>', 'TERM': 'vt220', , 'LEAPP_HOSTNAME': '<HOSTNAME>', 'LEAPP_DEBUG': '1', 'LEAPP_VERBOSE': '1', 'LEAPP_EXPERIMENTAL': '0', 'LEAPP_UNSUPPORTED': '1', 'LEAPP_NO_RHSM': '1', 'LEAPP_COMMON_TOOLS': ':/etc/leapp/repos.d/system_upgrade/el7toel8/tools:/etc/leapp/repos.d/system_upgrade/el7toel8/tools', 'LEAPP_COMMON_FILES': ':/etc/leapp/repos.d/system_upgrade/common/files:/etc/leapp/repos.d/system_upgrade/el7toel8/files:/etc/leapp/repos.d/system_upgrade/common/files:/etc/leapp/repos.d/system_upgrade/el7toel8/files', 'LEAPP_EXECUTION_ID': '<EXECUTION_ID>', 'LEAPP_TEST_VARIABLE_RESTORE_WORKS': 'some_value', 'LEAPP_CURRENT_PHASE': 'FirstBoot', 'LEAPP_CURRENT_ACTOR': 'print_environment'})
...

Copy link
Member

@MichalHe MichalHe left a comment

Choose a reason for hiding this comment

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

lgtm.

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 otuput from @MichalHe looks good too

@MichalHe MichalHe merged commit e6607b8 into oamg:master Sep 24, 2021
@vinzenz vinzenz deleted the restore-environment-variables branch October 13, 2021 08:01
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)
MichalHe pushed a commit to MichalHe/leapp-repository that referenced this pull request Jun 21, 2022
Update PR welcome message with explanation on how to file ticket in case of CI issues.
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