From: Sridhar Seshasayee Date: Thu, 18 May 2023 09:18:09 +0000 (+0530) Subject: qa/tasks: Allow override of recovery configs for tests X-Git-Tag: v19.0.0~1169^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=aed71b56be3420d5e499453280e8aee017ce2dd5;p=ceph.git 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 --- diff --git a/qa/tasks/vstart_runner.py b/qa/tasks/vstart_runner.py index 29d699a480804..df4886fb66975 100644 --- a/qa/tasks/vstart_runner.py +++ b/qa/tasks/vstart_runner.py @@ -1432,6 +1432,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")