]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/MonCap: Allow default osd profile to run "config rm" with restriction
authorSridhar Seshasayee <sseshasa@redhat.com>
Tue, 16 May 2023 17:29:41 +0000 (22:59 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Thu, 18 May 2023 08:33:45 +0000 (14:03 +0530)
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 <sseshasa@redhat.com>
src/mon/MonCap.cc

index aa18d123925039c0b198542cf5fb01213c279571..ef1e3b56a75566936d4486304e7f631801170074 100644 (file)
@@ -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));