View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0014593||Buildsys||community buildsys||public||2018-03-19 13:43||2018-03-26 14:14|
|Summary||0014593: Incorrect naming scheme for a build of ceph-ansible prevents subsequent updates to be installed|
|Description||As per subject,|
an incorret naming scheme applied to a beta build of ceph-ansible is preventing more recent updates from being installed.
More specifically, the beta2 build at http://cbs.centos.org/koji/buildinfo?buildID=21155 is named ceph-ansible-3.1.0beta2-1.el7 while it should have been ceph-ansible-3.1.0-0.beta2-1.el7 , like beta3 http://cbs.centos.org/koji/buildinfo?buildID=21989
The above build has been, at some point, tagged in the following tags:
It would be useful to delete the build entirely. Not sure if there are alternatives, other than pushing a 3.1.1 build.
|Tags||No tags attached.|
We discussed this in the CBS meeting today: https://www.centos.org/minutes/2018/March/centos-devel.2018-03-19-14.00.html
Once a package makes it out to mirror.centos.org it is -very- hard to remove it. We recommend that the SIG push out a package that bumps the NVR and ensures an upgrade path from the misnamed beta2 builds to the good ones.
Thanks Brian for looking into this.
The build scripts we used back in the beta2 days did not understand what to do with the "beta" string, so it inserted it into the "Version" field of the .spec, rather than the "Release" field.
https://github.com/ceph/ceph-ansible/pull/2317 fixed this, but it only landed in ceph-ansible v3.1.0beta3.
For the immediate term, I will build a ceph-ansible-3.1.0beta4-1.el7 to override ceph-ansible-3.1.0beta2-1.el7, and we should push this out.
For the medium term, I will update my build script at https://github.com/ktdreyer/ceph-ansible-cbs to mangle the Version and Release fields for all future v3.1.0* Git tags.
For the long term, we should update ceph-ansible's build scripts to pessimistically bail if it encounters an unsafe Git tag format, rather than liberally writing any characters into the RPM Version field.
Will you add a link in the bug to the ceph-ansible-3.1.0beta4-1.el7 build when available?
I did some testing with rpmdev-vercmp and I came up with a slightly different solution for this.
For any ceph-ansible v3.1.0* tags upstream, I will append a ".0" to the version number in the RPM package. RPM treats "v22.214.171.124" as a higher version number than "v3.1.0beta2".
I've rebuilt ceph-ansible's 3.1.0beta4 release in CBS with this numbering scheme tweak, as ceph-ansible-126.96.36.199-0.beta4.1.el7 (https://cbs.centos.org/koji/buildinfo?buildID=22401)
The final (non-beta, non-RC) ceph-ansible CBS build will simply be ceph-ansible-188.8.131.52-1.el7, so I won't have to worry about complicating this hack when we get to the final v3.1.0 Git tag.
The change to my build script is https://github.com/ktdreyer/ceph-ansible-cbs/commit/9011f4f1103713460059a9c17beb72d872fd1a16
We can drop this hack entirely when the developers branch stable-3.1 upstream and tag v3.1.1 there.
Thanks Ken, the new build  has been tagged into all repos where previously beta2 has been, to make sure it overrides that.
For the future, we should probably avoid tagging for -release beta builds; luckily in this occasion the jewel repo was not affected and the luminous repo is supposed to receive future RCs and final releases of the 3.1 build so this wasn't a big issue.
I think the bug can be closed!
|2018-03-19 13:43||gfidente||New Issue|
|2018-03-19 15:45||bstinson||Note Added: 0031463|
|2018-03-19 15:45||bstinson||Status||new => feedback|
|2018-03-20 22:17||ktdreyer||Note Added: 0031476|
|2018-03-21 12:04||gfidente||Note Added: 0031477|
|2018-03-21 12:04||gfidente||Status||feedback => assigned|
|2018-03-21 20:13||ktdreyer||Note Added: 0031486|
|2018-03-22 09:56||gfidente||Note Added: 0031488|
|2018-03-26 14:14||bstinson||Status||assigned => resolved|
|2018-03-26 14:14||bstinson||Resolution||open => fixed|