Bug 2087144

Summary: Fix the set of required YUM repositories when upgrading the Satellite server
Product: Red Hat Enterprise Linux 7 Reporter: Lukas Pramuk <lpramuk>
Component: leapp-repositoryAssignee: Leapp team <leapp-notifications>
Status: CLOSED ERRATA QA Contact: Upgrades and Supportability <upgrades-and-supportability>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.9CC: ahumbe, dhjoshi, egolov, jbhatia, mhecko, mkluson, pmendezh, pstodulk, saydas, sfroemer, shwsingh
Target Milestone: rcKeywords: Upgrades
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: leapp-repository-0.16.0-7.el7_9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2089303 (view as bug list) Environment:
Last Closed: 2022-08-23 20:14:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2089303    

Description Lukas Pramuk 2022-05-17 12:48:29 UTC
Description of problem:
LEAPP upgrade fails to resolve ansible dependencies on RHEL8.6

On RHEL8.5 we used ansible-2.9 and with the move to RHEL8.6 we use ansible-core 2.12 instead.


Version-Release number of selected component (if applicable):
Satellite-6.11-RHEL-8-20220516.t.0 (dev compose)

How reproducible:
deterministic

Steps to Reproduce:
1. Have 6.11 Satellite on RHEL7

2. Run LEAPP upgrade/preupgrade to RHEL8.6
# leapp preupgrade --enablerepo satellite --enablerepo maintenance
...

============================================================
                           ERRORS                           
============================================================

2022-05-17 07:58:22.600270 [ERROR] Actor: dnf_transaction_check
Message: DNF execution failed with non zero exit code.
STDOUT:
Last metadata expiration check: 0:01:14 ago on Tue May 17 07:56:56 2022.
Package foreman-installer-katello-1:3.1.2.5-1.el7sat.noarch is already installed.
Package rubygem-foreman_maintain-1:1.0.10-1.el7sat.noarch is already installed.
Package satellite-installer-6.11.0.7-1.el7sat.noarch is already installed.
Package katello-4.3.0-1.el7sat.noarch is already installed.
Package foreman-installer-1:3.1.2.5-1.el7sat.noarch is already installed.

STDERR:
Warning: Package marked by Leapp to install not found in repositories metadata: rubygem-foreman_ansible_core rubygem-foreman-tasks-core rubygem-foreman_remote_execution_core log4j12
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp python2-leapp leapp-upgrade-el7toel8
Transaction check: 

 Problem: problem with installed package ansible-2.9.27-1.el7ae.noarch
  - cannot install the best update candidate for package ansible-2.9.27-1.el7ae.noarch
  - cannot install the best update candidate for package ansible-test-2.9.27-1.el7ae.noarch
  - package python38-galaxy-importer-0.4.1-2.el8pc.noarch requires /usr/bin/ansible-test, but none of the providers can be installed
  - package ansible-test-2.12.2-3.1.el8.x86_64 requires ansible-core = 2.12.2-3.1.el8, but none of the providers can be installed
  - package ansible-test-2.9.0-2.el8.noarch requires ansible = 2.9.0-2.el8, but none of the providers can be installed
  - package ansible-test-2.9.1-1.el8.noarch requires ansible = 2.9.1-1.el8, but none of the providers can be installed
  - package ansible-test-2.9.2-1.el8ae.noarch requires ansible = 2.9.2-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.4-1.el8ae.noarch requires ansible = 2.9.4-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.5-1.el8ae.noarch requires ansible = 2.9.5-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.6-1.el8ae.noarch requires ansible = 2.9.6-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.7-1.el8ae.noarch requires ansible = 2.9.7-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.9-1.el8ae.noarch requires ansible = 2.9.9-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.10-1.el8ae.noarch requires ansible = 2.9.10-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.11-1.el8ae.noarch requires ansible = 2.9.11-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.13-1.el8ae.noarch requires ansible = 2.9.13-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.14-1.el8ae.noarch requires ansible = 2.9.14-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.15-1.el8ae.noarch requires ansible = 2.9.15-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.16-1.el8ae.noarch requires ansible = 2.9.16-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.17-1.el8ae.noarch requires ansible = 2.9.17-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.18-1.el8ae.noarch requires ansible = 2.9.18-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.19-1.el8ae.noarch requires ansible = 2.9.19-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.20-1.el8ae.noarch requires ansible = 2.9.20-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.21-1.el8ae.noarch requires ansible = 2.9.21-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.22-1.el8ae.noarch requires ansible = 2.9.22-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.23-1.el8ae.noarch requires ansible = 2.9.23-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.24-1.el8ae.noarch requires ansible = 2.9.24-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.25-1.el8ae.noarch requires ansible = 2.9.25-1.el8ae, but none of the providers can be installed
  - package ansible-test-2.9.26-1.el8ae.noarch requires ansible = 2.9.26-1.el8ae, but none of the providers can be installed
  - package ansible-core-2.12.2-3.1.el8.x86_64 conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.0-2.el8.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.1-1.el8.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.2-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.4-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.5-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.6-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.7-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.9-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.10-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.11-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.13-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.14-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.15-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.16-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.17-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.18-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.19-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.20-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.21-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.22-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.23-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.24-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.25-1.el8ae.noarch
  - cannot install both ansible-2.9.27-1.el8ae.noarch and ansible-2.9.26-1.el8ae.noarch
  - package python38-pulp-ansible-1:0.10.1-1.el8pc.noarch requires python38-galaxy-importer >= 0.3.1, but none of the providers can be installed
  - ansible-test-2.9.27-1.el7ae.noarch does not belong to a distupgrade repository
  - conflicting requests
  - ansible-2.9.27-1.el7ae.noarch does not belong to a distupgrade repository


