Bug 2149690
| Summary: | unsatisfied satellite rpm dependencies should inhibit LEAPP upgrade | ||
|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Lukas Pramuk <lpramuk> |
| Component: | Upgrades | Assignee: | satellite6-bugs <satellite6-bugs> |
| Status: | CLOSED NOTABUG | QA Contact: | Lukas Pramuk <lpramuk> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.11.4 | CC: | egolov |
| Target Milestone: | Unspecified | Keywords: | Upgrades |
| Target Release: | Unused | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-01-20 12:59:55 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: | |||
|
Description
Lukas Pramuk
2022-11-30 15:54:13 UTC
it looks like BZ#2148470 is not good reproducer for step #1 So better reproducer is that satellite 6.11 el8 repo enable fails for whatever reason (unavailable subscription) (In reply to Lukas Pramuk from comment #1) > So better reproducer is that satellite 6.11 el8 repo enable fails for > whatever reason (unavailable subscription) Do you have such a box? Because w/o the sat repo, you get a lot of packages missing and the upgrade should be inhibited *anyways* I opened https://github.com/oamg/leapp-repository/pull/994 as a safe-guard, but I still don't see how this is not already "properly" reported by leapp. Evgeni, Should this bugzilla be moved over to RHEL based upon comment 2? Thanks! (In reply to Brad Buckingham from comment #3) > Should this bugzilla be moved over to RHEL based upon comment 2? Not right now, no. I still need to try to reproduce the actual issue. So Lukas said this should be reproducibe when the Satellite repo is unavailable, but this doesn't seem to work for me?
I started with a fresh 6.11-on-rhel7 machine (6.11.4.1 on 7.9 to be precise) and installed latest leapp bits on it:
python2-leapp-0.15.0-2.el7_9.noarch
leapp-upgrade-el7toel8-0.17.0-1.el7_9.noarch
leapp-deps-0.15.0-2.el7_9.noarch
leapp-0.15.0-2.el7_9.noarch
leapp-upgrade-el7toel8-deps-0.17.0-1.el7_9.noarch
Now, I wanted to try a disconnected upgrade, as that one is the easiest to simulate unavailable repositories with.
Without configuring *any* repositories, leapp rightfully yells at me that this is not going to work:
# leapp preupgrade --no-rhsm
…
============================================================
UPGRADE INHIBITED
============================================================
Upgrade has been inhibited due to the following problems:
1. Inhibitor: Using RHSM has been skipped but no custom or RHUI repositories have been delivered.
Consult the pre-upgrade report for details and possible remediation.
============================================================
UPGRADE INHIBITED
============================================================
So I added BaseOS and AppStream of 8.7 as available on download.devel:
# cat /etc/yum.repos.d/rhel8.repo
[BaseOS]
name=rhel-8-for-x86_64-baseos-rpms
baseurl=http://download.devel.redhat.com/released/RHEL-8/8.7.0/BaseOS/x86_64/os/
[AppStream]
name=rhel-8-for-x86_64-appstream-rpms
baseurl=http://download.devel.redhat.com/released/RHEL-8/8.7.0/AppStream/x86_64/os/
This makes leapp *try* an upgrade, but it very clearly fails on dependencies:
# leapp preupgrade --no-rhsm --enablerepo BaseOS --enablerepo AppStream
…
============================================================
ERRORS
============================================================
2022-12-02 11:08:43.050700 [ERROR] Actor: dnf_transaction_check
Message: DNF execution failed with non zero exit code.
STDOUT:
Last metadata expiration check: 0:01:09 ago on Fri Dec 2 11:07:32 2022.
Package foreman-installer-katello-1:3.1.2.8-1.el7sat.noarch is already installed.
Package rubygem-foreman_maintain-1:1.0.18-1.el7sat.noarch is already installed.
Package satellite-installer-6.11.0.7-1.el7sat.noarch is already installed.
Package katello-4.3.0-3.el7sat.noarch is already installed.
Package foreman-installer-1:3.1.2.8-1.el7sat.noarch is already installed.
STDERR:
No matches found for the following disable plugin patterns: subscription-manager
The following modules were requested to be enabled, but they are unavailable: virt:av, satellite:el8
Warning: Package marked by Leapp to install not found in repositories metadata: rubygem-foreman_remote_execution rubygem-smart_proxy_dynflow rubygem-foreman-tasks rubygem-foreman_theme_satellite rubygem-smart_proxy_ansible rubygem-foreman_templates rubygem-hammer_cli_foreman_remote_execution rubygem-foreman_openscap rubygem-hammer_cli_katello rubygem-smart_proxy_remote_execution_ssh rubygem-foreman_hooks rubygem-smart_proxy_pulp rubygem-hammer_cli_foreman_virt_who_configure rubygem-hammer_cli_foreman_openscap rubygem-katello python38-pulp-certguard postgresql-evr rubygem-hammer_cli_foreman_ansible rubygem-hammer_cli_foreman_admin rubygem-foreman_rh_cloud rubygem-smart_proxy_openscap rpcgen rubygem-foreman_virt_who_configure rubygem-hammer_cli python38-pulpcore rubygem-hammer_cli_foreman_azure_rm rubygem-foreman_azure_rm gdk-pixbuf2-xlib rubygem-foreman_bootdisk python3-pyxattr ivy-local python38-pulp-container rubygem-hammer_cli_foreman_templates rubygem-hammer_cli_foreman_bootdisk rubygem-foreman_webhooks rubygem-hammer_cli_foreman_tasks python38-pulp-ansible rubygem-smart_proxy_discovery rubygem-hammer_cli_foreman_webhooks rubygem-foreman_leapp rubygem-hammer_cli_foreman_discovery rubygem-foreman_discovery python38-pulp-rpm rubygem-smart_proxy_dynflow_core log4j12 rubygem-hammer_cli_foreman rubygem-foreman_ansible python38-pulp-file python3-javapackages
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp-upgrade-el7toel8 leapp python2-leapp
Transaction check:
Problem 1: package foreman-installer-katello-1:3.1.2.8-1.el7sat.noarch requires katello-certs-tools, but none of the providers can be installed
- package katello-certs-tools-2.9.0-1.el7sat.noarch requires python-setuptools, but none of the providers can be installed
- conflicting requests
Problem 2: package rubygem-foreman_maintain-1:1.0.18-1.el7sat.noarch requires rh-postgresql12-postgresql-syspaths, but none of the providers can be installed
- package rh-postgresql12-postgresql-syspaths-12.11-1.el7.x86_64 requires rh-postgresql12-runtime, but none of the providers can be installed
- conflicting requests
Problem 3: package katello-4.3.0-3.el7sat.noarch requires candlepin >= 2.0, but none of the providers can be installed
- package candlepin-4.1.14-1.el7sat.noarch requires /usr/bin/python, but none of the providers can be installed
- conflicting requests
Problem 4: package foreman-installer-1:3.1.2.8-1.el7sat.noarch requires rh-ruby27-ruby(release), but none of the providers can be installed
- package rh-ruby27-ruby-libs-2.7.6-131.el7.x86_64 requires rh-ruby27-runtime, but none of the providers can be installed
- conflicting requests
Problem 5: package foreman-installer-katello-1:3.1.2.8-1.el7sat.noarch requires katello-certs-tools, but none of the providers can be installed
- package katello-certs-tools-2.9.0-1.el7sat.noarch requires python-setuptools, but none of the providers can be installed
- package satellite-installer-6.11.0.7-1.el7sat.noarch requires foreman-installer-katello >= 3.14.0, but none of the providers can be installed
- package python-setuptools-0.9.8-7.el7.noarch requires python-backports-ssl_match_hostname, but none of the providers can be installed
- conflicting requests
============================================================
END OF ERRORS
============================================================
Well, this means I need to add Satellite repos?
# cat /etc/yum.repos.d/satellite.repo
[satellite-6.11-for-rhel-8-x86_64-rpms]
name=satellite-6.11-for-rhel-8-x86_64-rpms
baseurl=http://compose.sat.engineering.redhat.com/composes/latest-Satellite-6.11-RHEL-8/compose/Satellite/x86_64/os/
[satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
name=satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
baseurl=http://compose.sat.engineering.redhat.com/composes/latest-Satellite-6.11-RHEL-8/compose/Maintenance/x86_64/os/
# leapp preupgrade --no-rhsm --enablerepo BaseOS --enablerepo AppStream --enablerepo satellite-6.11-for-rhel-8-x86_64-rpms --enablerepo satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
This succeeds -- but that part was rather obvious.
So I tried applying a patch similar to what I did in https://github.com/oamg/leapp-repository/pull/994 -- but this time asking it to install a non-existing package.
Sadly, this doesn't make leapp abort/inhibit the update, it just ignores that the package couldn't be installed.
Same for an unavailable module.
/var/log/leapp/leapp-preupgrade.log does contain debug output that those could not be found, but that's it.
no mention in /var/log/leapp/leapp-report.txt either :(
And if I inject a satellite.rpm that actually has dependencies that cannot be satisfied, I get (without my linked patch):
============================================================
ERRORS
============================================================
2022-12-02 13:36:50.137105 [ERROR] Actor: dnf_transaction_check
Message: DNF execution failed with non zero exit code.
STDOUT:
Last metadata expiration check: 0:00:59 ago on Fri Dec 2 13:35:49 2022.
Package foreman-installer-katello-1:3.1.2.8-1.el7sat.noarch is already installed.
Package rubygem-foreman_maintain-1:1.0.18-1.el7sat.noarch is already installed.
Package satellite-installer-6.11.0.7-1.el7sat.noarch is already installed.
Package katello-4.3.0-3.el7sat.noarch is already installed.
Package foreman-installer-1:3.1.2.8-1.el7sat.noarch is already installed.
STDERR:
No matches found for the following disable plugin patterns: subscription-manager
The following modules were requested to be enabled, but they are unavailable: virt:av
Warning: Package marked by Leapp to install not found in repositories metadata: rpcgen gdk-pixbuf2-xlib python3-pyxattr ivy-local log4j12 python3-javapackages
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp-upgrade-el7toel8 leapp python2-leapp
Transaction check:
Problem: problem with installed package satellite-6.11.4.1-1.el7sat.noarch
- cannot install the best update candidate for package satellite-6.11.4.1-1.el7sat.noarch
- satellite-6.11.4.1-1.el7sat.noarch does not belong to a distupgrade repository
- nothing provides evgeni-is-crazy needed by satellite-6.11.4.2-1.el8sat.noarch
============================================================
END OF ERRORS
============================================================
And with the linked patch:
============================================================
ERRORS
============================================================
2022-12-02 13:40:48.888490 [ERROR] Actor: dnf_transaction_check
Message: DNF execution failed with non zero exit code.
STDOUT:
Last metadata expiration check: 0:01:05 ago on Fri Dec 2 13:39:41 2022.
Package foreman-installer-katello-1:3.1.2.8-1.el7sat.noarch is already installed.
Package rubygem-foreman_maintain-1:1.0.18-1.el7sat.noarch is already installed.
Package satellite-installer-6.11.0.7-1.el7sat.noarch is already installed.
Package katello-4.3.0-3.el7sat.noarch is already installed.
Package satellite-6.11.4.1-1.el7sat.noarch is already installed.
Package foreman-installer-1:3.1.2.8-1.el7sat.noarch is already installed.
STDERR:
No matches found for the following disable plugin patterns: subscription-manager
The following modules were requested to be enabled, but they are unavailable: virt:av
Warning: Package marked by Leapp to install not found in repositories metadata: rpcgen gdk-pixbuf2-xlib python3-pyxattr ivy-local log4j12 python3-javapackages
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp-upgrade-el7toel8 leapp python2-leapp
Transaction check:
Problem 1: cannot install the best candidate for the job
- nothing provides evgeni-is-crazy needed by satellite-6.11.4.2-1.el8sat.noarch
Problem 2: problem with installed package satellite-6.11.4.1-1.el7sat.noarch
- cannot install the best update candidate for package satellite-6.11.4.1-1.el7sat.noarch
- satellite-6.11.4.1-1.el7sat.noarch does not belong to a distupgrade repository
- nothing provides evgeni-is-crazy needed by satellite-6.11.4.2-1.el8sat.noarch
============================================================
END OF ERRORS
============================================================
Which makes it a tad more explicit, I guess.
But still, no reproducer of the original issue reported.
@lpramuk until today, I was unable to reproduce the original issue you've reported. Can you provide exact reproducer steps please? (https://github.com/oamg/leapp-repository/pull/994 got merged, but even without it I wasn't able to reproduce) After talking with Lukas on IRC, we decided to close this BZ for now, as none of us can come up with a reproducer. The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days |