Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debian: fix package relationships after 40caf6a6 #18474

Merged
merged 2 commits into from Oct 23, 2017

Conversation

Projects
None yet
3 participants
@tchaikov
Copy link
Contributor

commented Oct 23, 2017

we have issues when running upgrade tests:

dpkg: error processing archive /var/cache/apt/archives/ceph-osd_13.0.0-2201-g6cc0b41-1trusty_amd64.deb (--unpack):
trying to overwrite '/usr/bin/ceph-osdomap-tool', which is also in package ceph-test 10.2.10-14-gcbaddae-1trusty

in 40caf6a, we moves some tools from ceph-test out into ceph-osd,
ceph-mon and ceph-base respectively. but didn't update the relationships
between these packages accordingly. this causes the upgrade failure.

see https://www.debian.org/doc/debian-policy/#document-ch-relationships
for more details on "Breaks" and "Conflicts".

Fixes: http://tracker.ceph.com/issues/21762
Signed-off-by: Kefu Chai kchai@redhat.com

@smithfarm

This comment has been minimized.

Copy link
Contributor

commented Oct 23, 2017

@tchaikov We can backport this together with 40caf6a right?

@smithfarm

This comment has been minimized.

Copy link
Contributor

commented Oct 23, 2017

Ah, already answered by http://tracker.ceph.com/issues/21762#note-17 . . . +1

@tchaikov

This comment has been minimized.

tchaikov added some commits Oct 23, 2017

debian: fix package relationships after 40caf6a
we have issues when running upgrade tests:

dpkg: error processing archive /var/cache/apt/archives/ceph-osd_13.0.0-2201-g6cc0b41-1trusty_amd64.deb (--unpack):
trying to overwrite '/usr/bin/ceph-osdomap-tool', which is also in package ceph-test 10.2.10-14-gcbaddae-1trusty

in 40caf6a, we moves some tools from ceph-test out into ceph-osd,
ceph-mon and ceph-base respectively. but didn't update the relationships
between these packages accordingly. this causes the upgrade failure.

see https://www.debian.org/doc/debian-policy/#document-ch-relationships
for more details on "Breaks" and "Conflicts".

the reason why the package version to be replaced/conflicted is 12.2.2
is that: i assume that this change will be backported to luminous, and
the next release of it will be 12.2.2 .

Signed-off-by: Kefu Chai <kchai@redhat.com>
debian: fix package relationships after d3ac8d1
d3ac8d1 moves ceph-client-debug from ceph-test to ceph-base without
updating the package relationships between the two involved packages.
which results in:

dpkg: error processing archive /var/cache/apt/archives/ceph-test_12.2.1-241-g43e027b-1trusty_amd64.deb (--unpack):
 trying to overwrite '/usr/bin/ceph-client-debug', which is also in package ceph-base 10.2.10-14-gcbaddae-1trusty
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Signed-off-by: Kefu Chai <kchai@redhat.com>

@tchaikov tchaikov force-pushed the tchaikov:wip-debian-fix-upgrade branch from 9846cf0 to ed988fc Oct 23, 2017

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Oct 23, 2017

@smithfarm i am running into

2017-10-23T11:45:57.070 INFO:teuthology.orchestra.run.mira022.stdout:Preparing to unpack .../ceph-test_12.2.1-241-g43e027b-1trusty_amd64.deb ...
2017-10-23T11:45:57.074 INFO:teuthology.orchestra.run.mira022.stdout:Unpacking ceph-test (12.2.1-241-g43e027b-1trusty) over (10.2.10-14-gcbaddae-1trusty) ...
2017-10-23T11:45:58.018 INFO:teuthology.orchestra.run.mira022.stderr:dpkg: error processing archive /var/cache/apt/archives/ceph-test_12.2.1-241-g43e027b-1trusty_amd64.deb (--unpack):
2017-10-23T11:45:58.042 INFO:teuthology.orchestra.run.mira022.stderr: trying to overwrite '/usr/bin/ceph-client-debug', which is also in package ceph-base 10.2.10-14-gcbaddae-1trusty
2017-10-23T11:45:58.043 INFO:teuthology.orchestra.run.mira022.stderr:dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
2017-10-23T11:45:58.052 INFO:teuthology.orchestra.run.mira022.stderr:dpkg: considering deconfiguration of ceph-test, which would be broken by installation of ceph-osd ...
2017-10-23T11:45:58.053 INFO:teuthology.orchestra.run.mira022.stderr:dpkg: yes, will deconfigure ceph-test (broken by ceph-osd)

see http://qa-proxy.ceph.com/teuthology/kchai-2017-10-23_11:41:00-upgrade:client-upgrade-jewel-wip-21573-luminous-kefu-distro-basic-mira/1764227/teuthology.log

i believe it's a regression introduced by d3ac8d1.

so added a commit in hope to address it also.

@tchaikov

This comment has been minimized.

@tchaikov tchaikov merged commit ae05451 into ceph:master Oct 23, 2017

5 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
make check (arm64) make check succeeded
Details

@tchaikov tchaikov deleted the tchaikov:wip-debian-fix-upgrade branch Oct 23, 2017

@ktdreyer

This comment has been minimized.

Copy link
Member

commented Oct 23, 2017

The main reason we don't have the strict package requirements for ceph-test is that it has served as a useful ABI test, when we run a jewel ceph-test against luminous ceph packages, for example.

I think @dillaman mentioned that Teuthology explicitly copies the binaries out of the older ceph-test package to some alternate location?

Would it be possible now to make ceph-test strictly depend on the version of the other ceph packages now to avoid this class of problem?

@tchaikov

This comment has been minimized.

Copy link
Contributor Author

commented Oct 24, 2017

The main reason we don't have the strict package requirements for ceph-test is that it has served as a useful ABI test, when we run a jewel ceph-test against luminous ceph packages, for example.

yes, we do copy the binary from older ceph-test package and put them back after upgrading this package and librados. so i don't really understand why the strict requirements from ceph-test would break this test.

Would it be possible now to make ceph-test strictly depend on the version of the other ceph packages now to avoid this class of problem?

this might help, but i am not sure how this approach is superior than current way. and please see debian policy, Breaks and Conflicts is the suggest way to handle the file-transfer-from-one-package-to-another problem.

@ktdreyer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.