mirror of https://github.com/ceph/ceph-ansible.git
ceph-osd: add device class to crush rules
This adds device class support to crush rules when using the class key
in the rule dict via the create-replicated sub command.
If the class key isn't specified then we use the create-simple sub
command for backward compatibility.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1636508
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit ef2cb99f73
)
pull/4928/head
parent
661b2c013a
commit
bd016960cf
|
@ -43,14 +43,16 @@ dummy:
|
||||||
|
|
||||||
#crush_rule_hdd:
|
#crush_rule_hdd:
|
||||||
# name: HDD
|
# name: HDD
|
||||||
# root: HDD
|
# root: default
|
||||||
# type: host
|
# type: host
|
||||||
|
# class: hdd
|
||||||
# default: false
|
# default: false
|
||||||
|
|
||||||
#crush_rule_ssd:
|
#crush_rule_ssd:
|
||||||
# name: SSD
|
# name: SSD
|
||||||
# root: SSD
|
# root: default
|
||||||
# type: host
|
# type: host
|
||||||
|
# class: ssd
|
||||||
# default: false
|
# default: false
|
||||||
|
|
||||||
#crush_rules:
|
#crush_rules:
|
||||||
|
|
|
@ -35,14 +35,16 @@ crush_rule_config: false
|
||||||
|
|
||||||
crush_rule_hdd:
|
crush_rule_hdd:
|
||||||
name: HDD
|
name: HDD
|
||||||
root: HDD
|
root: default
|
||||||
type: host
|
type: host
|
||||||
|
class: hdd
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
crush_rule_ssd:
|
crush_rule_ssd:
|
||||||
name: SSD
|
name: SSD
|
||||||
root: SSD
|
root: default
|
||||||
type: host
|
type: host
|
||||||
|
class: ssd
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
crush_rules:
|
crush_rules:
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
- osd_crush_location is defined
|
- osd_crush_location is defined
|
||||||
|
|
||||||
- name: create configured crush rules
|
- name: create configured crush rules
|
||||||
command: "{{ hostvars[groups[mon_group_name][0]]['container_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} osd crush rule create-simple {{ item.name }} {{ item.root }} {{ item.type }}"
|
command: "{{ hostvars[groups[mon_group_name][0]]['container_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} osd crush rule {{ 'create-replicated' if item.class is defined else 'create-simple' }} {{ item.name }} {{ item.root }} {{ item.type }} {{ item.class | default('') }}"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
with_items: "{{ hostvars[groups[mon_group_name][0]]['crush_rules'] | unique }}"
|
with_items: "{{ hostvars[groups[mon_group_name][0]]['crush_rules'] | unique }}"
|
||||||
delegate_to: '{{ groups[mon_group_name][0] }}'
|
delegate_to: '{{ groups[mon_group_name][0] }}'
|
||||||
|
|
|
@ -3,8 +3,9 @@ create_crush_tree: True
|
||||||
crush_rule_config: True
|
crush_rule_config: True
|
||||||
crush_rule_hdd:
|
crush_rule_hdd:
|
||||||
name: HDD
|
name: HDD
|
||||||
root: HDD
|
root: default
|
||||||
type: host
|
type: host
|
||||||
|
class: hdd
|
||||||
default: true
|
default: true
|
||||||
crush_rules:
|
crush_rules:
|
||||||
- "{{ crush_rule_hdd }}"
|
- "{{ crush_rule_hdd }}"
|
||||||
|
|
|
@ -3,8 +3,9 @@ create_crush_tree: True
|
||||||
crush_rule_config: True
|
crush_rule_config: True
|
||||||
crush_rule_hdd:
|
crush_rule_hdd:
|
||||||
name: HDD
|
name: HDD
|
||||||
root: HDD
|
root: default
|
||||||
type: host
|
type: host
|
||||||
|
class: hdd
|
||||||
default: true
|
default: true
|
||||||
crush_rules:
|
crush_rules:
|
||||||
- "{{ crush_rule_hdd }}"
|
- "{{ crush_rule_hdd }}"
|
|
@ -3,8 +3,9 @@ create_crush_tree: True
|
||||||
crush_rule_config: True
|
crush_rule_config: True
|
||||||
crush_rule_hdd:
|
crush_rule_hdd:
|
||||||
name: HDD
|
name: HDD
|
||||||
root: HDD
|
root: default
|
||||||
type: host
|
type: host
|
||||||
|
class: hdd
|
||||||
default: true
|
default: true
|
||||||
crush_rules:
|
crush_rules:
|
||||||
- "{{ crush_rule_hdd }}"
|
- "{{ crush_rule_hdd }}"
|
||||||
|
|
Loading…
Reference in New Issue