]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-osd: Increase cpu limit to 4
authorDimitri Savineau <dsavinea@redhat.com>
Fri, 5 Apr 2019 13:45:28 +0000 (09:45 -0400)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Wed, 24 Apr 2019 16:02:28 +0000 (16:02 +0000)
In containerized deployment the default osd cpu quota is too low
for production environment using NVMe devices.
This is causing performance degradation compared to bare-metal.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1695880
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit c17106874c29f3eafb196a30b97fd1f8fd52e768)

# Conflicts:
# roles/ceph-osd/templates/ceph-osd-run.sh.j2

group_vars/osds.yml.sample
roles/ceph-osd/defaults/main.yml
roles/ceph-osd/templates/ceph-osd-run.sh.j2

index 236a2e2bee690fb83fc63e85d55483573572c719..93704679347dd43d4569d3efe78093a193f6dd99 100644 (file)
@@ -237,7 +237,7 @@ dummy:
 # Default values are based from: https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/red_hat_ceph_storage_hardware_guide/minimum_recommendations
 # These options can be passed using the 'ceph_osd_docker_extra_env' variable.
 #ceph_osd_docker_memory_limit: "{{ ansible_memtotal_mb }}m"
-#ceph_osd_docker_cpu_limit: 1
+#ceph_osd_docker_cpu_limit: 4
 
 # The next two variables are undefined, and thus, unused by default.
 # If `lscpu | grep NUMA` returned the following:
index 0f85a15112ddbd279aaea347e5bab0f82b119ed0..e1bf915e3f53593d0cb02bdc6e7cdf088c92a5c3 100644 (file)
@@ -229,7 +229,7 @@ ceph_config_keys: [] # DON'T TOUCH ME
 # Default values are based from: https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/red_hat_ceph_storage_hardware_guide/minimum_recommendations
 # These options can be passed using the 'ceph_osd_docker_extra_env' variable.
 ceph_osd_docker_memory_limit: "{{ ansible_memtotal_mb }}m"
-ceph_osd_docker_cpu_limit: 1
+ceph_osd_docker_cpu_limit: 4
 
 # The next two variables are undefined, and thus, unused by default.
 # If `lscpu | grep NUMA` returned the following:
index 8772b876ef02a6efb2dc1a505ce56fedb96c30ed..768bccb805cc5d3dd41c81743808468dc654793a 100644 (file)
@@ -69,6 +69,7 @@ fi
 ########
 # MAIN #
 ########
+{% set cpu_limit = ansible_processor_vcpus|int if ceph_osd_docker_cpu_limit|int > ansible_processor_vcpus|int else ceph_osd_docker_cpu_limit|int %}
 
 {% if ceph_osd_numactl_opts != "" %}
 numactl \
@@ -83,10 +84,15 @@ numactl \
   {% if osd_objectstore == 'filestore' -%}
   --memory={{ ceph_osd_docker_memory_limit }} \
   {% endif -%}
+<<<<<<< HEAD
   {% if ceph_docker_version.split('.')[0] is version_compare('13', '>=') -%}
   --cpus={{ ceph_osd_docker_cpu_limit }} \
+=======
+  {% if (container_binary == 'docker' and ceph_docker_version.split('.')[0] is version_compare('13', '>=')) or container_binary == 'podman' -%}
+  --cpus={{ cpu_limit }} \
+>>>>>>> c1710687... ceph-osd: Increase cpu limit to 4
   {% else -%}
-  --cpu-quota={{ ceph_osd_docker_cpu_limit * 100000 }} \
+  --cpu-quota={{ cpu_limit * 100000 }} \
   {% endif -%}
   {% if ceph_osd_docker_cpuset_cpus is defined -%}
   --cpuset-cpus='{{ ceph_osd_docker_cpuset_cpus }}' \