Bug #15329
Debian packaging -- failure on uninstall
0%
Description
The prerm script calls `invoke.d ceph stop` [0][1] which is incorrect. The correct line for the installed package would be `invoke.d ceph-base stop`. I personally think this may be a regression unless the goal was to change the service name to ceph-base rather than ceph as it has been in the past. The error produced when uninstalling is as follows (invoke.d is exiting with error 102):
[server01-mon][DEBUG ] Removing radosgw (10.1.0-1~bpo80+1) ...
[server01-mon][DEBUG ] Purging configuration files for radosgw (10.1.0-1~bpo80+1) ...
[server01-mon][DEBUG ] dpkg: ceph-base: dependency problems, but removing anyway as you requested:
[server01-mon][DEBUG ] ceph-mds depends on ceph-base (= 10.1.0-1~bpo80+1).
[server01-mon][DEBUG ]
[server01-mon][DEBUG ] Removing ceph-base (10.1.0-1~bpo80+1) ...
[server01-mon][DEBUG ] dpkg: error processing package ceph-base (--purge):
[server01-mon][DEBUG ] subprocess installed pre-removal script returned error exit status 102
[server01-mon][DEBUG ] dpkg: ceph-common: dependency problems, but removing anyway as you requested:
[server01-mon][DEBUG ] ceph-base depends on ceph-common (= 10.1.0-1~bpo80+1).
[server01-mon][DEBUG ]
[server01-mon][DEBUG ] Removing ceph-common (10.1.0-1~bpo80+1) ...
[server01-mon][DEBUG ] Purging configuration files for ceph-common (10.1.0-1~bpo80+1) ...
[server01-mon][DEBUG ] Processing triggers for man-db (2.7.0.2-5) ...
[server01-mon][DEBUG ] Errors were encountered while processing:
[server01-mon][DEBUG ] ceph-mds
[server01-mon][DEBUG ] ceph-base
[server01-mon][WARNIN] E: Sub-process /usr/bin/dpkg returned an error code (1)
[server01-mon][ERROR ] RuntimeError: command returned non-zero exit status: 100
[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: env DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get --assume-yes -q -f --force-yes remove --purge ceph ceph-mds ceph-common ceph-fs-common radosgw
[0] https://github.com/ceph/ceph/blob/0cbe3dea69604730bc7dba7bc3844294f4c9ac5a/debian/ceph-base.prerm#L9
[1] https://github.com/ceph/ceph/blob/0cbe3dea69604730bc7dba7bc3844294f4c9ac5a/debian/ceph-base.prerm#L9
Related issues
History
#1 Updated by Dan Mick almost 8 years ago
The service is still (rightly, I think) called ceph; is the fact that it's manipulated from the package ceph-base an issue somehow?
It seems like really the problem is package dependencies (although I don't see just what, I'm not surprised, around a package split; they're impossible to get 100% right)
#2 Updated by Dan Mick almost 8 years ago
The bug is in debian/rules, which now says
cp src/init-ceph debian/ceph-base.init
This invokes dh_installinti, but does so with the name of the service the same as the name of the package, 'ceph-base', which is obviously wrong.
This might take an override in debian/rules to do the right thing
#3 Updated by Dan Mick almost 8 years ago
Actually, as there are only two, and dh_installinit takes a --name parm, I think the fix is:
1) change
cp src/init-ceph debian/ceph-base.init
to
cp src/init-ceph debian/ceph-base.ceph.init
(and also change the 'clean' target)
2) replace the existing call with two calls:
change:
dh_installinit -a --no-start
to
dh_installinit -p ceph-base --name ceph --no-start dh_installinit -p radosgw --no-start
#4 Updated by Nathan Cutler almost 8 years ago
- Project changed from Ceph to devops
#5 Updated by Dan Mick almost 8 years ago
- Project changed from devops to Ceph
- Source changed from other to Community (dev)
This was moved to devops, but is clearly a Ceph source bug .. ?
#6 Updated by Sam Yaple almost 8 years ago
I don't know how or if the packages get unit tested, but if they do a new unit test should be removal. This isn't the first removal bug i've run into with ceph packages
#7 Updated by Dan Mick almost 8 years ago
- Category set to build
- Status changed from New to Fix Under Review
- Assignee set to Dan Mick
- Priority changed from Normal to High
- Target version set to v10.1.1
- Severity changed from 3 - minor to 2 - major
#8 Updated by Dan Mick almost 8 years ago
#9 Updated by Nathan Cutler almost 8 years ago
Dan, I moved it to devops because I was under the impression that that's where we had been putting packaging issues. Maybe we need a "packaging" project in Redmine?
#10 Updated by Dan Mick almost 8 years ago
- Project changed from Ceph to devops
- Category deleted (
build) - Status changed from Fix Under Review to Resolved
Maybe? I hadn't expected it to move, and couldn't find it with my search in Ceph, so was annoyed. I see #15327 there though, which may be related, so I'll move it back
#11 Updated by Nathan Cutler almost 8 years ago
- Related to Bug #15327: On Debian, when upgrading from Hammer or Infernalis to Jewel, ceph-base fails to install. added
#12 Updated by Kefu Chai almost 8 years ago
- Related to deleted (Bug #15327: On Debian, when upgrading from Hammer or Infernalis to Jewel, ceph-base fails to install.)
#13 Updated by Kefu Chai almost 8 years ago
- Duplicated by Bug #15327: On Debian, when upgrading from Hammer or Infernalis to Jewel, ceph-base fails to install. added