e86f60aae3
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
Ceph OSDs get no benefit from kernel I/O scheduling; the original intent was to set those disks to the noop scheduler. On the fleet's EL9 blk-mq kernels (AlmaLinux 9, kernel 5.14) the equivalent of noop is none. - add profiles::ceph::osd_scheduler, which renders a udev rule from the ceph_osd_devices fact pinning queue/scheduler to none on each OSD disk - reload udev and trigger the matched block devices so the change applies immediately, while the rule keeps it set across reboots and device re-add - no-op when the fact is absent/empty so VMs and non-OSD hosts are untouched - include the class from profiles::ceph::osd so it lands only on OSD hosts Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
6 lines
282 B
Plaintext
6 lines
282 B
Plaintext
# Managed by puppet (profiles::ceph::osd_scheduler).
|
|
# Set the I/O scheduler to <%= @scheduler %> on ceph OSD block devices.
|
|
<% @kernel_names.sort.each do |dev| -%>
|
|
ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="<%= dev %>", ATTR{queue/scheduler}="<%= @scheduler %>"
|
|
<% end -%>
|