Bug 1458655 - [downstream clone - 4.1.3] ovirt-hosted-engine-setup installs an older HE appliance and then upgrade to latest HE image (currently RHV-4.1)
Summary: [downstream clone - 4.1.3] ovirt-hosted-engine-setup installs an older HE app...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-hosted-engine-setup
Version: 4.0.7
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ovirt-4.1.3
: ---
Assignee: Simone Tiraboschi
QA Contact: Nikolai Sednev
URL:
Whiteboard:
: 1447130 1464392 (view as bug list)
Depends On: 1449557 1455606
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-06-05 06:40 UTC by rhev-integ
Modified: 2020-12-14 09:33 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
When ovirt-hosted-engine-setup searches for the appliance, it finds both rhevm-appliance and rhvm-appliance. Previously, while trying get the latest appliance version from ovirt-hosted-engine-setup, otopi built a transaction that installed rhevm-appliance and then upgraded it to rhvm-appliance, doubling the download size. This has now been fixed so that only rhvm-appliance is installed.
Clone Of: 1449557
Environment:
Last Closed: 2017-07-06 07:30:02 UTC
oVirt Team: Integration
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:1691 0 normal SHIPPED_LIVE ovirt-hosted-engine-setup bug fix update for RHV 4.1.3 2017-07-06 11:24:27 UTC
oVirt gerrit 77280 0 master MERGED appliance: allow two distinct appliance names 2020-12-14 09:42:06 UTC
oVirt gerrit 77335 0 ovirt-hosted-engine-setup-2.1 MERGED appliance: allow two distinct appliance names 2020-12-14 09:42:06 UTC

Description rhev-integ 2017-06-05 06:40:34 UTC
+++ This bug is a downstream clone. The original bug is: +++
+++   bug 1449557 +++
======================================================================

Description of problem:
ovirt-hosted-engine-setup currently unconditionally pulls in the latest available rhevm-appliance package. This will break upgrades from 3.6 as RHV4.1 is unable to import data from RHEV3.6

Version-Release number of selected component (if applicable):
ovirt-hosted-engine-setup-2.1.0.5-1.el7ev.noarch

How reproducible:
Install and run ovirt-hosted-engine-setup, using defaults. See ovirt-hosted-engine-setup pulling in rhevm-appliance and then upgrading to rhvm-appliance - which is RHV-4.1.

Steps to Reproduce:
1. yum install ovirt-hosted-engine-setup
2. ovirt-hosted-engine-setup
3. accept defaults, ovirt-hosted-engine-setup will install appliance with latest version

Actual results:
- rhevm-appliance is installed but not used (unnecessary bandwidth usage?)
- rhvm-appliance is installed and used

Expected results:
- ovirt-hosted-engine-setup asks if a upgrade is planned and pulls only rhevm-appliance. rhevm-appliance shall be installed otherwise - without pulling rhevm-appliance before.

Additional info:

(Originally by Andreas Bleischwitz)

