]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
containers: introduce target systemd unit
authorGuillaume Abrioux <gabrioux@redhat.com>
Tue, 10 Aug 2021 13:21:19 +0000 (15:21 +0200)
committerDimitri Savineau <savineau.dimitri@gmail.com>
Wed, 18 Aug 2021 15:08:50 +0000 (11:08 -0400)
This adds ceph-*.target systemd unit files support for containerized
deployments.
This also fixes a regression introduced by PR #6719 (rgw and nfs systemd
units not getting purged)

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1962748
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
25 files changed:
infrastructure-playbooks/cephadm-adopt.yml
infrastructure-playbooks/purge-cluster.yml
roles/ceph-container-common/files/ceph.target [new file with mode: 0644]
roles/ceph-container-common/tasks/main.yml
roles/ceph-crash/templates/ceph-crash.service.j2
roles/ceph-mds/files/ceph-mds.target [new file with mode: 0644]
roles/ceph-mds/tasks/containerized.yml
roles/ceph-mds/tasks/systemd.yml
roles/ceph-mds/templates/ceph-mds.service.j2
roles/ceph-mgr/files/ceph-mgr.target [new file with mode: 0644]
roles/ceph-mgr/tasks/start_mgr.yml
roles/ceph-mgr/tasks/systemd.yml
roles/ceph-mgr/templates/ceph-mgr.service.j2
roles/ceph-mon/files/ceph-mon.target [new file with mode: 0644]
roles/ceph-mon/tasks/systemd.yml
roles/ceph-mon/templates/ceph-mon.service.j2
roles/ceph-osd/files/ceph-osd.target [new file with mode: 0644]
roles/ceph-osd/tasks/systemd.yml
roles/ceph-osd/templates/ceph-osd.service.j2
roles/ceph-rbd-mirror/files/ceph-rbd-mirror.target [new file with mode: 0644]
roles/ceph-rbd-mirror/tasks/systemd.yml
roles/ceph-rbd-mirror/templates/ceph-rbd-mirror.service.j2
roles/ceph-rgw/files/ceph-radosgw.target [new file with mode: 0644]
roles/ceph-rgw/tasks/systemd.yml
roles/ceph-rgw/templates/ceph-radosgw.service.j2

index e513839d24b9dc5d5ef42fd0dca242702eb9c9f4..c59d36ca8cec07f0bfbdc3725b74a3fd0bcf1cf5 100644 (file)
       failed_when: false
       when: containerized_deployment | bool
 
-    - name: remove ceph-mon systemd unit file
+    - name: remove ceph-mon systemd files
       file:
-        path: /etc/systemd/system/ceph-mon@.service
+        path: "{{ item }}"
         state: absent
-      when: containerized_deployment | bool
-
-    - name: remove ceph-mon systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-mon@.service.d
-        state: absent
-      when: not containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-mon@.service
+        - /etc/systemd/system/ceph-mon@.service.d
+        - /etc/systemd/system/ceph-mon.target
 
     - name: waiting for the monitor to join the quorum...
       command: "{{ cephadm_cmd }} shell --fsid {{ fsid }} -- ceph --cluster {{ cluster }} quorum_status --format json"
       failed_when: false
       when: containerized_deployment | bool
 
-    - name: remove ceph-mgr systemd unit file
+    - name: remove ceph-mgr systemd files
       file:
-        path: /etc/systemd/system/ceph-mgr@.service
+        path: "{{ item }}"
         state: absent
-      when: containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-mgr@.service
+        - /etc/systemd/system/ceph-mgr@.service.d
+        - /etc/systemd/system/ceph-mgr.target
 
-    - name: remove ceph-mgr systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-mgr@.service.d
-        state: absent
-      when: not containerized_deployment | bool
 
 - name: set osd flags
   hosts: "{{ osd_group_name|default('osds') }}"
         firewalld: "{{ true if configure_firewall | bool else false }}"
       loop: '{{ (osd_list.stdout | from_json).keys() | list }}'
 
-    - name: remove ceph-osd systemd unit and ceph-osd-run.sh files
+    - name: remove ceph-osd systemd and ceph-osd-run.sh files
       file:
-        path: '{{ item }}'
+        path: "{{ item }}"
         state: absent
       loop:
         - /etc/systemd/system/ceph-osd@.service
