From 8b2912df1c8c8a909c441b1b0c5c675e0fa7420c Mon Sep 17 00:00:00 2001 From: John Fulton Date: Fri, 26 Oct 2018 18:06:10 -0400 Subject: [PATCH] Add TunedCustomProfile parameter and HCI Ceph filestore environment Add TunedCustomProfile parameter which may contain a string in INI format describing a custom tuned profile. Also provide a new environment file for users of hypercoverged Ceph deployments using the Ceph filestore storage backened. The tuned profile is based on heavy I/O load testing. The provided environment file creates /etc/tuned/ceph-filestore-osd-hci/tuned.conf whose content is the following and sets this tuned profile to be active. [main] summary=ceph-osd Filestore tuned profile include=throughput-performance [sysctl] vm.dirty_ratio = 10 vm.dirty_background_ratio = 3 [sysfs] /sys/kernel/mm/ksm/run=0 Depends-On: Iba17d86bbdd710623ba1ba44b1ea5d4c1b99c541 Change-Id: Iaa1c82cefac5c8f2959fd7aeb57bd6860fd9096a Closes-Bug: #1800232 (cherry picked from commit bc0246ff8a974f63229ed334b0c867472a3c9dc9) --- environments/tuned-ceph-filestore-hci.yaml | 13 +++++++++++++ puppet/services/tuned.yaml | 15 ++++++++++++++- .../tuned_custom_profile-25d1f4a2bc217216.yaml | 15 +++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 environments/tuned-ceph-filestore-hci.yaml create mode 100644 releasenotes/notes/tuned_custom_profile-25d1f4a2bc217216.yaml diff --git a/environments/tuned-ceph-filestore-hci.yaml b/environments/tuned-ceph-filestore-hci.yaml new file mode 100644 index 0000000000..dac8bf10d3 --- /dev/null +++ b/environments/tuned-ceph-filestore-hci.yaml @@ -0,0 +1,13 @@ +parameter_defaults: + # Reduce memory contention when collocating Nova compute and Ceph + # OSD services (HCI). For use with Ceph filestore, not bluestore. + TunedCustomProfile: | + [main] + summary=ceph-osd Filestore tuned profile + include=throughput-performance + [sysctl] + vm.dirty_ratio = 10 + vm.dirty_background_ratio = 3 + [sysfs] + /sys/kernel/mm/ksm/run=0 + TunedProfileName: ceph-filestore-osd-hci diff --git a/puppet/services/tuned.yaml b/puppet/services/tuned.yaml index 5193bf5c1d..7aeeb1f15e 100644 --- a/puppet/services/tuned.yaml +++ b/puppet/services/tuned.yaml @@ -36,6 +36,17 @@ parameters: type: string tags: - role_specific + TunedCustomProfile: + default: '' + description: The definition of a new tuned profile in INI format which + will be named after the TunedProfileName and applied to the + host. E.g. if TunedProfileName is 'my_profile', it creates + the file '/etc/tuned/my_profile/tuned.conf' on host whose + content is the value of TunedCustomProfile, e.g. "[main]\n + include=throughput-performance\n[sysctl]\nvm.dirty_ratio=10" + type: string + tags: + - role_specific outputs: role_data: @@ -46,7 +57,9 @@ outputs: map_replace: - map_replace: - tripleo::profile::base::tuned::profile: TunedProfileName + tripleo::profile::base::tuned::custom_profile: TunedCustomProfile - values: {get_param: RoleParameters} - - values: {'TunedProfileName': {get_param: TunedProfileName}} + - values: {'TunedProfileName': {get_param: TunedProfileName}, + 'TunedCustomProfile': {get_param: TunedCustomProfile}} step_config: | include ::tripleo::profile::base::tuned diff --git a/releasenotes/notes/tuned_custom_profile-25d1f4a2bc217216.yaml b/releasenotes/notes/tuned_custom_profile-25d1f4a2bc217216.yaml new file mode 100644 index 0000000000..7e8053858e --- /dev/null +++ b/releasenotes/notes/tuned_custom_profile-25d1f4a2bc217216.yaml @@ -0,0 +1,15 @@ +--- +features: + - | + Add new TunedCustomProfile parameter which may contain a string + in INI format describing a custom tuned profile. Also provide a + new environment file for users of hypercoverged Ceph deployments + using the Ceph filestore storage backened. The tuned profile is + based on heavy I/O load testing. The provided environment file + creates /etc/tuned/ceph-filestore-osd-hci/tuned.conf and sets + this tuned profile to be active. Not intended for use with Ceph + bluestore. +fixes: + - | + CephOSD/Compute nodes crash under memory pressure unless custom tuned profile is used + (`bug 1800232 `__). \ No newline at end of file