============================================================
                       END OF ERRORS                        
============================================================

Actual results:
leapp upgrade to 8.6 is broken

Expected results:
leapp upgrade works

Workaround:
prior leapp run "rpm -e ansible ansible-test --nodeps"

Comment 2 Petr Stodulka 2022-05-23 11:57:59 UTC
Hi, if I understand right, the actual problem has been caused by missing (disabled) repository and this should be fixed now in upstream based on Evgeni's PR:
* https://github.com/oamg/leapp-repository/pull/890

Setting status to POST. Also, the problem is supposed to be reported under RHEL 7.9 as the fix is supposed to be delivered there. Switching the product. and component.

Comment 5 Martin Klusoň 2022-05-23 12:16:52 UTC
Hi Lukáš,

Could you please retest it with fix from Evgeni (https://github.com/oamg/leapp-repository/pull/890)? Please use recent master upstream copr build (build with `master` in name from https://copr.fedorainfracloud.org/coprs/g/oamg/leapp/builds/).

Comment 6 Lukas Pramuk 2022-05-23 12:42:16 UTC
Martin,

I can confirm the Evgeni's fix works as per https://bugzilla.redhat.com/show_bug.cgi?id=2085446#c2 step 3 - perforemed in order to unblock verification of the other BZ

As you can see I pulled in only changes for https://github.com/oamg/leapp-repository/pull/890 (omitted #875, #879)

Comment 7 Lukas Pramuk 2022-05-24 19:49:12 UTC
Yet I can confirm that I performed successful Satellite LEAPP upgrade using:
- leapp-0.14.0-1.el7_9.noarch (released)
- leapp-upgrade-el7toel8-0.16.0-100.20220519121013056118.master.34.g2f747a9.el7.noarch (copr)

Comment 10 Lukas Pramuk 2022-07-27 09:31:24 UTC
VERIFIED.

@Satellite 6.11.0
leapp-0.14.0-1.el7_9.noarch
leapp-upgrade-el7toel8-0.16.0-7.el7_9.noarch

by the reproducer described in comment#0:

# leapp preupgrade
...

============================================================
                           REPORT                           
============================================================

A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt

============================================================
                       END OF REPORT                        
============================================================

Answerfile has been generated at /var/log/leapp/answerfile

>>> leapp preupgrade succeded as there are no dependency issues

Comment 12 errata-xmlrpc 2022-08-23 20:14:19 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (leapp-repository bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:6141