+        - /etc/systemd/system/ceph-osd@.service.d
+        - /etc/systemd/system/ceph-osd.target
         - "{{ ceph_osd_docker_run_script_path | default('/usr/share') }}/ceph-osd-run.sh"
-      when: containerized_deployment | bool
-
-    - name: remove ceph-osd systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-osd@.service.d
-        state: absent
-      when: not containerized_deployment | bool
 
     - name: remove osd directory
       file:
         name: ceph-mds.target
         state: stopped
         enabled: false
-      when: not containerized_deployment | bool
+      failed_when: false
 
     - name: reset failed ceph-mds systemd unit
       command: "systemctl reset-failed ceph-mds@{{ ansible_facts['hostname'] }}"  # noqa 303
       failed_when: false
       when: containerized_deployment | bool
 
-    - name: remove ceph-mds systemd unit file
-      file:
-        path: /etc/systemd/system/ceph-mds@.service
-        state: absent
-      when: containerized_deployment | bool
-
-    - name: remove ceph-mds systemd override directory
+    - name: remove ceph-mds systemd files
       file:
-        path: /etc/systemd/system/ceph-mds@.service.d
+        path: "{{ item }}"
         state: absent
-      when: not containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-mds@.service
+        - /etc/systemd/system/ceph-mds@.service.d
+        - /etc/systemd/system/ceph-mds.target
 
     - name: remove legacy ceph mds data
       file:
 
     - name: stop and disable ceph-radosgw systemd target
       service:
-        name: ceph-rgw.target
+        name: ceph-radosgw.target
         state: stopped
         enabled: false
-      when: not containerized_deployment | bool
+      failed_when: false
 
     - name: reset failed ceph-radosgw systemd unit
       command: "systemctl reset-failed ceph-radosgw@rgw.{{ ansible_facts['hostname'] }}.{{ item.instance_name }}"  # noqa 303
       loop: '{{ rgw_instances }}'
       when: containerized_deployment | bool
 
-    - name: remove ceph-radosgw systemd unit file
+    - name: remove ceph-radosgw systemd files
       file:
-        path: /etc/systemd/system/ceph-radosgw@.service
+        path: "{{ item }}"
         state: absent
-      when: containerized_deployment | bool
-
-    - name: remove ceph-radosgw systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-radosgw@.service.d
-        state: absent
-      when: not containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-radosgw@.service
+        - /etc/systemd/system/ceph-radosgw@.service.d
+        - /etc/systemd/system/ceph-radosgw.target
 
     - name: remove legacy ceph radosgw data
       file:
       failed_when: false
       when: containerized_deployment | bool
 
-    - name: remove ceph-nfs systemd unit file
+    - name: remove ceph-nfs systemd unit files
       file:
-        path: /etc/systemd/system/ceph-nfs@.service
+        path: "{{ item }}"
         state: absent
-      when: containerized_deployment | bool
-
-    - name: remove ceph-nfs systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-nfs@.service.d
-        state: absent
-      when: not containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-nfs@.service
+        - /etc/systemd/system/ceph-nfs@.service.d
 
     - name: remove legacy ceph radosgw directory
       file:
         name: ceph-rbd-mirror.target
         state: stopped
         enabled: false
-      when: not containerized_deployment | bool
+      failed_when: false
 
     - name: reset failed rbd-mirror systemd unit
       command: "systemctl reset-failed ceph-rbd-mirror@rbd-mirror.{{ ansible_facts['hostname'] }}"  # noqa 303
       failed_when: false
       when: containerized_deployment | bool
 
-    - name: remove rbd-mirror systemd unit file
+    - name: remove rbd-mirror systemd files
       file:
-        path: /etc/systemd/system/ceph-rbd-mirror@.service
+        path: "{{ item }}"
         state: absent
-      when: containerized_deployment | bool
+      loop:
+        - /etc/systemd/system/ceph-rbd-mirror@.service
+        - /etc/systemd/system/ceph-rbd-mirror@.service.d
+        - /etc/systemd/system/ceph-rbd-mirror.target
 
-    - name: remove rbd-mirror systemd override directory
-      file:
-        path: /etc/systemd/system/ceph-rbd-mirror@.service.d
-        state: absent
-      when: not containerized_deployment | bool
 
 - name: redeploy iscsigw daemons
   hosts: "{{ iscsi_gw_group_name|default('iscsigws') }}"
         - tcmu-runner
       when: containerized_deployment | bool
 
