ceph/qa/standalone
Sridhar Seshasayee b12780667f osd: Restore defaults of mClock built-in profiles upon modification
The QoS parameters (res, wgt, lim) of mClock profiles are not allowed to
be modified by users using commands like "config set" or via admin socket.
handle_conf_change() does not allow changes to any built-in mClock profile
at the mClock scheduler. But the config subsystem showed the change as
expected for the built-in mClock profile QoS parameters. This misled the
user into thinking that the change was made at the mClock server when
it was not the case.

The above issue is the result of the config "levels" used by the config
subsystem. The inital built-in QoS params are set at the CONF_DEFAULT
level. This allows the user to modify the built-in QoS params using
"config set" command which sets values at CONF_MON level which has higher
priority than CONF_DEFAULT level. The new value is persisted on the mon
store and therefore the config subsystem shows the change when "config
show" command is issued.

To prevent the above, this commit adds changes to restore the defaults set
for the built-in profiles by removing the new config changes from the MON
store. This results in the original defaults to come back into effect and
maintain a consistent view of the built-in profile across all levels.

To accomplish this, the mClock scheduler is provided with additional
information like the OSD id, shard id and a pointer to the MonClient
using which the Mon store command to remove the option is executed.

A standalone test is added to verify that built-in params cannot be
modified and the original profile params are retained.

Fixes: https://tracker.ceph.com/issues/57533
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2023-01-09 19:54:44 +05:30
..
c2c
crush
erasure-code qa: Allow tests to override recovery configs with mClock scheduler enabled 2022-12-12 18:12:46 +05:30
mgr
misc osd: Restore defaults of mClock built-in profiles upon modification 2023-01-09 19:54:44 +05:30
mon qa/standalone/mon: remove --mon-inital-members setting 2022-12-09 15:43:45 +00:00
osd qa: Allow tests to override recovery configs with mClock scheduler enabled 2022-12-12 18:12:46 +05:30
osd-backfill qa: Allow tests to override recovery configs with mClock scheduler enabled 2022-12-12 18:12:46 +05:30
scrub osd/scrub: modify SnapMapper.cc to use ceph::buffer::list 2022-09-02 10:40:54 +03:00
special
ceph-helpers.sh Merge pull request #48991 from kamoltat/wip-ksirivad-fix-bz-2121452 2022-12-15 17:07:38 -05:00
README

qa/standalone
=============

These scripts run standalone clusters, but not in a normal way.  They make
use of functions ceph-helpers.sh to quickly start/stop daemons against
toy clusters in a single directory.

They are normally run via teuthology based on qa/suites/rados/standalone/*.yaml.

You can run them in a git checkout + build directory as well:

  * The qa/run-standalone.sh will run all of them in sequence.  This is slow
     since there is no parallelism.

  * You can run individual script(s) by specifying the basename or path below
    qa/standalone as arguments to qa/run-standalone.sh.

../qa/run-standalone.sh misc.sh osd/osd-dup.sh

  * Add support for specifying arguments to selected tests by simply adding
    list of tests to each argument.

../qa/run-standalone.sh "test-ceph-helpers.sh test_get_last_scrub_stamp"