From ab5d74ed6f8afebff26d0970151ff785aad468ff Mon Sep 17 00:00:00 2001 From: Sridhar Seshasayee Date: Tue, 16 May 2023 22:59:41 +0530 Subject: [PATCH] mon/MonCap: Allow default osd profile to run "config rm" with restriction This is a follow-up to PR: https://github.com/ceph/ceph/pull/48703. Modify the mon caps to allow OSDs to run the "config rm" command with restriction to remove only the following config keys from the mon store: - osd_max_backfills - osd_recovery_max_active(.*) - osd_recovery_max_active and - osd_recovery_max_active_(hdd|ssd) - osd_mclock_scheduler_(.*) -> all the QoS specific config options. The above is similar to the change in mon caps to run the "config set" command as implemented in PR: https://github.com/ceph/ceph/pull/42853. Fixes: https://tracker.ceph.com/issues/61155 Signed-off-by: Sridhar Seshasayee (cherry picked from commit 69160081eea908ba1d5841b6b827352515fb304e) --- src/mon/MonCap.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mon/MonCap.cc b/src/mon/MonCap.cc index aa18d123925..ef1e3b56a75 100644 --- a/src/mon/MonCap.cc +++ b/src/mon/MonCap.cc @@ -186,6 +186,11 @@ void MonCapGrant::expand_profile(const EntityName& name) const StringConstraint constraint(StringConstraint::MATCH_TYPE_REGEX, string("osd_mclock_max_capacity_iops_(hdd|ssd)")); profile_grants.push_back(MonCapGrant("config set", "name", constraint)); + constraint = StringConstraint(StringConstraint::MATCH_TYPE_REGEX, + string("^(osd_max_backfills|") + + string("osd_recovery_max_active(.*)|") + + string("osd_mclock_scheduler_(.*))")); + profile_grants.push_back(MonCapGrant("config rm", "name", constraint)); } if (profile == "mds") { profile_grants.push_back(MonCapGrant("mds", MON_CAP_ALL)); -- 2.47.3