View Issue Details

IDProjectCategoryView StatusLast Update
0014593Buildsyscommunity buildsyspublic2018-03-26 14:14
Reportergfidente 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Summary0014593: Incorrect naming scheme for a build of ceph-ansible prevents subsequent updates to be installed
DescriptionAs 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:
storage7-ceph-luminous-release
storage7-ceph-luminous-testing
storage7-ceph-jewel-testing

It would be useful to delete the build entirely. Not sure if there are alternatives, other than pushing a 3.1.1 build.
TagsNo tags attached.

Activities

bstinson

bstinson

2018-03-19 15:45

developer   ~0031463

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.
ktdreyer

ktdreyer

2018-03-20 22:17

reporter   ~0031476

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.
gfidente

gfidente

2018-03-21 12:04

reporter   ~0031477

Thanks Ken!

Will you add a link in the bug to the ceph-ansible-3.1.0beta4-1.el7 build when available?
ktdreyer

ktdreyer

2018-03-21 20:13

reporter   ~0031486

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 "v3.1.0.0" 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-3.1.0.0-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-3.1.0.0-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.
gfidente

gfidente

2018-03-22 09:56

reporter   ~0031488

Thanks Ken, the new build [1] 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!

1. https://cbs.centos.org/koji/buildinfo?buildID=22401

Issue History

Date Modified Username Field Change
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