+
 - name: redeploy ceph-crash daemons
   hosts:
     - "{{ mon_group_name|default('mons') }}"
         enabled: false
       failed_when: false
 
+    - name: remove ceph-crash systemd unit file
+      file:
+        path: /etc/systemd/system/ceph-crash@.service
+        state: absent
+
     - name: update the placement of ceph-crash hosts
       command: "{{ cephadm_cmd }} shell --fsid {{ fsid }} -- ceph --cluster {{ cluster }} orch apply crash --placement='label:ceph'"
       run_once: true
       environment:
         CEPHADM_IMAGE: '{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'
 
+
 - name: redeploy alertmanager/grafana/prometheus daemons
   hosts: "{{ monitoring_group_name|default('monitoring') }}"
   serial: 1
index d5fc80352eaa014e0d2945ab52485b21a7588b60..69d22aafa4d46abc9bb0c5a1ff92981811711fca 100644 (file)
 
     - name: remove ceph mds service
       file:
-        path: /etc/systemd/system/ceph-mds@.service
+        path: /etc/systemd/system/ceph-mds{{ item }}
         state: absent
+      loop:
+        - '@.service'
+        - '.target'
 
 
 - name: purge ceph mgr cluster
 
     - name: remove ceph mgr service
       file:
-        path: /etc/systemd/system/ceph-mgr@.service
+        path: /etc/systemd/system/ceph-mgr{{ item }}
         state: absent
-
+      loop:
+        - '@.service'
+        - '.target'
 
 - name: purge rgwloadbalancer cluster
   hosts: rgwloadbalancers
       failed_when: false
       with_items: "{{ rgw_instances }}"
 
+    - name: remove ceph rgw service
+      file:
+        path: /etc/systemd/system/ceph-radosgw{{ item }}
+        state: absent
+      loop:
+        - '@.service'
+        - '.target'
+
 
 - name: purge ceph rbd-mirror cluster
   hosts: rbdmirrors
         enabled: no
       failed_when: false
 
+    - name: remove ceph rbd-mirror service
+      file:
+        path: /etc/systemd/system/ceph-rbd-mirror{{ item }}
+        state: absent
+      loop:
+        - '@.service'
+        - '.target'
+
 
 - name: purge ceph osd cluster
   vars:
 
     - name: remove ceph osd service
       file:
-        path: /etc/systemd/system/ceph-osd@.service
+        path: /etc/systemd/system/ceph-osd{{ item }}
         state: absent
-      when: containerized_deployment | bool
+      loop:
+        - '@.service'
+        - '.target'
 
 - name: purge ceph mon cluster
   hosts: mons
 
     - name: remove ceph mon and mgr service
       file:
-        path: "/etc/systemd/system/ceph-{{ item }}@.service"
+        path: "/etc/systemd/system/ceph-{{ item.0 }}{{ item.1 }}"
         state: absent
-      with_items:
-        - mon
-        - mgr
+      loop: "{{ ['mon', 'mgr'] | product(['@.service', '.target']) | list }}"
 
 
 - name: purge ceph-crash daemons
diff --git a/roles/ceph-container-common/files/ceph.target b/roles/ceph-container-common/files/ceph.target
new file mode 100644 (file)
index 0000000..9c09851
--- /dev/null
@@ -0,0 +1,5 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph*@.service instances at once
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file
index aa9139b0dac10095dd1fd3087fac98282b7584a1..4b663eb300e7a4cc9f8bfc8b8e80ef70ffb6214b 100644 (file)
@@ -1,4 +1,15 @@
 ---
+- name: generate systemd ceph-mon target file
+  copy:
+    src: ceph.target
+    dest: /etc/systemd/system/ceph.target
+
+- name: enable ceph.target
+  service:
+    name: ceph.target
+    enabled: yes
+    daemon_reload: yes
+
 - name: include prerequisites.yml
   include_tasks: prerequisites.yml
 
