Fix ceph role set target_max_bytes for cache pools

Ceph is not able to determine the size of a cache pool automatically,
so the configuration on the absolute size is required here
otherwise the flush/evict will not work.
see
http://docs.ceph.com/docs/master/rados/operations/cache-tiering/

Change-Id: I4d4abb50787093a292e1ee6eb790c10ecf5ccb94
Closes-Bug: #1654375
This commit is contained in:
shaofeng_cheng 2017-04-01 18:00:23 +08:00
parent bed0357931
commit cd103b187b
3 changed files with 32 additions and 0 deletions

View File

@ -521,6 +521,12 @@ octavia_amp_flavor_id:
# Ceph can be setup with a caching to improve performance. To use the cache you
# must provide separate disks than those for the OSDs
ceph_enable_cache: "no"
# Ceph is not able to determine the size of a cache pool automatically,
# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
ceph_target_max_bytes: ""
ceph_target_max_objects: ""
# Valid options are [ forward, none, writeback ]
ceph_cache_mode: "writeback"

View File

@ -78,3 +78,23 @@
failed_when: False
run_once: True
when: "{{ ceph_enable_cache | bool }}"
- name: Setting cache target_max_bytes
command: docker exec ceph_mon ceph osd pool set {{ pool_name }}-cache target_max_bytes {{ ceph_target_max_bytes }}
delegate_to: "{{ groups['ceph-mon'][0] }}"
changed_when: False
failed_when: False
run_once: True
when:
- "{{ ceph_enable_cache | bool }}"
- "{{ ceph_target_max_bytes != '' }}"
- name: Setting cache target_max_objects
command: docker exec ceph_mon ceph osd pool set {{ pool_name }}-cache target_max_objects {{ ceph_target_max_objects }}
delegate_to: "{{ groups['ceph-mon'][0] }}"
changed_when: False
failed_when: False
run_once: True
when:
- "{{ ceph_enable_cache | bool }}"
- "{{ ceph_target_max_objects != '' }}"

View File

@ -200,6 +200,12 @@ kolla_internal_vip_address: "10.10.10.254"
# Ceph can be setup with a caching to improve performance. To use the cache you
# must provide separate disks than those for the OSDs
#ceph_enable_cache: "no"
# Ceph is not able to determine the size of a cache pool automatically,
# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
#ceph_target_max_bytes: ""
#ceph_target_max_objects: ""
# Valid options are [ forward, none, writeback ]
#ceph_cache_mode: "writeback"