update-cache: yes
- name: restart ceph mons
- command: service ceph restart mon
- when:
- - socket.rc == 0
- - ansible_distribution != 'Ubuntu'
- - mon_group_name in group_names
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- name: restart ceph mons with systemd
service:
name: ceph-mon@{{ monitor_name }}
state: restarted
when:
- socket.rc == 0
- - use_systemd
- - mon_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- name: restart ceph mons on ubuntu
- command: initctl restart ceph-mon cluster={{ cluster }} id={{ monitor_name }}
- when:
- - socket.rc == 0
- - ansible_distribution == 'Ubuntu'
- - not use_systemd
- mon_group_name in group_names
-- name: restart ceph osds
- command: service ceph restart osd
- when:
- - socket.rc == 0
- - ansible_distribution != 'Ubuntu'
- - osd_group_name in group_names
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
# This does not just restart OSDs but everything else too. Unfortunately
# at this time the ansible role does not have an OSD id list to use
# for restarting them specifically.
-- name: restart ceph osds with systemd
+- name: restart ceph osds
service:
name: ceph.target
state: restarted
when:
- socket.rc == 0
- - use_systemd
- osd_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- name: restart ceph osds on ubuntu
- shell: |
- for id in $(ls /var/lib/ceph/osd/ |grep -oh '[0-9]*'); do
- initctl restart ceph-osd cluster={{ cluster }} id=$id
- done
- when:
- - socket.rc == 0
- - ansible_distribution == 'Ubuntu'
- - not use_systemd
- - osd_group_name in group_names
-
-- name: restart ceph mdss on ubuntu
- command: initctl restart ceph-mds cluster={{ cluster }} id={{ ansible_hostname }}
- when:
- - socket.rc == 0
- - ansible_distribution == 'Ubuntu'
- - not use_systemd
- - mds_group_name in group_names
- name: restart ceph mdss
- command: service ceph restart mds
- when:
- - socket.rc == 0
- - ansible_distribution != 'Ubuntu'
- - use_systemd
- - mds_group_name in group_names
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- name: restart ceph mdss with systemd
service:
name: ceph-mds@{{ mds_name }}
state: restarted
when:
- socket.rc == 0
- - use_systemd
- mds_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- name: restart ceph rgws on ubuntu
- command: initctl restart radosgw cluster={{ cluster }} id=rgw.{{ ansible_hostname }}
- when:
- - socketrgw.rc == 0
- - ansible_distribution == 'Ubuntu'
- - not use_systemd
- - rgw_group_name in group_names
- name: restart ceph rgws
- command: /etc/init.d/radosgw restart
- when:
- - socketrgw.rc == 0
- - ansible_distribution != 'Ubuntu'
- - rgw_group_name in group_names
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- name: restart ceph rgws on red hat
- command: /etc/init.d/ceph-radosgw restart
- when:
- - socketrgw.rc == 0
- - ansible_os_family == 'RedHat'
- - rgw_group_name in group_names
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- name: restart ceph rgws with systemd
service:
name: ceph-rgw@{{ ansible_hostname }}
state: restarted
when:
- socketrgw.rc == 0
- - use_systemd
- rgw_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
- name: restart ceph nfss
service:
when:
- ansible_version.major|int == 1
- ansible_version.minor|int < 9
+
+- name: fail if systemd is not present
+ fail:
+ msg: "Systemd must be present"
+ when: ansible_service_mgr != 'systemd'
- set_fact:
ceph_version: "{{ ceph_version.stdout.split(' ')[2] }}"
-# NOTE(mattt): On ansible 2.x we can use ansible_service_mgr instead
-- name: check init system
- slurp:
- src: /proc/1/comm
- always_run: yes
- register: init_system
-
-- set_fact:
- init_system={{ init_system.content | b64decode | trim }}
-
-- set_fact:
- use_systemd={{ init_system.strip() == 'systemd' }}
-
- set_fact:
mds_name: "{{ ansible_hostname }}"
when: not mds_use_fqdn
mds_name: "{{ ansible_fqdn }}"
when: mds_use_fqdn
-- set_fact:
- dir_owner: ceph
- dir_group: ceph
- dir_mode: "0755"
- when: ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- set_fact:
- dir_owner: root
- dir_group: root
- dir_mode: "0755"
- when: ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- set_fact:
- key_owner: root
- key_group: root
- key_mode: "0600"
- when: ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- set_fact:
- key_owner: ceph
- key_group: ceph
- key_mode: "0600"
- when: ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- set_fact:
- activate_file_owner: ceph
- activate_file_group: ceph
- activate_file_mode: "0644"
- when: ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
-
-- set_fact:
- activate_file_owner: root
- activate_file_group: root
- activate_file_mode: "0644"
- when: ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
-
-- set_fact:
- rbd_client_directory_owner: root
- when:
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
- - rbd_client_directory_owner is not defined
- or not rbd_client_directory_owner
-
- set_fact:
rbd_client_directory_owner: ceph
when:
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
- rbd_client_directory_owner is not defined
or not rbd_client_directory_owner
-- set_fact:
- rbd_client_directory_group: root
- when:
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
- - rbd_client_directory_group is not defined
- or not rbd_client_directory_group
-
- set_fact:
rbd_client_directory_group: ceph
when:
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
- rbd_client_directory_group is not defined
or not rbd_client_directory_group
-- set_fact:
- rbd_client_directory_mode: "1777"
- when:
- - ceph_release_num.{{ ceph_release }} < ceph_release_num.infernalis
- - rbd_client_directory_mode is not defined
- or not rbd_client_directory_mode
-
- set_fact:
rbd_client_directory_mode: "0770"
when:
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.hammer
- rbd_client_directory_mode is not defined
or not rbd_client_directory_mode
file:
path: /etc/ceph
state: directory
- owner: "{{ dir_owner }}"
- group: "{{ dir_group }}"
- mode: "{{ dir_mode }}"
+ owner: "ceph"
+ group: "ceph"
+ mode: "0755"
- name: "generate ceph configuration file: {{ cluster }}.conf"
action: config_template
args:
src: ceph.conf.j2
dest: /etc/ceph/{{ cluster }}.conf
- owner: "{{ dir_owner }}"
- group: "{{ dir_group }}"
- mode: "{{ activate_file_mode }}"
+ owner: "ceph"
+ group: "ceph"
+ mode: "0644"
config_overrides: "{{ ceph_conf_overrides }}"
config_type: ini
notify:
- restart ceph mons
- - restart ceph mons on ubuntu
- - restart ceph mons with systemd
- restart ceph osds
- - restart ceph osds on ubuntu
- - restart ceph osds with systemd
- restart ceph mdss
- - restart ceph mdss on ubuntu
- - restart ceph mdss with systemd
- restart ceph rgws
- - restart ceph rgws on ubuntu
- - restart ceph rgws on red hat
- - restart ceph rgws with systemd
- - restart ceph nfss
- ceph_origin == 'local'
- use_installer
-- name: install ceph
- yum:
- name: ceph
- state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
- when:
- - ceph_release_num.{{ ceph_release }} <= ceph_release_num.infernalis
- - ansible_pkg_mgr == "yum"
- - ceph_origin != 'local'
-
- name: synchronize ceph install
synchronize:
src: "{{ceph_installation_dir}}/"
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
when:
- mon_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.infernalis
or ceph_origin == "distro"
or ceph_custom
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
when:
- osd_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.infernalis
or ceph_origin == "distro"
or ceph_custom
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
when:
- mds_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.infernalis
or ceph_origin == "distro"
or ceph_custom
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
when:
- client_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.infernalis
or ceph_origin == "distro"
or ceph_dev
or ceph_custom
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
when:
- client_group_name in group_names
- - ceph_release_num.{{ ceph_release }} > ceph_release_num.infernalis
or ceph_origin == "distro"
or ceph_custom