index 5343d02df81815cd3b146d161134259636596099..61b8740bc3efbb56b84421f199fdc9ec5c8bf9ad 100644 (file)
@@ -41,4 +41,4 @@ TimeoutStartSec=120
 TimeoutStopSec=10
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-mds/files/ceph-mds.target b/roles/ceph-mds/files/ceph-mds.target
new file mode 100644 (file)
index 0000000..ae15387
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-mds@.service instances at once
+PartOf=ceph.target
+After=ceph-mon.target
+Before=ceph.target
+Wants=ceph.target ceph-mon.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index 8919366ba234e0750f1fc3772a5f2d7c562be328..49f5add7245b2791910982d1c466f5b9a94ab1ab 100644 (file)
@@ -2,6 +2,13 @@
 - name: include_tasks systemd.yml
   include_tasks: systemd.yml
 
+- name: enable ceph-mds.target
+  service:
+    name: ceph-mds.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
+
 - name: systemd start mds container
   systemd:
     name: ceph-mds@{{ ansible_facts['hostname'] }}
index b76e11e617340e54fe9ae7ed6b4eb66e6120cddf..f6970828e5422615fd56ecf222e6bdbf9bb6c7e6 100644 (file)
@@ -7,3 +7,9 @@
     group: "root"
     mode: "0644"
   notify: restart ceph mdss
+
+- name: generate systemd ceph-mds target file
+  copy:
+    src: ceph-mds.target
+    dest: /etc/systemd/system/ceph-mds.target
+  when: containerized_deployment | bool
\ No newline at end of file
index 54b2d7ac8d2b95b80e33ce83e1a3fe1b25666099..c7930044399d093074b99fe6f6adea154b18af17 100644 (file)
@@ -1,5 +1,6 @@
 [Unit]
 Description=Ceph MDS
+PartOf=ceph-mds.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -53,4 +54,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-mgr/files/ceph-mgr.target b/roles/ceph-mgr/files/ceph-mgr.target
new file mode 100644 (file)
index 0000000..abb2598
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-mgr@.service instances at once
+PartOf=ceph.target
+After=ceph-mon.target
+Before=ceph.target
+Wants=ceph.target ceph-mon.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index 658ca975803f5b5ec8fbe0e61dcb3b0858c6cba5..ba38cf15ce9c0cc3fb5cae5beeb26c7230e24275 100644 (file)
   include_tasks: systemd.yml
   when: containerized_deployment | bool
 
+- name: enable ceph-mgr.target
+  service:
+    name: ceph-mgr.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
+
 - name: systemd start mgr
   systemd:
     name: ceph-mgr@{{ ansible_facts['hostname'] }}
index 2457a0e3fa68b3d84c9c8a7a300ffe54f80e54c1..2cfadc8ca50353a00ada815c549976e1ca79f3b7 100644 (file)
@@ -7,3 +7,9 @@
     group: "root"
     mode: "0644"
   notify: restart ceph mgrs
+
+- name: generate systemd ceph-mgr target file
+  copy:
+    src: ceph-mgr.target
+    dest: /etc/systemd/system/ceph-mgr.target
+  when: containerized_deployment | bool
\ No newline at end of file
index 2cca6364ba3cf410eebf2d2e6907594059ac3474..dd8a18a2040461bffa6703cacdaf2f00e0a1dceb 100644 (file)
@@ -1,5 +1,6 @@
 [Unit]
 Description=Ceph Manager
+PartOf=ceph-mgr.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -52,4 +53,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-mon/files/ceph-mon.target b/roles/ceph-mon/files/ceph-mon.target
new file mode 100644 (file)
index 0000000..b27d34b
--- /dev/null
@@ -0,0 +1,8 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-mon@.service instances at once
+PartOf=ceph.target
+Before=ceph.target
+Wants=ceph.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index 9af8a59bfd5b5059e21131291db758764bb8ccfa..ba90b7448053c70f8ca8a795bc1373eddd589cb9 100644 (file)
@@ -7,3 +7,16 @@
     group: "root"
     mode: "0644"
   notify: restart ceph mons
+
+- name: generate systemd ceph-mon target file
+  copy:
+    src: ceph-mon.target
+    dest: /etc/systemd/system/ceph-mon.target
+  when: containerized_deployment | bool
+
+- name: enable ceph-mon.target
+  service:
+    name: ceph-mon.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
\ No newline at end of file
index 3d8774f5d87932db4da3c45e6df5cbea96c6a1f8..abbf6ebba467c7c0ac8047bb544440c52e2c9ffc 100644 (file)
@@ -1,5 +1,6 @@
 [Unit]
 Description=Ceph Monitor
