]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commit
switch2container: disable ceph-osd enabled-runtime
authorDimitri Savineau <dsavinea@redhat.com>
Mon, 19 Oct 2020 21:22:31 +0000 (17:22 -0400)
committerDimitri Savineau <savineau.dimitri@gmail.com>
Thu, 12 Nov 2020 22:04:30 +0000 (17:04 -0500)
commitee43555148aaab2a356a3d3ee92097030900f31a
tree9dbbdbeb55a274c2dea2c912145106a94141c2b3
parent46e2695cf11c0284cb4dc9135d3e96be4b97fc53
switch2container: disable ceph-osd enabled-runtime

When deploying the ceph OSD via the packages then the ceph-osd@.service
unit is configured as enabled-runtime.
This means that each ceph-osd service will inherit from that state.
The enabled-runtime systemd state doesn't survive after a reboot.
For non containerized deployment the OSD are still starting after a
reboot because there's the ceph-volume@.service and/or ceph-osd.target
units that are doing the job.

$ systemctl list-unit-files|egrep '^ceph-(volume|osd)'|column -t
ceph-osd@.service     enabled-runtime
ceph-volume@.service  enabled
ceph-osd.target       enabled

When switching to containerized deployment we are stopping/disabling
ceph-osd@XX.servive, ceph-volume and ceph.target and then removing the
systemd unit files.
But the new systemd units for containerized ceph-osd service will still
inherit from ceph-osd@.service unit file.

As a consequence, if an OSD host is rebooting after the playbook execution
then the ceph-osd service won't come back because they aren't enabled at
boot.

This patch also adds a reboot and testinfra run after running the switch
to container playbook.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1881288
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit fa2bb3af86b48befd3901939d38eda20dff6f5e5)
infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
tox.ini