Project

General

Profile

Bug #15329

Debian packaging -- failure on uninstall

Added by Sam Yaple about 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
03/30/2016
Due date:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

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

Duplicated by devops - Bug #15327: On Debian, when upgrading from Hammer or Infernalis to Jewel, ceph-base fails to install. Duplicate 03/30/2016

History

#1 Updated by Dan Mick about 3 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 about 3 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 about 3 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 about 3 years ago

  • Project changed from Ceph to devops

#5 Updated by Dan Mick about 3 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 about 3 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 about 3 years ago

  • Category set to build
  • Status changed from New to Need 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

#9 Updated by Nathan Cutler about 3 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 about 3 years ago

  • Project changed from Ceph to devops
  • Category deleted (build)
  • Status changed from Need 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 about 3 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 about 3 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 about 3 years ago

  • Duplicated by Bug #15327: On Debian, when upgrading from Hammer or Infernalis to Jewel, ceph-base fails to install. added

Also available in: Atom PDF