+PartOf=ceph-mon.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -67,4 +68,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-osd/files/ceph-osd.target b/roles/ceph-osd/files/ceph-osd.target
new file mode 100644 (file)
index 0000000..bb06303
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-osd@.service instances at once
+PartOf=ceph.target
+After=ceph-mon.target
+Before=ceph.target
+Wants=ceph.target ceph-mon.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index 367d49ec37968e26ffe1f5ce0711919eafe1072d..6d4685bb659a30461f7b853ae2658ef083c31e96 100644 (file)
@@ -7,3 +7,16 @@
     group: "root"
     mode: "0644"
   notify: restart ceph osds
+
+- name: generate systemd ceph-osd target file
+  copy:
+    src: ceph-osd.target
+    dest: /etc/systemd/system/ceph-osd.target
+  when: containerized_deployment | bool
+
+- name: enable ceph-osd.target
+  service:
+    name: ceph-osd.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
\ No newline at end of file
index 75ea7195ac512d4e6f68552d4090b7fdbd7eeb6a..dd82953855fa26686621c54ff6db7e0afc508091 100644 (file)
@@ -1,6 +1,7 @@
 # {{ ansible_managed }}
 [Unit]
 Description=Ceph OSD
+PartOf=ceph-osd.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -79,4 +80,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-rbd-mirror/files/ceph-rbd-mirror.target b/roles/ceph-rbd-mirror/files/ceph-rbd-mirror.target
new file mode 100644 (file)
index 0000000..7c67ce9
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-rbd-mirror@.service instances at once
+PartOf=ceph.target
+Before=ceph.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index 16dfb139ff914d806e1b946272a289348eabb1e6..60977e67170c4333559e18589e37070608f54098 100644 (file)
@@ -7,3 +7,16 @@
     group: "root"
     mode: "0644"
   notify: restart ceph rbdmirrors
+
+- name: generate systemd ceph-rbd-mirror target file
+  copy:
+    src: ceph-rbd-mirror.target
+    dest: /etc/systemd/system/ceph-rbd-mirror.target
+  when: containerized_deployment | bool
+
+- name: enable ceph-rbd-mirror.target
+  service:
+    name: ceph-rbd-mirror.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
\ No newline at end of file
index c9e87acdd773432189ed56c6ef15d50f680e7112..847e05f0f313e7ddd7682e8c020aff451207fc40 100644 (file)
@@ -1,5 +1,6 @@
 [Unit]
 Description=Ceph RBD mirror
+PartOf=ceph-rbd-mirror.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -52,4 +53,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target
diff --git a/roles/ceph-rgw/files/ceph-radosgw.target b/roles/ceph-rgw/files/ceph-radosgw.target
new file mode 100644 (file)
index 0000000..3f1b1c8
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph-radosgw@.service instances at once
+PartOf=ceph.target
+After=ceph-mon.target
+Before=ceph.target
+Wants=ceph.target ceph-mon.target
+
+[Install]
+WantedBy=multi-user.target ceph.target
\ No newline at end of file
index ab114ca08340ff5eb4462dd36e8fe81f63a73669..08457ec2fc70cacf89973c8bd38190790ef2e3de 100644 (file)
@@ -6,4 +6,17 @@
     owner: "root"
     group: "root"
     mode: "0644"
-  notify: restart ceph rgws
\ No newline at end of file
+  notify: restart ceph rgws
+
+- name: generate systemd ceph-radosgw target file
+  copy:
+    src: ceph-radosgw.target
+    dest: /etc/systemd/system/ceph-radosgw.target
+  when: containerized_deployment | bool
+
+- name: enable ceph-radosgw.target
+  service:
+    name: ceph-radosgw.target
+    enabled: yes
+    daemon_reload: yes
+  when: containerized_deployment | bool
\ No newline at end of file
index 881b970abfbbb12bab2a087cdcf1204c930557ce..31a40606ab75a9a4b1d8143b965ba597cf911c74 100644 (file)
@@ -1,5 +1,6 @@
 [Unit]
 Description=Ceph RGW
+PartOf=ceph-radosgw.target
 {% if container_binary == 'docker' %}
 After=docker.service
 Requires=docker.service
@@ -66,4 +67,4 @@ PIDFile=/%t/%n-pid
 {% endif %}
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=ceph.target