[Bug 1840347] Re: Ceph 12.2.12 restarts services during upgrade
Eric Desrochers
eric.desrochers at canonical.com
Thu Sep 5 17:30:26 UTC 2019
[VERIFICATION BIONIC]
* Before the upgrade:
#ps
ceph 14495 1 0 14:40 ? 00:00:32 /usr/bin/ceph-osd -f --cluster ceph --id 3 --setuser ceph --setgroup ceph
# pidof ceph-osd
14495
#dpkg
ii ceph 12.2.12-0ubuntu0.18.04.2 amd64 distributed storage and file system
ii ceph-base 12.2.12-0ubuntu0.18.04.2 amd64 common ceph daemon libraries and management tools
ii ceph-common 12.2.12-0ubuntu0.18.04.2 amd64 common utilities to mount and interact with a ceph storage cluster
ii ceph-mgr 12.2.12-0ubuntu0.18.04.2 amd64 manager for the ceph distributed file system
ii ceph-mon 12.2.12-0ubuntu0.18.04.2 amd64 monitor server for the ceph storage system
ii ceph-osd 12.2.12-0ubuntu0.18.04.2 amd64 OSD server for the ceph storage system
ii libcephfs2 12.2.12-0ubuntu0.18.04.2 amd64 Ceph distributed file system client library
ii python-cephfs 12.2.12-0ubuntu0.18.04.2 amd64 Python libraries for the Ceph libcephfs library
ii python-rados 12.2.12-0ubuntu0.18.04.2 amd64 Python libraries for the Ceph librados library
ii python-rbd 12.2.12-0ubuntu0.18.04.2 amd64 Python libraries for the Ceph librbd library
* After the upgrade to the proposed package:
#ps
ceph 14495 1 0 14:40 ? 00:00:32 /usr/bin/ceph-osd -f --cluster ceph --id 3 --setuser ceph --setgroup ceph
# pidof ceph-osd
14495
# dpkg -l | grep -i ceph
ii ceph 12.2.12-0ubuntu0.18.04.3 amd64 distributed storage and file system
ii ceph-base 12.2.12-0ubuntu0.18.04.3 amd64 common ceph daemon libraries and management tools
ii ceph-common 12.2.12-0ubuntu0.18.04.3 amd64 common utilities to mount and interact with a ceph storage cluster
ii ceph-mgr 12.2.12-0ubuntu0.18.04.3 amd64 manager for the ceph distributed file system
ii ceph-mon 12.2.12-0ubuntu0.18.04.3 amd64 monitor server for the ceph storage system
ii ceph-osd 12.2.12-0ubuntu0.18.04.3 amd64 OSD server for the ceph storage system
ii libcephfs2 12.2.12-0ubuntu0.18.04.3 amd64 Ceph distributed file system client library
ii python-cephfs 12.2.12-0ubuntu0.18.04.3 amd64 Python libraries for the Ceph libcephfs library
ii python-rados 12.2.12-0ubuntu0.18.04.3 amd64 Python libraries for the Ceph librados library
ii python-rbd 12.2.12-0ubuntu0.18.04.3 amd64 Python libraries for the Ceph librbd library
This is the expected behaviour, osd didn't restart ON nor AFTER upgrade,
which now leave the decision to the sysadmin of the ceph cluster to
decide when to restart via their maintenance window policy.
** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1840347
Title:
Ceph 12.2.12 restarts services during upgrade
Status in Ubuntu Cloud Archive:
In Progress
Status in Ubuntu Cloud Archive queens series:
In Progress
Status in Ubuntu Cloud Archive rocky series:
In Progress
Status in Ubuntu Cloud Archive stein series:
In Progress
Status in Ubuntu Cloud Archive train series:
In Progress
Status in ceph package in Ubuntu:
Fix Released
Status in ceph source package in Bionic:
Fix Committed
Status in ceph source package in Disco:
Fix Committed
Status in ceph source package in Eoan:
Fix Released
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,postinst:
# Automatically added by dh_systemd_start/11.1.6ubuntu2
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
deb-systemd-invoke $_dh_action 'ceph.target' >/dev/null || true
fi
fi
# End automatically added section
This is a change of behaviour compare to debhelper 9.
--restart-after-upgrade is the default in compat 10.
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://github.com/ceph/ceph/blob/master/debian/control#L15
[1] https://github.com/ceph/ceph/blob/master/debian/rules#L86
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1840347/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list