Ceph 12.2.12 restarts services during upgrade
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
High
|
James Page | ||
Queens |
Fix Released
|
High
|
James Page | ||
Rocky |
Fix Released
|
High
|
James Page | ||
Stein |
Fix Released
|
High
|
James Page | ||
Train |
Fix Released
|
High
|
James Page | ||
ceph (Ubuntu) |
Fix Released
|
High
|
Eric Desrochers | ||
Bionic |
Fix Released
|
High
|
Eric Desrochers | ||
Disco |
Fix Released
|
High
|
Eric Desrochers | ||
Eoan |
Fix Released
|
High
|
Eric Desrochers |
Bug Description
[Impact]
Upgrading from ceph on Ubuntu 18.04 causes the ceph-osd services to be restarted without prompting.
This appears to be in the configure section on the ceph-common,
# Automatically added by dh_systemd_
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -d /run/systemd/system ]; then
if [ -n "$2" ]; then
fi
fi
fi
# End automatically added section
This is a change of behaviour compare to debhelper 9.
--restart-
The expected behavior during a package upgrade is to leave all the ceph service states unmodified. They should not be enabled/disabled or stopped/started.
[Test Case]
* Check pid of ceph-osd (before upgrade)
* sudo apt-get update
* sudo apt-get upgrade
* Check pid of ceph-osd (after upgrade)
If the pid changes, it means ceph-osd has been restarted, and the restart or stop/start has been exercised.
[Potential Regression]
Low, the desire is to control the precise timing of the restart.
The larger context is that there may multiple updates (in this case kernel) and one want a single stop/start when the reboot occurred, not 2 (1 due to ceph postinst and 1 for the reboot (to load new kernel) for instance).
The goal is for the admin to choose when (and which) ceph services move to the new code level, after upgrading the package.
[Other Information]
Ubuntu ceph package uses a more modern version of dh (10) as oppose to ceph upstream which uses dh 9[0]. Ceph package also doesn't exclude any ceph services like Ubuntu does[1]
Upstream ceph doesn't have the restart behaviour because they are not there yet (dh 10),but they are likely to take the same road as we do as they upgrade debhelper.
[0] https:/
[1] https:/
Related branches
- Corey Bryant: Pending requested
- James Page: Pending requested
-
Diff: 37 lines (+9/-2)2 files modifieddebian/changelog (+8/-1)
debian/rules (+1/-1)
- Eric Desrochers: Abstain
- James Page: Pending requested
- Corey Bryant: Pending requested
-
Diff: 31 lines (+11/-1)2 files modifieddebian/changelog (+10/-0)
debian/rules (+1/-1)
- Corey Bryant: Pending requested
- James Page: Pending requested
-
Diff: 31 lines (+11/-1)2 files modifieddebian/changelog (+10/-0)
debian/rules (+1/-1)
description: | updated |
tags: | added: sts |
Changed in ceph (Ubuntu): | |
importance: | Undecided → High |
Changed in ceph (Ubuntu): | |
status: | Confirmed → In Progress |
assignee: | nobody → Eric Desrochers (slashd) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | added: canonical-bootstack |
tags: | added: sts-sru-needed |
# ceph src package : debian/rules on-upgrade -Xceph-mon.service -Xceph-osd.service -X ceph-mds.service
135 dh_systemd_start --no-restart-
It has the --no-restart- on-upgrade flag which is responsible for not stopping the service on upgrade. But there is an exclusion for : ceph-mon, ceph-osd and ceph-mds, meaning they are subject to restart with that exclusion (-X).
What is the expected behaviour here for mon, osd and mds ?
- Eric