Project

General

Profile

Bug #11673

Updated by Nathan Cutler almost 9 years ago

I recently moved @ceph-objectstore-tool@ from the "ceph-test" package Debian's debug packages ought to the main "ceph" package, in ticket #11376. 

 Soon after this was completed, our upgrade test suites began to fail when apt updated ceph-dbg. As one example: 

 http://pulpito.ceph.com/teuthology-2015-05-15_17:18:01-upgrade:firefly-x-hammer-distro-basic-vps/894814/ 

 <pre> 
 2015-05-15T18:51:18.423 INFO:teuthology.orchestra.run.burnupi49.stderr:dpkg: error processing archive /var/cache/apt/archives/ceph-dbg_0.94.1-111-gb69fb89-1trusty_amd64.deb (--unpack): 
 2015-05-15T18:51:18.423 INFO:teuthology.orchestra.run.burnupi49.stderr: trying to overwrite '/usr/lib/debug/usr/bin/ceph-objectstore-tool', which is also in package ceph-test-dbg 0.80.9-242-g7d11b19-1trusty 
 2015-05-15T18:51:18.552 INFO:teuthology.orchestra.run.burnupi49.stderr:dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) 
 </pre> 

 Ordinarily this would have been addressed by the following dependency chain: 

 # apt-get updates "ceph" to a newer version with @objectstore-tool@ present. 
 # With the @Replaces:@ and @Breaks:@" changes in #11376, the new "ceph" .deb depends on a newer version of "ceph-test" with the @objectstore-tool@ removed, so apt updates that as well. 
 # The dbg packages depend on their respective binary packages. This was the newer versions case for many of our ceph and ceph-test, so apt updates them as well. 

 The problem is with that third step. This Teuthology test uncovered the fact that ceph-test-dbg did not have a specific dependency on ceph-test. When apt updated ceph-test, packages, but it did was not know it also needed to update the case for ceph-test-dbg as well. or rest-bench-dbg. 

 The explicit Add the dependencies between -dbg packages and main subpackages are already present for a lot of on the ceph packages that we ship (like ceph itself with ceph-dbg, or ceph-mds and ceph-mds-dbg, etc), but two newer subpackages are missing the explicit dependency: ceph-test-dbg and rest-bench-dbg. relevant binary packages, pinned to "= ${binary:Version}" per convention.

Back