[Bug 1840347] Re: Ceph 12.2.12 restarts services during upgrade
Eric Desrochers
eric.desrochers at canonical.com
Tue Aug 27 00:25:18 UTC 2019
** Description changed:
[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.
+ 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.
[Other Information]
** Description changed:
[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.
+ to the new code level, after upgrading the package.
[Other Information]
** Description changed:
[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
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/1840347
Title:
Ceph 12.2.12 restarts services during upgrade
Status in ceph package in Ubuntu:
In Progress
Status in ceph source package in Bionic:
In Progress
Status in ceph source package in Disco:
In Progress
Status in ceph source package in Eoan:
In Progress
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/ubuntu/+source/ceph/+bug/1840347/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list