# service is managed by pacemaker
#ceph_nfs_enable_service: true
+# ceph-nfs systemd service uses ansible's hostname as an instance id,
+# so service name is ceph-nfs@{{ ansible_hostname }}, this is not
+# ideal when ceph-nfs is managed by pacemaker across multiple hosts - in
+# such case it's better to have constant instance id instead which
+# can be set by 'ceph_nfs_service_suffix'
+# ceph_nfs_service_suffix: ansible_hostname
+
#######################
# Access type options #
#######################
RETRIES="{{ handler_health_nfs_check_retries }}"
DELAY="{{ handler_health_nfs_check_delay }}"
-NFS_NAME="{{ ansible_hostname }}"
+NFS_NAME="ceph-nfs@{{ ceph_nfs_service_suffix | default(ansible_hostname) }}"
PID=/var/run/ganesha.pid
# First, restart the daemon
{% if containerized_deployment -%}
-systemctl restart ceph-nfs@${NFS_NAME}
+systemctl restart $NFS_NAME
COUNT=10
# Wait and ensure the pid exists after restarting the daemon
while [ $RETRIES -ne 0 ]; do
# service is managed by pacemaker
ceph_nfs_enable_service: true
+# ceph-nfs systemd service uses ansible's hostname as an instance id,
+# so service name is ceph-nfs@{{ ansible_hostname }}, this is not
+# ideal when ceph-nfs is managed by pacemaker across multiple hosts - in
+# such case it's better to have constant instance id instead which
+# can be set by 'ceph_nfs_service_suffix'
+# ceph_nfs_service_suffix: ansible_hostname
+
#######################
# Access type options #
#######################
- name: systemd start nfs container
systemd:
- name: "ceph-nfs@{{ ansible_hostname }}.service"
+ name: ceph-nfs@{{ ceph_nfs_service_suffix | default(ansible_hostname) }}
state: started
enabled: yes
daemon_reload: yes
-e CLUSTER={{ cluster }} \
-e CEPH_DAEMON=NFS \
{{ ceph_nfs_docker_extra_env }} \
- --name=ceph-nfs-{{ ansible_hostname }} \
+ --name=ceph-nfs-{{ ceph_nfs_service_suffix | default(ansible_hostname) }} \
{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop ceph-nfs-%i
Restart=always