Description of problem: The ceph-devel and python-ceph packages were split out, but there were no version numbers added to the Obsoletes at the time of the split. This means that EPEL obsoletes packages that are far newer than ours. This impacts packages coming from upstream's "gitbuilder" system (for example), as well as any other upstream RPMs until this package split is done upstream. Version-Release number of selected component (if applicable): ceph-0.80.7-0.4.el7 Steps to Reproduce: 1. Enable the EPEL repository along with one of Ceph's upstream repositories, (for example, a gitbuilder repository) that contains a version of Ceph newer than 0.80.7. 2. "yum install ceph" Actual results: yum fails to install ceph, quitting with dependency issues. Expected results: The newer package should win, and ceph should not fail to install. Additional info: This is reported downstream at http://tracker.ceph.com/issues/10893
Created attachment 992352 [details] patch against epel7 which adds Obsoletes version numbers I'm attaching a patch against the epel7 dist-git branch which adds version numbers to the Obsoletes. I've chosen to use a version+release number that's lower than what we currently ship in EPEL (0.80.7-0.4), but newer than what we shipped in the last EPEL update (0.80.5).
Created attachment 992354 [details] patch against epel7 which adds Obsoletes version numbers Oops; I attached the wrong patch file. Here is the correct one, against ceph's epel7 branch.
Created attachment 992367 [details] patch against master which adds Obsoletes version numbers Here is a similar patch against dist-git's master (Rawhide).
This does not really help. A lot of upstream packages are still epoch 0 and making the Obsoletes versioned does not help there. Take 0.80.8 for example which afaik is still of epoch 0. Not to mention that ceph-deploy can be used to install older versions of ceph (i.e. pre-firefly) and it would not help there either. The proper way to fix this is once again to let ceph-deploy make yum-plugin-priorities handle Obsoletes properly, i.e. echo "check_obsoletes=1" >> /etc/yum/pluginconf.d/priorities.conf Nothing else will really help here.
My concern is that there are many users who deploy ceph without configuring yum's plugin to check obsoletes, or use older versions of ceph-deploy. What are the downsides to taking these patches in Fedora and EPEL? Aren't most Obsoletes supposed to have version numbers?
Well, downsides? Probably none. The thing is that it does not really help most of the time. AFAICR, I had some troubles with that approach even with versioned Obsoletes. Maybe, it was just that Hammer was still of Epoch 0 or something similar, maybe it was the fact that ceph-devel-compat provides ceph-devel. Anyway, it should get tested to see if it actually helps in any meaningful scenario (I'm not even sure if yum does not ignore the version in Obsoletes altogether).
Comment on attachment 992354 [details] patch against epel7 which adds Obsoletes version numbers btw: The patch looks sane and it certainly should not break anything so feel free to push the changes to the dist-git repo and they will get merged once the packages get updated. It is just that I do not want to go through the bodhi process just for this.
Patch applied to master (Rawhide): http://pkgs.fedoraproject.org/cgit/ceph.git/commit/?id=a6871cb0d5e0a9ce2dc7e67fc3900a577f28c97c Patch applied to epel7: http://pkgs.fedoraproject.org/cgit/ceph.git/commit/?h=epel7&id=c9a91bad2f3c3083b8dad7a1feb9f84994c2f35c
ceph-0.80.7-0.5.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/ceph-0.80.7-0.5.el7
Package ceph-0.80.7-0.5.el7: * should fix your issue, * was pushed to the Fedora EPEL 7 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing ceph-0.80.7-0.5.el7' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2015-1607/ceph-0.80.7-0.5.el7 then log in and leave karma (feedback).
ceph-0.80.7-0.6.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-40bf39f476
ceph-0.80.7-0.6.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'yum --enablerepo=epel-testing update ceph' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-40bf39f476
ceph-0.80.7-0.6.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.