/etc/ansible/roles/ceph-ansible/roles/ceph-mds/tasks/non_containerized.yml
---
- name: install ceph mds for debian
  apt:
    name: ceph-mds
    state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
    default_release: "{{ ceph_stable_release_uca | default('') if ceph_origin == 'repository' and ceph_repository == 'uca' else '' }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}"
  when:
    - mds_group_name in group_names
    - ansible_os_family == 'Debian'
  register: result
  until: result is succeeded

- name: install ceph-mds package on redhat or suse
  package:
    name: "ceph-mds"
    state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
  register: result
  until: result is succeeded
  when:
    - mds_group_name in group_names
    - ansible_os_family in ['Suse', 'RedHat']

- name: create mds keyring
  command: ceph --cluster {{ cluster }} --name client.bootstrap-mds --keyring /var/lib/ceph/bootstrap-mds/{{ cluster }}.keyring auth get-or-create mds.{{ mds_name }} osd 'allow rwx' mds 'allow' mon 'allow profile mds' -o /var/lib/ceph/mds/{{ cluster }}-{{ mds_name }}/keyring
  args:
    creates: /var/lib/ceph/mds/{{ cluster }}-{{ mds_name }}/keyring
  changed_when: false
  when: cephx

- name: set mds key permissions
  file:
    path: /var/lib/ceph/mds/{{ cluster }}-{{ mds_name }}/keyring
    owner: "ceph"
    group: "ceph"
    mode: "0600"
  when: cephx

- name: ensure systemd service override directory exists
  file:
    state: directory
    path: "/etc/systemd/system/ceph-mds@.service.d/"
  when:
    - ceph_mds_systemd_overrides is defined
    - ansible_service_mgr == 'systemd'

- name: add ceph-mds systemd service overrides
  config_template:
    src: "ceph-mds.service.d-overrides.j2"
    dest: "/etc/systemd/system/ceph-mds@.service.d/ceph-mds-systemd-overrides.conf"
    config_overrides: "{{ ceph_mds_systemd_overrides | default({}) }}"
    config_type: "ini"
  when:
    - ceph_mds_systemd_overrides is defined
    - ansible_service_mgr == 'systemd'

- name: start and add that the metadata service to the init sequence
  service:
    name: ceph-mds@{{ mds_name }}
    state: started
    enabled: yes
    masked: no
  changed_when: false