Actions
Bug #53130
closedcephadm SYSCTL_DIR path not FHS compliant
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
cephadm (binary)
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
By default, cephadm uses '/usr/lib/sysctl.d/' (→ cephadm:L65) as default path for the osd-specific sysctl settings.
According to the Filesystem Hierarchy Standard /usr is the second major section of the filesystem. /usr is shareable, read-only data. That means that /usr should be shareable between various FHS-compliant hosts and must not be written to. (→ FHS 3.0 Sec. 4.1)
I would recommend that '/etc/sysctl.d' is used instead, because that would be a proper place for host specific, non-distribution sysctl configuration files.
Uncompliance with that specific FHS rule may break technologies that rely on '/usr/lib/sysctl.d/' being either read-only or completely overwritten (an example would be SUSE's transactional-update).
BackportingRegarding backporting there would be several different strategies:
- Leave ceph sysctl configuration at '/usr/lib/sysctl.d'
PRO: No changes to stable branches
CON: Older branches stay uncompliant/ unusable with certain technologies. - Use '/etc/sysctl.d/' if '/usr/lib/sysctl.d/' is unwritable as root (→ read-only)
PRO: No changes to already set up systems.
PRO: Will be useable with read-only filesystem.
CON: Not working if '/usr/lib/sysctl.d/' is overwritten by the distribution - Migrate configuration from '/usr/lib/sysctl.d' to '/etc/sysctl.d'
PRO: Full FHS compliance; read-only and overwrite scenarios supported.
CON: Changes on already set up systems.
Actions