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
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".
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?
(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
Oh, sorry, I was looking at master, not at build branch.
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.
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?
We can also enable it through rhevm-setup in next 3.2.z release.
(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.
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.
Can we release a downstream 3.2.z and put something in versionlock to solve this?
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.
(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.
Marking this as test only, need to be tested after we change 3.2.z for including tools in versionlock.list.
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.
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?
patch pushed downstream only patch Change-Id: Id9f2d43f6cc83de885c9bff9b12a606d57b10069
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.
ok, rhevm-3.2.4-0.44.el6ev -> rhevm-3.3.0-0.38.rc.el6ev (yum update rhevm-setup ; engine-setup ; yum update)
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