Bug 1011087 - [RHEVM] cannot upgrade RHEVM 3.2 to RHEVM 3.3 because of rhevm-tools-3.3.0-0.22.master.el6ev.noarch Requires: rhevm-notification-service = 3.2.3-0.43.el6ev
Summary: [RHEVM] cannot upgrade RHEVM 3.2 to RHEVM 3.3 because of rhevm-tools-3.3.0-0....
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine-setup
Version: 3.3.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: 3.3.0
Assignee: Sandro Bonazzola
QA Contact: Jiri Belka
URL:
Whiteboard: integration
Depends On:
Blocks: 1033003 3.3snap4
TreeView+ depends on / blocked
 
Reported: 2013-09-23 15:17 UTC by Martin Pavlik
Modified: 2015-04-07 03:10 UTC (History)
10 users (show)

Fixed In Version: is26
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1033003 (view as bug list)
Environment:
Last Closed: 2014-01-21 16:59:05 UTC
oVirt Team: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2014:0081 0 normal SHIPPED_LIVE new package: rhevm-setup-plugins 2014-01-21 21:42:33 UTC
oVirt gerrit 21779 0 None None None Never
oVirt gerrit 21831 0 None None None Never

Description Martin Pavlik 2013-09-23 15:17:54 UTC
Description of problem:
[RHEVM] cannot upgrade RHEVM 3.2 to RHEVM 3.3 because of rhevm-tools-3.3.0-0.22.master.el6ev.noarch Requires: rhevm-notification-service = 3.2.3-0.43.el6ev

Version-Release number of selected component (if applicable):
upgrading from sf20.3 to is15

How reproducible:
100%

Steps to Reproduce:
1. have sf20.3 installed
2. add repository for sf15
3. run yum update -y

Actual results:
upgrade not performed

Expected results:
successfull upgrade

Additional info:

--> Finished Dependency Resolution
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@rhevm32)
           Requires: rhevm-notification-service = 3.2.3-0.43.el6ev
           Removing: rhevm-notification-service-3.2.3-0.43.el6ev.noarch (@rhevm32)
               rhevm-notification-service = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.22.master.el6ev.noarch (rhevm33)
               rhevm-notification-service = 3.3.0-0.22.master.el6ev
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@rhevm32)
           Requires: rhevm-config = 3.2.3-0.43.el6ev
           Removing: rhevm-config-3.2.3-0.43.el6ev.noarch (@rhevm32)
               rhevm-config = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.22.master.el6ev.noarch (rhevm33)
               rhevm-config = 3.3.0-0.22.master.el6ev
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@rhevm32)
           Requires: rhevm-genericapi = 3.2.3-0.43.el6ev
           Removing: rhevm-genericapi-3.2.3-0.43.el6ev.noarch (@rhevm32)
               rhevm-genericapi = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.22.master.el6ev.noarch (rhevm33)
               rhevm-genericapi = 3.3.0-0.22.master.el6ev
Error: Package: rhevm-tools-3.3.0-0.22.master.el6ev.noarch (rhevm33)
           Requires: rhevm = 3.3.0-0.22.master.el6ev
           Installed: rhevm-3.2.3-0.43.el6ev.noarch (@rhevm32)
               rhevm = 3.2.3-0.43.el6ev
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest



Used repo file

[root@mp-rhevm32 ~]# cat /etc/yum.repos.d/rhevm.repo 
[rhevm33]
name=RHEVM 3.3
baseurl=http://10.34.63.204/repo-tlv-builds/is15/
enabled=1
gpgcheck=0

[rhevm32]
name=RHEVM 3.2
baseurl=http://download.englab.brq.redhat.com/pub/rhel/system/builds/sf20.3/
enabled=1
gpgcheck=0

Comment 1 Alon Bar-Lev 2013-09-23 15:24:31 UTC
The actual problem is not the upgrade, but executing "yum update".

The sequence of:

# yum update rhevm-setup
# engine-setup

Will upgrade system correctly.

But we do not want to block plain "yum update".

Comment 2 Sandro Bonazzola 2013-09-24 08:42:20 UTC
Upstream (working):
Obsoletes:	%{name}-config < 3.3.0
Obsoletes:	%{name}-genericapi < 3.3.0
Obsoletes:	%{name}-notification-service < 3.3.0
Obsoletes:	%{name}-tools-common < 3.3.0
Provides:	%{name}-config = %{version}-%{release}
Provides:	%{name}-genericapi = %{version}-%{release}
Provides:	%{name}-notification-service = %{version}-%{release}
Provides:	%{name}-tools-common = %{version}-%{release}

Downstream:
Obsoletes: %{name}-genericapi
Obsoletes: %{name}-notification-service
Obsoletes: %{name}-tools-common
Obsoletes: %{name}-config

For some reason http://gerrit.ovirt.org/#/c/16753/2 is not in downstream package.
Alon do you know why it has not been included?

