]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Revert "config: Always use osd_memory_target if set"
authorDimitri Savineau <dsavinea@redhat.com>
Wed, 9 Dec 2020 19:02:45 +0000 (14:02 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Tue, 15 Dec 2020 16:31:09 +0000 (17:31 +0100)
This reverts commit 4d1fdd2b05d55f8028fb5593d41fa61dbddd7095.

This breaks the backward compatibility with previous osd_memory_target
calculation and we could have a value lower than the minimum value allowed
(896M) which causes some ceph commands to fail (like ceph assimilate-conf).

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit aa6e1f20eaa5272ff0bb5e8b3cded16273aa120c)

group_vars/all.yml.sample
group_vars/rhcs.yml.sample
roles/ceph-config/templates/ceph.conf.j2
roles/ceph-defaults/defaults/main.yml

index df8c63c903844bebeaa9d7fcb366e12fd346ed25..b6f365d8dfcdc9ee3f22e073e0f4539f2c422daf 100644 (file)
@@ -368,12 +368,10 @@ 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
-# You can also set an explicit value which will override the calculation if set.
-# osd_memory_target: 4294967296
+#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
index 4cfdad748c2bc242ce84a779d310cb3483ac694c..1134e010f8b349ab7516b05097621f9d005b55c8 100644 (file)
@@ -368,12 +368,10 @@ 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
-# You can also set an explicit value which will override the calculation if set.
-# osd_memory_target: 4294967296
+#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
index 6773230ac12247da624806ae721b1837effa023c..5bdc641aac00adbfabf4385598a5c33237410a14 100644 (file)
@@ -90,16 +90,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 and not osd_memory_target is defined %}
+{% if is_hci | bool and _num_osds > 0 %}
 {# 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 %}
-{% elif _num_osds > 0 and not osd_memory_target is defined %}
+{% endif %}
+{% elif _num_osds > 0 %}
 {# 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 %}
-{% if _osd_memory_target is defined or osd_memory_target is defined %}
-osd memory target = {{ _osd_memory_target | default(osd_memory_target) }}
 {% endif %}
+osd memory target = {{ _osd_memory_target | default(osd_memory_target) }}
 {% endif %}
 {% endif %}
 
index 5ab595f109ca5396810810049bbc0223375f53a6..c70849755f9dee3e8e80fbfacd2e52acdc15c109 100644 (file)
@@ -360,12 +360,10 @@ 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
-# You can also set an explicit value which will override the calculation if set.
-# osd_memory_target: 4294967296
+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