Bug #48891
closedcephadm does not set required dependencies in systemd
0%
Description
cephadm does not set the dependency list correctly. This leads to race conditions. Example:
In our environment we use docker as container-provider. A service (general problem, not limited to specific type) created by cephadm does not depend on the management daemon. This leads to the output in journald-mgr-leftovers.log.
Looking into the state of the docker daemon shows that it was not running at that time. It seemed like ceph.target was started before docker, but the scripts of the daemons require in our case docker to run.
A workaround is to add docker.service to the dependency list of each service using `systemctl edit ceph-<fsid>@<service-id>.service` using following content:
[Unit] After=docker.service Requires=docker.service
After that, ceph came up successfully at every reboot done since then. As cephadm officially supports podman, i'm not able to provide a PR (simply not knowing the structure of podman). The line where to add the service would be [[https://github.com/ceph/ceph/blob/892c51dd3c5f7108e766bea30cd5e0d801b0abd3/src/cephadm/cephadm#L2722]].
Files
Updated by Sebastian Wagner over 3 years ago
- Is duplicate of Bug #46745: cephadm does not set systemd dependencies when using docker added
Updated by Sebastian Wagner over 3 years ago
- Status changed from New to Duplicate
Thank you very much for reporting this!
Updated by Michael Wodniok over 3 years ago
Sebastian Wagner wrote:
Thank you very much for reporting this!
Oh. I'm sorry i've reported this as i did not find the bug (which uses quite similar title and content) using the integrated search and other interfaces.