Comment 3 Alon Bar-Lev 2013-09-24 09:53:25 UTC
(In reply to Sandro Bonazzola from comment #2)
> Upstream (working):
> Obsoletes:	%{name}-config < 3.3.0
> Obsoletes:	%{name}-genericapi < 3.3.0
> Obsoletes:	%{name}-notification-service < 3.3.0
> Obsoletes:	%{name}-tools-common < 3.3.0
> Provides:	%{name}-config = %{version}-%{release}
> Provides:	%{name}-genericapi = %{version}-%{release}
> Provides:	%{name}-notification-service = %{version}-%{release}
> Provides:	%{name}-tools-common = %{version}-%{release}
> 
> Downstream:
> Obsoletes: %{name}-genericapi
> Obsoletes: %{name}-notification-service
> Obsoletes: %{name}-tools-common
> Obsoletes: %{name}-config
> 
> For some reason http://gerrit.ovirt.org/#/c/16753/2 is not in downstream
> package.
> Alon do you know why it has not been included?

I do not follow... where do you look when you refer to downstream?

What is missing from[1]?

[1] http://git.engineering.redhat.com/?p=users/mgoldboi/ovirt-engine-3.3;a=blob;f=ovirt-engine.spec.in;h=26f6ec1bba5ca7f8037d168679a492f5fdda4797;hb=build#l401

Comment 4 Sandro Bonazzola 2013-09-24 10:33:04 UTC
Oh, sorry, I was looking at master, not at build branch.

Comment 5 Sandro Bonazzola 2013-09-24 14:43:16 UTC
Reducing the severity to medium: 

(In reply to Alon Bar-Lev from comment #1)

> The sequence of:
> 
> # yum update rhevm-setup
> # engine-setup
> 
> Will upgrade system correctly.

Comment 6 Sandro Bonazzola 2013-09-26 12:06:03 UTC
looking at: /etc/yum/pluginconf.d/versionlock.conf

 [main]
 enabled = 1
 locklist = /etc/yum/pluginconf.d/versionlock.list
 #  Uncomment this to lock out "upgrade via. obsoletes" etc. (slower)
 # follow_obsoletes = 1

Proposed solution:
add a note in the upgrade guide to uncomment "follow_obsoletes = 1" in /etc/yum/pluginconf.d/versionlock.conf

May this be acceptable?

Comment 7 Sandro Bonazzola 2013-09-26 12:16:15 UTC
We can also enable it through rhevm-setup in next 3.2.z release.

Comment 8 Alon Bar-Lev 2013-09-26 13:07:23 UTC
(In reply to Sandro Bonazzola from comment #7)
> We can also enable it through rhevm-setup in next 3.2.z release.

I would like to avoid as much as possible modifying configuration of yum... adding the versionlock is one thing, adding/removing lines from the versionlock.list is minor, but modifying configuration can effect other packages.

Comment 9 Sandro Bonazzola 2013-09-26 13:42:53 UTC
Without changing that configuration file it seems impossible to resolve the dependency tree.

versionlock.list contains:

 rhevm-webadmin-portal-3.2.3-0.43.el6ev.noarch
 rhevm-notification-service-3.2.3-0.43.el6ev.noarch
 rhevm-backend-3.2.3-0.43.el6ev.noarch
 rhevm-restapi-3.2.3-0.43.el6ev.noarch
 rhevm-userportal-3.2.3-0.43.el6ev.noarch
 rhevm-genericapi-3.2.3-0.43.el6ev.noarch
 rhevm-tools-common-3.2.3-0.43.el6ev.noarch
 rhevm-config-3.2.3-0.43.el6ev.noarch
 rhevm-3.2.3-0.43.el6ev.noarch
 rhevm-dbscripts-3.2.3-0.43.el6ev.noarch

rhevm-tools obsoletes:
 Obsoletes:	%{name}-config < 3.3.0
 Obsoletes:	%{name}-genericapi < 3.3.0
 Obsoletes:	%{name}-notification-service < 3.3.0
 Obsoletes:	%{name}-tools-common < 3.3.0


 rhevm-tools is not in versionlock.list and provides an update for packages which are locked.
 rhevm-tools requires the same version of rhevm, which is locked.
 rhevm-tools is pulled in as update because it's not locked but fails requiring rhevm.

I've first tried with the following solution:
 - In rhevm package, removed dep on rhevm-tools and added:
   %{name}-config = 3.3.0
   %{name}-genericapi = 3.3.0
   %{name}-notification-service = 3.3.0
   %{name}-tools-common = 3.3.0
 - in rhevm-tools removed the dependency on rhevm

However, yum update shows:

--> Running transaction check
---> Package rhevm-config.noarch 0:3.2.3-0.43.el6ev will be obsoleted
--> Processing Dependency: rhevm-config = 3.2.3-0.43.el6ev for package: rhevm-3.2.3-0.43.el6ev.noarch
---> Package rhevm-genericapi.noarch 0:3.2.3-0.43.el6ev will be obsoleted
--> Processing Dependency: rhevm-genericapi = 3.2.3-0.43.el6ev for package: rhevm-3.2.3-0.43.el6ev.noarch
---> Package rhevm-notification-service.noarch 0:3.2.3-0.43.el6ev will be obsoleted
--> Processing Dependency: rhevm-notification-service = 3.2.3-0.43.el6ev for package: rhevm-3.2.3-0.43.el6ev.noarch
---> Package rhevm-tools.noarch 0:3.3.0-0.0.50.master.master.el6ev will be obsoleting
---> Package rhevm-tools-common.noarch 0:3.2.3-0.43.el6ev will be obsoleted
--> Finished Dependency Resolution
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
           Requires: rhevm-genericapi = 3.2.3-0.43.el6ev
           Removing: rhevm-genericapi-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
               rhevm-genericapi = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.0.50.master.master.el6ev.noarch (local)
               rhevm-genericapi = 3.3.0-0.0.50.master.master.el6ev
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
           Requires: rhevm-notification-service = 3.2.3-0.43.el6ev
           Removing: rhevm-notification-service-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
               rhevm-notification-service = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.0.50.master.master.el6ev.noarch (local)
               rhevm-notification-service = 3.3.0-0.0.50.master.master.el6ev
Error: Package: rhevm-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
           Requires: rhevm-config = 3.2.3-0.43.el6ev
           Removing: rhevm-config-3.2.3-0.43.el6ev.noarch (@qa-latest-sf)
               rhevm-config = 3.2.3-0.43.el6ev
           Obsoleted By: rhevm-tools-3.3.0-0.0.50.master.master.el6ev.noarch (local)
               rhevm-config = 3.3.0-0.0.50.master.master.el6ev

I don't understand why only rhevm-config, rhevm-notification-service and rhevm-genericapi are affected and not also rhevm-tools-common.noarch.
It seems like a yum bug, working correctly only on one of the Provides packages.

Upstream is not affected by this because the package renaming has been done in 3.2.z so installing latest 3.2.2 and upgrading to 3.3.0 doesn't show this kind of errors.

Comment 10 Alon Bar-Lev 2013-09-27 07:37:22 UTC
Can we release a downstream 3.2.z and put something in versionlock to solve this?

Comment 11 Sandro Bonazzola 2013-09-27 08:31:49 UTC
Well, it seems that adding rhevm-tools-3.2.3-0.43.el6ev.noarch to /etc/yum/pluginconf.d/versionlock.list solve the dependency solving issue.

Need to check if upgrade still works with that workaround.

Comment 12 Sandro Bonazzola 2013-10-02 14:40:12 UTC
(In reply to Sandro Bonazzola from comment #11)
> Well, it seems that adding rhevm-tools-3.2.3-0.43.el6ev.noarch to
> /etc/yum/pluginconf.d/versionlock.list solve the dependency solving issue.
> 
> Need to check if upgrade still works with that workaround.

It seems that also rhevm-setup works fine with that workaround.

Comment 13 Sandro Bonazzola 2013-11-21 08:56:22 UTC
Marking this as test only, need to be tested after we change 3.2.z for including tools in versionlock.list.

Comment 15 Sandro Bonazzola 2013-11-22 11:53:39 UTC
It seems that dependencies have been changed between 3.2.3 and 3.2.4.
Now, after having fixed the rhevm-tools dependency I've the following error:

Error: Package: redhat-support-plugin-rhev-3.3.0-11.el6ev.noarch (qa-latest)
           Requires: rhevm >= 3.3.0
           Installed: rhevm-3.2.4-0.44.el6ev.noarch (@qa-latestsf)
               rhevm = 3.2.4-0.44.el6ev
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

# rpm -qv redhat-support-plugin-rhev rhevm
redhat-support-plugin-rhev-3.2.1-2.el6ev.noarch
rhevm-3.2.4-0.44.el6ev.noarch

I'll try to fix also this dependency resolution using the locklist.
However, redhat-support-plugin-rhev doesn't follow other packages naming convention (doesn't contain rhevm) so the change is a bit bigger.

This will also require a fix in 3.3.0 setup (downstream only I think) so I've to move this back to assigned.

Comment 16 Sandro Bonazzola 2013-11-22 11:55:20 UTC
Removing TestOnly. Martin, can you confirm that if you repeat it with 3.2.4 you have the same dependency issue on redhat-support-plugin-rhev?

Comment 17 Sandro Bonazzola 2013-11-22 13:40:31 UTC
patch pushed downstream only patch Change-Id: Id9f2d43f6cc83de885c9bff9b12a606d57b10069

Comment 18 Alon Bar-Lev 2013-11-22 15:15:59 UTC
support plugin should not depend on explicit engine version it should work with both 3.2 and 3.3 as we discussed in the past. adding more components to use the versionlock abnormality is something that we should avoid almost at any cost.

Comment 22 Jiri Belka 2013-12-10 13:51:09 UTC
ok, rhevm-3.2.4-0.44.el6ev -> rhevm-3.3.0-0.38.rc.el6ev (yum update rhevm-setup ; engine-setup ; yum update)

Comment 23 errata-xmlrpc 2014-01-21 16:59:05 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.

http://rhn.redhat.com/errata/RHEA-2014-0081.html


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