mirror of https://github.com/ceph/ceph-ansible.git
68 lines
2.7 KiB
YAML
68 lines
2.7 KiB
YAML
---
|
|
- name: remove ec profile
|
|
command: "{{ container_exec_cmd }} ceph --connect-timeout 10 --cluster {{ cluster }} osd erasure-code-profile rm {{ item.value.ec_profile }}"
|
|
loop: "{{ rgw_create_pools | dict2items }}"
|
|
delegate_to: "{{ groups[mon_group_name][0] }}"
|
|
changed_when: false
|
|
when:
|
|
- item.value.type is defined
|
|
- item.value.type == 'ec'
|
|
failed_when: false
|
|
|
|
- name: set ec profile
|
|
command: "{{ container_exec_cmd }} ceph --connect-timeout 10 --cluster {{ cluster }} osd erasure-code-profile set {{ item.value.ec_profile }} k={{ item.value.ec_k }} m={{ item.value.ec_m }}"
|
|
loop: "{{ rgw_create_pools | dict2items }}"
|
|
delegate_to: "{{ groups[mon_group_name][0] }}"
|
|
changed_when: false
|
|
when:
|
|
- item.value.type is defined
|
|
- item.value.type == 'ec'
|
|
|
|
- name: set crush rule
|
|
command: "{{ container_exec_cmd }} ceph --connect-timeout 10 --cluster {{ cluster }} osd crush rule create-erasure {{ item.key }} {{ item.value.ec_profile }}"
|
|
loop: "{{ rgw_create_pools | dict2items }}"
|
|
delegate_to: "{{ groups[mon_group_name][0] }}"
|
|
changed_when: false
|
|
when:
|
|
- item.value.type is defined
|
|
- item.value.type == 'ec'
|
|
|
|
- name: create ec pools for rgw
|
|
ceph_pool:
|
|
name: "{{ item.key }}"
|
|
state: present
|
|
cluster: "{{ cluster }}"
|
|
pg_num: "{{ item.value.pg_num | default(omit) }}"
|
|
pgp_num: "{{ item.value.pgp_num | default(omit) }}"
|
|
size: "{{ item.value.size | default(omit) }}"
|
|
pool_type: erasure
|
|
erasure_profile: "{{ item.value.ec_profile }}"
|
|
application: rgw
|
|
loop: "{{ rgw_create_pools | dict2items }}"
|
|
delegate_to: "{{ groups[mon_group_name][0] }}"
|
|
when:
|
|
- item.value.type is defined
|
|
- item.value.type == 'ec'
|
|
environment:
|
|
CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment | bool else None }}"
|
|
CEPH_CONTAINER_BINARY: "{{ container_binary }}"
|
|
|
|
- name: create replicated pools for rgw
|
|
ceph_pool:
|
|
name: "{{ item.key }}"
|
|
state: present
|
|
cluster: "{{ cluster }}"
|
|
pg_num: "{{ item.value.pg_num | default(omit) }}"
|
|
pgp_num: "{{ item.value.pgp_num | default(omit) }}"
|
|
size: "{{ item.value.size | default(omit) }}"
|
|
min_size: "{{ item.value.min_size | default(omit) }}"
|
|
pool_type: replicated
|
|
rule_name: "{{ item.value.rule_name | default(ceph_osd_pool_default_crush_rule_name) }}"
|
|
application: rgw
|
|
loop: "{{ rgw_create_pools | dict2items }}"
|
|
delegate_to: "{{ groups[mon_group_name][0] }}"
|
|
when: item.value.type is not defined or item.value.type == 'replicated'
|
|
environment:
|
|
CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment | bool else None }}"
|
|
CEPH_CONTAINER_BINARY: "{{ container_binary }}"
|