oVirt / ovirt-site

oVirt website
http://www.ovirt.org/
Other
87 stars 289 forks source link

yum upgrade failed #2737

Open dewongway opened 2 years ago

dewongway commented 2 years ago

Hi, I'm new to opening issues. If I miss including important information here please let me know.

I'm trying to yum upgrade on the ovirt-engine host. I have already upgraded the engine itself successfully. I'm now doing yum upgrade on the CentOS 8 Stream and it's giving me the following dependency errors. Am I missing a repository for the dependencies?

Thanks

 yum update
Last metadata expiration check: 0:46:35 ago on Thu 24 Feb 2022 04:05:00 PM CST.
Error: 
 Problem: package ansible-runner-service-1.0.7-1.el8.noarch requires ansible, but none of the providers can be installed
  - package ansible-2.9.27-2.el8.noarch conflicts with ansible-core > 2.11.0 provided by ansible-core-2.12.2-2.el8.x86_64
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.27-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.27-1.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.17-1.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.18-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.20-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.21-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.23-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.24-2.el8.noarch
  - cannot install the best update candidate for package ansible-runner-service-1.0.7-1.el8.noarch
  - cannot install the best update candidate for package ansible-2.9.27-2.el8.noarch
  - package ansible-2.9.20-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.16-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.19-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.23-1.el8.noarch is filtered out by exclude filtering
  - package ansible-1:2.9.27-4.el8.noarch is filtered out by exclude filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
dewongway commented 2 years ago

Here are the existing repos on the host:

# yum repolist
repo id                                                                                          repo name
appstream                                                                                        CentOS Stream 8 - AppStream
baseos                                                                                           CentOS Stream 8 - BaseOS
extras                                                                                           CentOS Stream 8 - Extras
ovirt-4.4                                                                                        Latest oVirt 4.4 Release
ovirt-4.4-centos-advanced-virtualization                                                         CentOS-8 - Advanced Virtualization
ovirt-4.4-centos-ceph-pacific                                                                    CentOS-8-stream - Ceph Pacific
ovirt-4.4-centos-gluster8                                                                        CentOS-8-stream - Gluster 8
ovirt-4.4-centos-nfv-openvswitch                                                                 CentOS-8 - NFV OpenvSwitch
ovirt-4.4-centos-openstack-victoria                                                              CentOS-8 - OpenStack victoria
ovirt-4.4-centos-opstools                                                                        CentOS-8 - OpsTools - collectd
ovirt-4.4-centos-opstools-vault                                                                  CentOS-8 - OpsTools - collectd - vault
ovirt-4.4-centos-ovirt44                                                                         CentOS-8 - oVirt 4.4
ovirt-4.4-copr:copr.fedorainfracloud.org:sac:gluster-ansible                                     Copr repo for gluster-ansible owned by sac
ovirt-4.4-copr:copr.fedorainfracloud.org:sbonazzo:EL8_collection                                 Copr repo for EL8_collection owned by sbonazzo
ovirt-4.4-epel                                                                                   Extra Packages for Enterprise Linux 8 - x86_64
ovirt-4.4-virtio-win-latest                                                                      virtio-win builds roughly matching what will be shipped in upcoming RHEL
powertools                                                                                       CentOS Stream 8 - PowerTools
sandrobonazzola commented 2 years ago

Moved to the site because the upgrade guide needs an update too. The guide is https://ovirt.org/documentation/upgrade_guide/index.html#Updating_the_Red_Hat_Virtualization_Manager_minor_updates

it says:

Update the base operating system and any optional packages installed on the Engine:

# yum update

But as ansible-core is obsoleting ansible and we require an older ansible version, this command should be:

# dnf upgrade --nobest
sandrobonazzola commented 2 years ago

@dewongway can you confirm that on your system running dnf upgrade --nobest solves ?

sandrobonazzola commented 2 years ago

@apinnick this is valid for both oVirt and RHV when RHEL 8.6 will GA as it introduces ansible-core 2.12 obsoleting ansible 2.9. The --nobest won't be needed once we switch to ansible-core 2.12 in oVirt 4.5 but shouldn't cause no harm even keeping it once we switch. @mwperina , @mnecas please keep me honest here :-)

apinnick commented 2 years ago

I will create a bug if you are sure that --nobest will not be a problem in the future.

Bug created: https://bugzilla.redhat.com/show_bug.cgi?id=2059877

dewongway commented 2 years ago

@sandrobonazzola Sorry I missed your comment before. I kind of worked around this issue before seeing your comment. What I did was that I locked the version of the ansible package, similar to the ovirt-engine* packages. That allowed yum update to proceed. I just removed ansible from the versionlock and tested your suggestion using --nobest. It seems to work.

However, I feel like locking the version is less messy as yum doesn't spill out the long list of complaints.

# dnf update --nobest
Last metadata expiration check: 0:07:19 ago on Thu 31 Mar 2022 07:38:01 PM CDT.
Dependencies resolved.

 Problem: package ansible-runner-service-1.0.7-1.el8.noarch requires ansible, but none of the providers can be installed
  - package ansible-2.9.27-2.el8.noarch conflicts with ansible-core > 2.11.0 provided by ansible-core-2.12.2-2.el8.x86_64
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.27-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.27-1.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.17-1.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.18-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.20-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.21-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.23-2.el8.noarch
  - package ansible-core-2.12.2-2.el8.x86_64 obsoletes ansible < 2.10.0 provided by ansible-2.9.24-2.el8.noarch
  - cannot install the best update candidate for package ansible-runner-service-1.0.7-1.el8.noarch
  - cannot install the best update candidate for package ansible-2.9.27-2.el8.noarch
  - package ansible-2.9.20-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.16-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.19-1.el8.noarch is filtered out by exclude filtering
  - package ansible-2.9.23-1.el8.noarch is filtered out by exclude filtering
  - package ansible-1:2.9.27-4.el8.noarch is filtered out by exclude filtering
================================================================================================================================================
 Package                             Architecture                  Version                               Repository                        Size
================================================================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 ansible-core                        x86_64                        2.12.2-2.el8                          appstream                        2.4 M

Transaction Summary
================================================================================================================================================
Skip  1 Package

Nothing to do.
Complete!
sandrobonazzola commented 2 years ago

@dewongway yes version locking will suppress the warnings but when we'll move to ansible-core you'll fail to upgrade because of the version locking while with --best it wil work in both cases at the cost of having a few warnings noise.