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

persistentnetnamesdisable: Fix the issue when 1 eth nic in multiple n… #640

Merged
merged 1 commit into from
Sep 24, 2021

Conversation

winndows
Copy link

…ics env

We should only inhibit the upgrade when multiple eth nics exist.
Neverthless, for 1 eth nic in multiple nics env, we should not
fail the upgrade.

Signed-off-by: Liao Pingfang liao.pingfang@zte.com.cn

@leapp-bot
Copy link
Collaborator

This PR has been linked in issue tracker (#OAMG-4349).

@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
  • e2e tests to run unit tests, copr build and end-to-end tests in Murphy CI (OAMG members only) [OLD PIPELINE]
  • 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.

@pirat89
Copy link
Member

pirat89 commented Jan 29, 2021

@winndows btw, for the rebase, it's not needed to close the PR, remove branch, create new branch and new PR. you can just do the rebase (in the branch you want to update) like:

git fetch origin master
git rebase origin/master
git push --force

opening new PRs and closing the old is not good practice as the communication is left in the old one. thanks :)

More about git rebase is here: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

@winndows
Copy link
Author

@winndows btw, for the rebase, it's not needed to close the PR, remove branch, create new branch and new PR. you can just do the rebase (in the branch you want to update) like:

git fetch origin master
git rebase origin/master
git push --force

opening new PRs and closing the old is not good practice as the communication is left in the old one. thanks :)

More about git rebase is here: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

Got it. Thank you very much.

@pirat89 pirat89 added the bug Something isn't working label Feb 22, 2021
@pirat89
Copy link
Member

pirat89 commented Feb 22, 2021

Actually, thinking about that, I am not sure this is correct. Are we sure that when multiple network interfaces are present and just one is ethX, that it will be unchanged? I mean, e.g. from eth0 to eth1? Is the eth naming from udev always incremental in case of ethX, or is it taking the name from kernel? As I understand, kernel by default names all interfaces ethX and udev renames these subsequently.

@msekletar Michal, can you tell us how is it in this case? I know that even RH article speak just about cases when multiple ethX interfaces are present and we discussed that in the part. So I want to rather double-ensure about that for the last time.

@msekletar
Copy link
Contributor

Long story short, single eth0 is OK anything else is not OK (if you have ethX names in the mix). As @pirat89 metioned, kernel always names NICs ethX first and then user-space renames them. If you have two and they appeared at about the same time in swapped order you may need to synchronise the renaming so you "free-up" the name before you try to rename. That is not supported since this can't be implemented reliably in user-space for general case.

@pirat89
Copy link
Member

pirat89 commented Feb 22, 2021

@msekletar Thank Michal for fast answer. However I am not sure whether I get it. from the first sentence. For crystal clear check, can you confirm the table is valid or correct me?:

list of interfaces | inhibitor
===================|========
eth0               | N
-------------------|------------
net0, net1,...     | N
-------------------|------------
eth0, eth1         | Y
-------------------|------------
eth0, net0         | Y
-------------------|------------
eth0, eth1, net0   | Y

Basically the case eth0, net0 is the only one that is not fully clear.

@msekletar
Copy link
Contributor

@pirat89 you got it right, table is correct.

@pirat89
Copy link
Member

pirat89 commented Feb 23, 2021

@winndows Hi man, so the upstream code is actually ok. What is wrong is the report message. Do you want to change your PR to fix the message instead or should I close it? I am going to report the RH documentation to ensure it's fixed.

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.

the original code is actually ok. the report message is unclear.

@winndows
Copy link
Author

winndows commented Feb 23, 2021

@pirat89 Please help to close this PR, thanks a lot.

@pirat89
Copy link
Member

pirat89 commented Feb 24, 2021

@winndows if you drop your changes and update the report like below, it's possible to merge it:

             create_report([
                 reporting.Title('Unsupported network configuration'),
                 reporting.Summary(
-                    'Detected multiple network interfaces using unstable kernel names (e.g. eth0, eth1). '
+                    'Detected multiple physical network interfaces where one or more use kernel naming (e.g. eth0). '
                     'Upgrade process can not continue because stability of names can not be guaranteed. '
                     'Please read the article at https://access.redhat.com/solutions/4067471 for more information.'
                 ),
+                reporting.ExternalLink(
+                    title='How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7',
+                    url='https://access.redhat.com/solutions/4067471'
+                ),
+                reporting.Remediation(
+                    hint='Rename all ethX network interfaces following the attached KB solution article.'
+                ),
                 reporting.Severity(reporting.Severity.HIGH),
                 reporting.Tags([reporting.Tags.NETWORK]),
                 reporting.Flags([reporting.Flags.INHIBITOR])

pirat89
pirat89 previously approved these changes Feb 27, 2021
@pirat89
Copy link
Member

pirat89 commented Feb 27, 2021

@winndows please make the pylint happy.

@pirat89
Copy link
Member

pirat89 commented Mar 1, 2021

@winndows I am sorry I forget to inform you. The CI is failing because of the new pylint that was released in last days (+ internal issues). See #647 - once the #647 PR is merged this one needs to be rebased to pass tests.

@pirat89
Copy link
Member

pirat89 commented Mar 1, 2021

@winndows Merge. Rebase please against the master.

@pirat89
Copy link
Member

pirat89 commented Mar 2, 2021

leapp-ci build

1 similar comment
@pirat89
Copy link
Member

pirat89 commented Mar 8, 2021

leapp-ci build

@pirat89
Copy link
Member

pirat89 commented Jun 25, 2021

@winndows I am sorry we have forgotten this PR. please rebase it against up-to-date master and fix unit-tests. After that we can merge it.

… eth nics

In multiple nics env, we should fail the upgrade when one or more eth
nic names are used. Fix the message by adding the "one eth nic" case.

Signed-off-by: Liao Pingfang <liao.pingfang@zte.com.cn>
@winndows
Copy link
Author

@winndows I am sorry we have forgotten this PR. please rebase it against up-to-date master and fix unit-tests. After that we can merge it.

@pirat89 Could you help to review this change? Thanks a lot.

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.

@winndows I am sorry i've missed that. It looks good now. It looks good now. Merging.

@pirat89 pirat89 merged commit cf2b90d into oamg:master Sep 24, 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
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants