Description of problem: 1] By default, this package is not installed in RHVH: ~~~ # rpm -qa| grep vdsm-hook-ethtool-options ~~~ 2] If we try to installed with just the package name, it will try to search for vdsm version of 4.4.8 host with error: ~~~ # yum install vdsm-hook-ethtool-options Error: Problem: cannot install the best candidate for the job - nothing provides vdsm = 4.40.80.6-1.el8ev needed by vdsm-hook-ethtool-options-4.40.80.6-1.el8ev.noarch ~~~ 3] If this package is installed with version information, then it can be installed in RHVH 4.3: ~~~ # yum install vdsm-hook-ethtool-options-4.40.70.6-1.el8ev Persisting: vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch.rpm Installed products updated. Installed: vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch ~~~ 4] After this, if the upgrade of RHVH is tried, it will again fail with the same error: ~~~ Error: Problem: cannot install the best update candidate for package vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch - nothing provides vdsm = 4.40.80.6-1.el8ev needed by vdsm-hook-ethtool-options-4.40.80.6-1.el8ev.noarch ~~~ 5] So, yes, removing this package vdsm-hook-ethtool-options and upgrading the host is a workaround Version-Release number of selected component (if applicable): RHVH 4.4.8 How reproducible: Always Steps to Reproduce: 1. Install a RHVH 4.4.7 2. Either try to install package vdsm-hook-ethtool-options or do RHVH upgrade with yum update 3. Upgrade/Install will fail. Actual results: Install fails Expected results: Install or Upgrade should work. Additional info:
(In reply to Ulhas Surse from comment #0) > Description of problem: > > 1] By default, this package is not installed in RHVH: > > ~~~ > # rpm -qa| grep vdsm-hook-ethtool-options > ~~~ > > 2] If we try to installed with just the package name, it will try to search > for vdsm version of 4.4.8 host with error: > > ~~~ > # yum install vdsm-hook-ethtool-options > Error: > Problem: cannot install the best candidate for the job > - nothing provides vdsm = 4.40.80.6-1.el8ev needed by > vdsm-hook-ethtool-options-4.40.80.6-1.el8ev.noarch > ~~~ > > 3] If this package is installed with version information, then it can be > installed in RHVH 4.3: > > ~~~ > # yum install vdsm-hook-ethtool-options-4.40.70.6-1.el8ev > Persisting: vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch.rpm > Installed products updated. > > Installed: > vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch > ~~~ > > > 4] After this, if the upgrade of RHVH is tried, it will again fail with the > same error: > > ~~~ > Error: > Problem: cannot install the best update candidate for package > vdsm-hook-ethtool-options-4.40.70.6-1.el8ev.noarch > - nothing provides vdsm = 4.40.80.6-1.el8ev needed by > vdsm-hook-ethtool-options-4.40.80.6-1.el8ev.noarch > ~~~ > > 5] So, yes, removing this package vdsm-hook-ethtool-options and upgrading > the host is a workaround > > Version-Release number of selected component (if applicable): > RHVH 4.4.8 > > How reproducible: > Always > > Steps to Reproduce: > 1. Install a RHVH 4.4.7 > 2. Either try to install package vdsm-hook-ethtool-options or do RHVH > upgrade with yum update > 3. Upgrade/Install will fail. If you have RHVH 4.4.7, then you need to install vdsm-hook-ethtool-options of the same version as it's include in the installed image. So in your case you probably have installed vdsm-4.40.70.6-1.el8ev you need to install vdsm-hook-ethtool-options-4.40.70.6-1.el8ev. Or you need to upgrade to RHV 4.4.8 and then you can install latest version of vdsm-hook-ethtool-options package
Given the experience with --nobest and ansible not too long ago, I wonder if that's the best way. How about just skipping vdsm-* in the loop?
and probably some code in imgbased to reinstall after upgrade, because IIUC right now we persist rpms and it's the old one that's there so it will not be reinstalled currently
AFAIU the problem is the result of removing the hooks from RHVH images and currently, if someone wants to have some of the vdsm hooks installed, he/she has to add some additional repositories. Given that RHVH is supposed to be a hermetic environment we should definitely not try to install some arbitrary versions of the hook packages - they rely on vdsm interfaces and if the versions don't match, they simply might not work. My suggestion would be to include an internal RPM repository that contains matching versions of the hook packages inside the RHVH image, so there's no need to add external ones and clients will always get the matching version of the hook package if desired.
Unfortunately we don't have any other feasible way to fix upgrade issue. We will need to remove a hook dependency to specific VDSM version and in future, if we will make some incompatible changes between VDSM and hooks, we will need to modify the code in a way that both VDSM and hooks will be backward/forward compatible (at least to the point the basic upgrade will work).
All referenced patches are merged, can this move to MODIFIED?
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 (Important: Red Hat Virtualization Host security and bug fix update [ovirt-4.4.9] 0-day), 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/RHSA-2021:4750