* refs/pull/50503/head:
mon: do not change pending if strategy is unchanged
mon/MonmapMonitor: do not propose on error in prepare_update
mon/MonmapMonitor: wait for commit before reply
mon: use wait_for_commit to reply
mon: add context list for commit wait
mon: remove unused method
test/mon: add commit benchmark script
mon/MonClient: provide config to target specific rank
Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Part of general cephadm split-up refactoring. I am not happy with the
name 'container_types' but none of the alternatives I could think
of were much better.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The FileLock type doesn't play much of a role when running tests so
to prevent issues, always mock it out when using with_cephadm_ctx.
In particular, a future patch revealed a problem with the FileLock code
that I can not understand how it was not hit before, or why this simple
refactoring - not directly related to file locking - triggered it. But
in short, the FakeFilesystem mocking utility only covers some syscalls.
In fact, the fake filesystem was returning an fd that was then passed to
real calls (fcntl and os.close). The latter then triggered issues when
pytest was trying to clean up after it applied it's magic to stdio
objects in sys. The fix is easy - understanding why it happens and how
was hard. I still don't understand why it popped up when it did only
that this is necessary to implement the following patches.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(which directly translates to the required followup action)
instead of reporting the exact failure. The specific of the failure
were never used by the scrub scheduler.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Set the flag for printing the commands that will be executed so that
it's easier to go through teuthology.log
Signed-off-by: Rishabh Dave <ridave@redhat.com>
To fix the mdtest job failure (which happens because building mdtest
project fails) do -
1. Use ior projects intead of mdtest project bcecause latter was merged
into former. See:
https://github.com/MDTEST-LANL/mdtest/blob/master/README.md
2. Purge mpich package and then install it again. This is a vital step
that's needed to build ior project on Ubuntu 22.04.
Fixes: https://tracker.ceph.com/issues/61574
Signed-off-by: Rishabh Dave <ridave@redhat.com>
Moving some member functions to their corresponding files.
Including ScrubQueue::dump_scrubs()
as it was moved in a previous commit,
and some ScrubJob code.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
monitoring: grafana mons out of quorum should be count - sum
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
cephadm: fix cephadm binary mount when --shared_ceph_folder is used
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
At this phase of the refactoring:
this is the main interface from the scrub scheduler in OsdScrub
to the ScrubQueue. The ScrubQueue provides the ordered list of
all targets (for now - PGs) that are ready for scrubbing.
Scrub initiation code is modified to use the new interface.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
from ScrubQueue::select_pg_and_scrub().
Clearing the path to moving some ScrubQueue methods into
OscScrub. Starting here with the CPU load tracker.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
... (as OsdScrub::initiate_scrub()).
The random backoff dice roller (scrub_random_backoff())
is moved as well.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
for all OSD scrub things.
For now: OsdScrub is mostly a forwarder to the ScrubQueue object
(which it now owns).
The resource counters moved into a separate object within OsdScrub.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
set_reserving_now() can now return a failure status, indicating
a race between two PGs to start scrubbing on the same OSD.
The scrubber FSM is modified to handle the failure.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Renaming ScrubPreconds, the collection of "environmental"
restrictions on possible scrubs, to OSDRestrictions.
Also - providing fmtlib support for that structure.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>