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 f1903e5eab..d308c2dece 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