From 93828a635a69933ae2840681b787b6985627c908 Mon Sep 17 00:00:00 2001 From: Sridhar Seshasayee Date: Thu, 18 May 2023 14:48:09 +0530 Subject: [PATCH] qa/tasks: Allow override of recovery configs for tests With mClock scheduler enabled, a small subset of config options related to recovery limits are not allowed to be modified unless osd_mclock_override_recovery_settings option is enabled. This override option is disabled by default. The following options cannot be modified without enabling the override option: - osd_max_backfills - osd_recovery_max_active[_(hdd|ssd)] The above options are removed from the mon kv store which effectively restores them to the default values. This was resulting in tests for example, test_cluster_configuration.ClusterConfigurationTest to fail since it modifies the recovery options and expects to verify the modified value. Therefore, for tests, osd_mclock_override_recovery_settings option is enabled in vstart_runner.py so that current and future tests are not affected. Fixes: https://tracker.ceph.com/issues/61155 Signed-off-by: Sridhar Seshasayee (cherry picked from commit aed71b56be3420d5e499453280e8aee017ce2dd5) --- qa/tasks/vstart_runner.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qa/tasks/vstart_runner.py b/qa/tasks/vstart_runner.py index 234ad1985dfb0..aafe631ed4056 100644 --- a/qa/tasks/vstart_runner.py +++ b/qa/tasks/vstart_runner.py @@ -1449,6 +1449,12 @@ def exec_test(): remote.run(args=[CEPH_CMD, "tell", "osd.*", "injectargs", "--osd-mon-report-interval", "5"]) ceph_cluster.set_ceph_conf("osd", "osd_mon_report_interval", "5") + # Enable override of recovery options if mClock scheduler is active. This is to allow + # current and future tests to modify recovery related limits. This is because by default, + # with mclock enabled, a subset of recovery options are not allowed to be modified. + remote.run(args=[CEPH_CMD, "tell", "osd.*", "injectargs", "--osd-mclock-override-recovery-settings", "true"]) + ceph_cluster.set_ceph_conf("osd", "osd_mclock_override_recovery_settings", "true") + # Vstart defaults to two segments, which very easily gets a "behind on trimming" health warning # from normal IO latency. Increase it for running teests. ceph_cluster.set_ceph_conf("mds", "mds log max segments", "10") -- 2.39.5