From: Gaudenz Steinlin Date: Mon, 28 Oct 2019 09:41:26 +0000 (+0100) Subject: config: Always use osd_memory_target if set X-Git-Tag: v6.0.0alpha3~58 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=4d1fdd2b05d55f8028fb5593d41fa61dbddd7095;p=ceph-ansible.git config: Always use osd_memory_target if set The osd_memory_target variable was only used if it was higher than the calculated value based on the number of OSDs. This is changed to always use the value if it is set in the configuration. This allows this value to be intentionally set lower so that it does not have to be changed when more OSDs are added later. Signed-off-by: Gaudenz Steinlin --- diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index 1c6a9e630..df0e76457 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -342,10 +342,12 @@ dummy: ## OSD options # +# Variables to calculate a suitable osd_memory_target based on the number of OSDs #is_hci: false #hci_safety_factor: 0.2 #non_hci_safety_factor: 0.7 -#osd_memory_target: 4294967296 +# You can also set an explicit value which will override the calculation if set. +# osd_memory_target: 4294967296 #journal_size: 5120 # OSD journal size in MB #block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'. #public_network: 0.0.0.0/0 diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index a10171cfd..2ba95134b 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -342,10 +342,12 @@ ceph_iscsi_config_dev: false ## OSD options # +# Variables to calculate a suitable osd_memory_target based on the number of OSDs #is_hci: false #hci_safety_factor: 0.2 #non_hci_safety_factor: 0.7 -#osd_memory_target: 4294967296 +# You can also set an explicit value which will override the calculation if set. +# osd_memory_target: 4294967296 #journal_size: 5120 # OSD journal size in MB #block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'. #public_network: 0.0.0.0/0 diff --git a/roles/ceph-config/templates/ceph.conf.j2 b/roles/ceph-config/templates/ceph.conf.j2 index 1fdb76431..5f094cb6f 100644 --- a/roles/ceph-config/templates/ceph.conf.j2 +++ b/roles/ceph-config/templates/ceph.conf.j2 @@ -82,20 +82,18 @@ filestore xattr use omap = true {% if osd_objectstore == 'bluestore' %} {% set _num_osds = num_osds | default(0) | int %} [osd] -{% if is_hci | bool and _num_osds > 0 %} +{% if is_hci | bool and _num_osds > 0 and not osd_memory_target is defined %} {# hci_safety_factor is the safety factor for HCI deployments #} -{% if ansible_memtotal_mb * 1048576 * hci_safety_factor / _num_osds > osd_memory_target %} {% set _osd_memory_target = (ansible_memtotal_mb * 1048576 * hci_safety_factor / _num_osds) | int %} -{% endif %} -{% elif _num_osds > 0 %} +{% elif _num_osds > 0 and not osd_memory_target is defined %} {# non_hci_safety_factor is the safety factor for dedicated nodes #} -{% if ansible_memtotal_mb * 1048576 * non_hci_safety_factor / _num_osds > osd_memory_target %} {% set _osd_memory_target = (ansible_memtotal_mb * 1048576 * non_hci_safety_factor / _num_osds) | int %} {% endif %} -{% endif %} +{% if _osd_memory_target is defined or osd_memory_target is defined %} osd memory target = {{ _osd_memory_target | default(osd_memory_target) }} {% endif %} {% endif %} +{% endif %} {% if inventory_hostname in groups.get(rgw_group_name, []) %} {% set _rgw_hostname = hostvars[inventory_hostname]['rgw_hostname'] | default(hostvars[inventory_hostname]['ansible_hostname']) %} diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index 33f002324..97d2f8004 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -334,10 +334,12 @@ cephfs_pools: ## OSD options # +# Variables to calculate a suitable osd_memory_target based on the number of OSDs is_hci: false hci_safety_factor: 0.2 non_hci_safety_factor: 0.7 -osd_memory_target: 4294967296 +# You can also set an explicit value which will override the calculation if set. +# osd_memory_target: 4294967296 journal_size: 5120 # OSD journal size in MB block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'. public_network: 0.0.0.0/0