From: Sridhar Seshasayee Date: Tue, 16 May 2023 17:29:41 +0000 (+0530) Subject: mon/MonCap: Allow default osd profile to run "config rm" with restriction X-Git-Tag: v17.2.7~355^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=431e3ed24de37e6024fe5ac828a8252bb5c5c04c;p=ceph.git 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) --- diff --git a/src/mon/MonCap.cc b/src/mon/MonCap.cc index 2f2378f62463..bb5e793a6ad8 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));