mirror of https://github.com/ceph/ceph-ansible.git
93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
---
|
|
# NOTE (leseb) : this task is for disk devices only because of the explicit use of the first
|
|
# partition.
|
|
|
|
- name: automatically activate osd disk(s) without partitions
|
|
command: ceph-disk activate "/dev/{{ item.key }}"
|
|
ignore_errors: true
|
|
with_dict: ansible_devices
|
|
when:
|
|
ansible_devices is defined and
|
|
item.value.removable == "0" and
|
|
item.value.partitions|count == 0 and
|
|
journal_collocation and
|
|
osd_auto_discovery
|
|
|
|
- name: activate osd(s) when device is a disk
|
|
command: ceph-disk activate {{ item.1 | regex_replace('^(\/dev\/cciss\/c[0-9]{1}d[0-9]{1})$', '\\1p') }}1
|
|
with_together:
|
|
- combined_ispartition_results.results
|
|
- devices
|
|
changed_when: false
|
|
failed_when: false
|
|
when:
|
|
not item.0.get("skipped") and
|
|
item.0.get("rc", 0) != 0 and
|
|
not osd_auto_discovery
|
|
|
|
# NOTE (leseb): this task is for partitions because we don't explicitly use a partition.
|
|
- name: activate osd(s) when device is a partition
|
|
command: "ceph-disk activate {{ item.1 }}"
|
|
with_together:
|
|
- combined_ispartition_results.results
|
|
- devices
|
|
changed_when: false
|
|
failed_when: false
|
|
when:
|
|
not item.0.get("skipped") and
|
|
item.0.get("rc", 0) == 0 and
|
|
not osd_auto_discovery
|
|
|
|
- include: osd_fragment.yml
|
|
when: crush_location
|
|
|
|
- name: set selinux to permissive and make it persistent
|
|
selinux:
|
|
policy: targeted
|
|
state: permissive
|
|
when:
|
|
ansible_selinux != false and
|
|
ansible_selinux['status'] == 'enabled' and
|
|
ansible_selinux['config_mode'] != 'disabled' and
|
|
not is_ceph_infernalis
|
|
|
|
- name: start and add that the osd service(s) to the init sequence (before infernalis)
|
|
service:
|
|
name: ceph
|
|
state: started
|
|
enabled: yes
|
|
when:
|
|
ansible_distribution != "Ubuntu" and
|
|
not is_ceph_infernalis
|
|
|
|
- name: get osd id (for or after infernalis)
|
|
shell: "ls /var/lib/ceph/osd/ |grep -oh '[0-9]*'"
|
|
changed_when: false
|
|
failed_when: false
|
|
register: osd_id
|
|
when:
|
|
ansible_distribution != "Ubuntu" and
|
|
is_ceph_infernalis
|
|
|
|
- name: enable osd service instance(s) (for or after infernalis)
|
|
file:
|
|
src: /usr/lib/systemd/system/ceph-osd@.service
|
|
dest: /etc/systemd/system/multi-user.target.wants/ceph-osd@{{ item }}.service
|
|
state: link
|
|
with_items: osd_id.stdout_lines
|
|
failed_when: false
|
|
when:
|
|
ansible_distribution != "Ubuntu" and
|
|
is_ceph_infernalis
|
|
|
|
- name: start and add that the osd service(s) to the init sequence (for or after infernalis)
|
|
service:
|
|
name: ceph-osd@{{ item }}
|
|
state: started
|
|
enabled: yes
|
|
with_items: osd_id.stdout_lines
|
|
changed_when: false
|
|
when:
|
|
ansible_distribution != "Ubuntu" and
|
|
is_ceph_infernalis
|