Comment 1 rhev-integ 2017-06-05 06:40:39 UTC
(In reply to Andreas Bleischwitz from comment #0)
> Description of problem:
> ovirt-hosted-engine-setup currently unconditionally pulls in the latest
> available rhevm-appliance package. This will break upgrades from 3.6 as
> RHV4.1 is unable to import data from RHEV3.6
> 
> Version-Release number of selected component (if applicable):
> ovirt-hosted-engine-setup-2.1.0.5-1.el7ev.noarch
> 
> How reproducible:
> Install and run ovirt-hosted-engine-setup, using defaults. See
> ovirt-hosted-engine-setup pulling in rhevm-appliance and then upgrading to
> rhvm-appliance - which is RHV-4.1.
> 
> Steps to Reproduce:
> 1. yum install ovirt-hosted-engine-setup
> 2. ovirt-hosted-engine-setup
> 3. accept defaults, ovirt-hosted-engine-setup will install appliance with
> latest version
> 
> Actual results:
> - rhevm-appliance is installed but not used (unnecessary bandwidth usage?)

This is weird, Simone, can you check why rhevm-appliance is installed instead of rhvm-appliance?

> - rhvm-appliance is installed and used
> 
> Expected results:
> - ovirt-hosted-engine-setup asks if a upgrade is planned and pulls only
> rhevm-appliance.

No, ovirt-hosted-engine-setup is not an upgrade tool. It's not designed to perform upgrades.


> rhevm-appliance shall be installed otherwise - without
> pulling rhevm-appliance before.

rhvm-appliance-4.1 should be pulled in when ovirt-hosted-engine 2.1 is used.
Simone please check this, Yuval can help on appliance side if needed.

Updated bug summary accordingly with the bug description.

(Originally by Sandro Bonazzola)

Comment 3 rhev-integ 2017-06-05 06:40:44 UTC
OK, reproduced.
hosted-engine-setup tries to install ovirt-engine-appliance and the otopi yum packager tries to install rhevm-appliance and rhvm-appliance at the same time.

2017-05-22 08:22:57 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:76 Yum processing package 1:rhevm-appliance-4.0.20170307.0-1.el7ev.noarch for install
2017-05-22 08:22:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:76 Yum package 1:rhevm-appliance-4.0.20170307.0-1.el7ev.noarch queued
2017-05-22 08:22:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:76 Yum processing package 1:rhvm-appliance-4.1.20170413.0-1.el7.noarch for install
2017-05-22 08:22:58 DEBUG otopi.plugins.otopi.packagers.yumpackager yumpackager.verbose:76 Yum package 1:rhvm-appliance-4.1.20170413.0-1.el7.noarch queued

On the same system a direct 'yum install ovirt-engine-appliance' resolves just in rhvm-appliance

(Originally by Simone Tiraboschi)

Comment 4 rhev-integ 2017-06-05 06:40:47 UTC
Seems like a bug in otopi. Still discussing with Simone possible solutions - we might eventually decide to patch both otopi and hosted-engine-setup or the appliance, not sure. Setting needinfo on myself for now.

(Originally by didi)

Comment 5 rhev-integ 2017-06-05 06:40:51 UTC
(In reply to Yedidyah Bar David from comment #3)
> Seems like a bug in otopi. Still discussing with Simone possible solutions -
> we might eventually decide to patch both otopi and hosted-engine-setup or
> the appliance, not sure. Setting needinfo on myself for now.

Can we just remove the old package?

(Originally by Yaniv Kaul)

Comment 6 rhev-integ 2017-06-05 06:40:55 UTC
(In reply to Yaniv Kaul from comment #4)
> (In reply to Yedidyah Bar David from comment #3)
> > Seems like a bug in otopi. Still discussing with Simone possible solutions -
> > we might eventually decide to patch both otopi and hosted-engine-setup or
> > the appliance, not sure. Setting needinfo on myself for now.
> 
> Can we just remove the old package?

No, we need it for migrating from 3.6 to 4.0. In principle we can allow migrating directly to 4.1, but we do not want to test/support that.

(Originally by didi)

Comment 7 rhev-integ 2017-06-05 06:40:59 UTC
Simone, as discussed today, Sandro says we might better solve this using Obsoletes: or something like that in the spec file(s). Please ping or open a bug on otopi if you think we need to solve it.

To clarify, for reference, the bug in otopi we discuss is that if a plugin calls self.packager.install('package'), and 'package' is a virtual package provided by more than one existing package, all (or at least, both, in our current case) of them will be installed, instead of just one of them.

I agree this is a bug, but not sure if it's worth solving. Incidentally, in my very limited testing, yum and dnf chose different packages, so we can't rely on the existing logic of them for selecting the package we want - we have to be explicit, if it matters. And in current bug's case, it does.

(Originally by didi)

Comment 8 rhev-integ 2017-06-05 06:41:02 UTC
We cannot simply solve with Obsoletes or Conflicts:
- with obsoletes rhevm-appliance is not install-able anymore via yum because it's obsoleted by rhvm-appliance but we need to keep rhevm-appliance for 3.6/el6 -> 4.0/el7
- with conflicts otopi transaction will fail since otopi will still try to install both in the same transaction but then it will fail at rpm level since rhvm-appliance conflicts rhevm-appliance

(Originally by Simone Tiraboschi)

Comment 9 rhev-integ 2017-06-05 06:41:06 UTC
(In reply to Simone Tiraboschi from comment #7)
> We cannot simply solve with Obsoletes or Conflicts:
> - with obsoletes rhevm-appliance is not install-able anymore via yum because
> it's obsoleted by rhvm-appliance but we need to keep rhevm-appliance for
> 3.6/el6 -> 4.0/el7
> - with conflicts otopi transaction will fail since otopi will still try to
> install both in the same transaction but then it will fail at rpm level
> since rhvm-appliance conflicts rhevm-appliance

So what was the fix decision?

Any 3.6->4.0 upgrades supported only for 3.6->4.0 on which customer being warned during the upgrade itself and from the documentation, so for such flows only rhevm-appliance should be used, while for 4.0->4.1 simply "yum update ovirt-hosted-engine-setup" + "engine-setup" will do the upgrade for the engine 4.0->4.1.
For clean deployment of 4.1 rhvm-appliance is required.

(Originally by Nikolai Sednev)

Comment 10 Simone Tiraboschi 2017-06-07 14:04:24 UTC
*** Bug 1447130 has been marked as a duplicate of this bug. ***

Comment 13 Sandro Bonazzola 2017-06-23 11:24:01 UTC
*** Bug 1464392 has been marked as a duplicate of this bug. ***

Comment 15 errata-xmlrpc 2017-07-06 07:30:02 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, 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-2017:1691

Comment 16 Simone Tiraboschi 2017-07-31 09:33:54 UTC
*** Bug 1464392 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.