mirror of https://github.com/ceph/ceph-ansible.git
WIP: Implement OSD sections
Still WIP, @mwheckmann free to test As requested by #162 Current known issue, since ceph.conf gets modified during every single run (at the end during the merge) so this will restart ceph daemons. Signed-off-by: Sébastien Han <sebastien.han@enovance.com>pull/177/head
parent
5047ac7669
commit
f68cd46664
|
@ -5,8 +5,27 @@
|
||||||
# Dummy variable to avoid error because ansible does not recognize the file as a good configuration file when no variable in it.
|
# Dummy variable to avoid error because ansible does not recognize the file as a good configuration file when no variable in it.
|
||||||
dummy:
|
dummy:
|
||||||
|
|
||||||
## Ceph options
|
####################
|
||||||
|
# OSD CRUSH LOCATION
|
||||||
|
####################
|
||||||
|
|
||||||
|
# The following options will build a ceph.conf with OSD sections
|
||||||
|
# Example:
|
||||||
|
# [osd.X]
|
||||||
|
# osd crush location = "root=location"
|
||||||
#
|
#
|
||||||
|
# This works with your inventory file
|
||||||
|
# To match the following 'osd_crush_location' option the inventory must look like:
|
||||||
|
#
|
||||||
|
# [osds]
|
||||||
|
# osd0 ceph_crush_root=foo ceph_crush_rack=bar
|
||||||
|
|
||||||
|
crush_location: false
|
||||||
|
osd_crush_location: "'root={{ ceph_crush_root }} rack={{ ceph_crush_rack }} host={{ ansible_hostname }}'"
|
||||||
|
|
||||||
|
##############
|
||||||
|
# CEPH OPTIONS
|
||||||
|
##############
|
||||||
|
|
||||||
#cephx: true
|
#cephx: true
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,27 @@
|
||||||
# You can override default vars defined in defaults/main.yml here,
|
# You can override default vars defined in defaults/main.yml here,
|
||||||
# but I would advice to use host or group vars instead
|
# but I would advice to use host or group vars instead
|
||||||
|
|
||||||
## Ceph options
|
####################
|
||||||
|
# OSD CRUSH LOCATION
|
||||||
|
####################
|
||||||
|
|
||||||
|
# The following options will build a ceph.conf with OSD sections
|
||||||
|
# Example:
|
||||||
|
# [osd.X]
|
||||||
|
# osd crush location = "root=location"
|
||||||
#
|
#
|
||||||
|
# This works with your inventory file
|
||||||
|
# To match the following 'osd_crush_location' option the inventory must look like:
|
||||||
|
#
|
||||||
|
# [osds]
|
||||||
|
# osd0 ceph_crush_root=foo ceph_crush_rack=bar
|
||||||
|
|
||||||
|
crush_location: false
|
||||||
|
osd_crush_location: "'root={{ ceph_crush_root }} rack={{ ceph_crush_rack }} host={{ ansible_hostname }}'"
|
||||||
|
|
||||||
|
##############
|
||||||
|
# CEPH OPTIONS
|
||||||
|
##############
|
||||||
|
|
||||||
# ACTIVATE THE FSID VARIABLE FOR NON-VAGRANT DEPLOYMENT
|
# ACTIVATE THE FSID VARIABLE FOR NON-VAGRANT DEPLOYMENT
|
||||||
fsid: "{{ cluster_uuid.stdout }}"
|
fsid: "{{ cluster_uuid.stdout }}"
|
||||||
|
|
|
@ -31,6 +31,9 @@
|
||||||
ignore_errors: True
|
ignore_errors: True
|
||||||
changed_when: False
|
changed_when: False
|
||||||
|
|
||||||
|
- include: osd_fragment.yml
|
||||||
|
when: crush_location
|
||||||
|
|
||||||
- name: Start and add that the OSD service to the init sequence
|
- name: Start and add that the OSD service to the init sequence
|
||||||
service: >
|
service: >
|
||||||
name=ceph
|
name=ceph
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
- name: Get OSD path
|
||||||
|
shell: "df | grep {{ item }} | awk '{print $6}'"
|
||||||
|
with_items: devices
|
||||||
|
register: osd_path
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: Get OSD id
|
||||||
|
command: cat {{ item.stdout }}/whoami
|
||||||
|
register: osd_id
|
||||||
|
with_items: osd_path.results
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: Create a Ceph fragment and assemble directory
|
||||||
|
file: >
|
||||||
|
path={{ item }}
|
||||||
|
state=directory
|
||||||
|
owner=root
|
||||||
|
group=root
|
||||||
|
mode=0644
|
||||||
|
with_items:
|
||||||
|
- /etc/ceph/ceph.d/
|
||||||
|
- /etc/ceph/ceph.d/osd_fragments
|
||||||
|
|
||||||
|
- name: Create the OSD fragment
|
||||||
|
template: >
|
||||||
|
src=osd.conf.j2
|
||||||
|
dest=/etc/ceph/ceph.d/osd_fragments/osd.{{ item.stdout }}.conf
|
||||||
|
with_items: osd_id.results
|
||||||
|
|
||||||
|
- name: Copy ceph.conf for assembling
|
||||||
|
command: cp /etc/ceph/ceph.conf /etc/ceph/ceph.d/
|
||||||
|
|
||||||
|
- name: Assemble OSD sections
|
||||||
|
assemble: >
|
||||||
|
src=/etc/ceph/ceph.d/osd_fragments/
|
||||||
|
dest=/etc/ceph/ceph.d/osd.conf
|
||||||
|
owner=root
|
||||||
|
group=root
|
||||||
|
mode=0644
|
||||||
|
|
||||||
|
- name: Assemble Ceph conf and OSD fragments
|
||||||
|
assemble: >
|
||||||
|
src=/etc/ceph/ceph.d/
|
||||||
|
dest=/etc/ceph/ceph.conf
|
||||||
|
owner=root
|
||||||
|
group=root
|
||||||
|
mode=0644
|
|
@ -0,0 +1,2 @@
|
||||||
|
[osd.{{ item.stdout }}]
|
||||||
|
osd crush location = {{ osd_crush_location }}
|
Loading…
Reference in New Issue