]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agodoc/glossary: Clean up "Ceph Object Storage" 49667/head
Zac Dover [Sun, 8 Jan 2023 08:04:43 +0000 (18:04 +1000)]
doc/glossary: Clean up "Ceph Object Storage"

Remove redundant material under the "Ceph Object Storage" headword and
add a "See 'Ceph Object Store'" link. A future PR will provide a couple
of sentences that explain how object storage is what's really supporting
both CephFS and RBD.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 6bede3505f2967155644b0edfe9db1a8eb82a93c)

2 years agoMerge pull request #49661 from zdover23/wip-doc-2023-01-07-backport-49658-to-quincy
zdover23 [Fri, 6 Jan 2023 19:29:23 +0000 (05:29 +1000)]
Merge pull request #49661 from zdover23/wip-doc-2023-01-07-backport-49658-to-quincy

quincy: doc/css: Add scroll-margin-top to h2 html element

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #49659 from zdover23/wip-doc-2023-01-07-backport-49653-to-quincy
zdover23 [Fri, 6 Jan 2023 19:29:04 +0000 (05:29 +1000)]
Merge pull request #49659 from zdover23/wip-doc-2023-01-07-backport-49653-to-quincy

quincy: doc/man: define --num-rep, --min-rep and --max-rep

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/css: Add scroll-margin-top to h2 html element 49661/head
Zac Dover [Fri, 6 Jan 2023 16:24:39 +0000 (02:24 +1000)]
doc/css: Add scroll-margin-top to h2 html element

Add "scroll-margin-top: 4em;" to the h2 html element's definition in
custom.css. This moves the text under all h2 html elements out of the
way of the sticky-header-style top bar, which previously obscured the
text.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit af048ca911fcd84e6a73d32999c772f64e95d67f)

2 years agodoc/man: define --num-rep, --min-rep and --max-rep 49659/head
Zac Dover [Fri, 6 Jan 2023 12:51:47 +0000 (22:51 +1000)]
doc/man: define --num-rep, --min-rep and --max-rep

Explain the "--num-rep", "--min-rep", and "--max-rep" options, which are
required when running "crushtool" commands with the "--show-mappings"
flag. Originally reported by Brad Fitzpatrick.

https://tracker.ceph.com/issues/58374

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 10fa01d075b09726e3f07d2cae83ced4e418deae)

2 years agoMerge pull request #49644 from zdover23/wip-doc-2023-01-06-backport-49643-to-quincy
zdover23 [Fri, 6 Jan 2023 16:13:33 +0000 (02:13 +1000)]
Merge pull request #49644 from zdover23/wip-doc-2023-01-06-backport-49643-to-quincy

quincy: doc/_static: add scroll-margin-top to custom.css

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/_static: add scroll-margin-top to custom.css 49644/head
Zac Dover [Thu, 5 Jan 2023 18:19:12 +0000 (04:19 +1000)]
doc/_static: add scroll-margin-top to custom.css

Add 4em of padding to the class "section", so that linked-to
destinations are not obscured by the top bar.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 5738271498c1d4581e44b077580f1131950d1ba3)

2 years agoMerge pull request #49639 from zdover23/wip-doc-2023-01-05-backport-49637-to-quincy
zdover23 [Thu, 5 Jan 2023 15:14:14 +0000 (01:14 +1000)]
Merge pull request #49639 from zdover23/wip-doc-2023-01-05-backport-49637-to-quincy

quincy: doc/css: add scroll-margin-top to dt elements

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/css: add scroll-margin-top to dt elements 49639/head
Zac Dover [Thu, 5 Jan 2023 12:25:43 +0000 (22:25 +1000)]
doc/css: add scroll-margin-top to dt elements

add "scroll-margin-top: em3;" to custom.css so that the header bar
doesn't obscure the text of headwords in glossary.rst. Note that this
applies only to elements in the documentation that are rendered into
HTML with the dt (which stands for "description term" or "description
list") tag. Other modifications will be necessary in order to ensure
that the anchor points of non-dt elements are not obscured by the header
bar.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 1865de86622592555571c1539f3c013c7936d53e)

2 years agoMerge pull request #49621 from zdover23/wip-doc-2023-01-04-backport-49620-to-quincy
zdover23 [Tue, 3 Jan 2023 17:10:08 +0000 (03:10 +1000)]
Merge pull request #49621 from zdover23/wip-doc-2023-01-04-backport-49620-to-quincy

quincy: doc: fix a couple grammatical things

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc: fix a couple grammatical things 49621/head
Brad Fitzpatrick [Tue, 3 Jan 2023 16:36:19 +0000 (08:36 -0800)]
doc: fix a couple grammatical things

Signed-off-by: Brad Fitzpatrick <brad@danga.com>
(cherry picked from commit b9b6011c11450e292e4d233a444d776cca8fd86e)

2 years agoMerge pull request #49615 from zdover23/wip-doc-2022-01-03-backport-49613-to-quincy
zdover23 [Tue, 3 Jan 2023 08:39:36 +0000 (18:39 +1000)]
Merge pull request #49615 from zdover23/wip-doc-2022-01-03-backport-49613-to-quincy

quincy: doc/start: add Anthony D'Atri's suggestions

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/start: add Anthony D'Atri's suggestions 49615/head
Zac Dover [Mon, 2 Jan 2023 13:00:55 +0000 (23:00 +1000)]
doc/start: add Anthony D'Atri's suggestions

Add the suggestions made by Anthony D'Atri in
https://github.com/ceph/ceph/pull/49609.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 6141c5f0618432b5dc23d53b5920cab48aa5db7e)

2 years agoMerge pull request #49610 from zdover23/wip-doc-2023-01-02-backport-49609-to-quincy
colemitchell [Mon, 2 Jan 2023 06:07:31 +0000 (01:07 -0500)]
Merge pull request #49610 from zdover23/wip-doc-2023-01-02-backport-49609-to-quincy

quincy: doc/start: refine "Quirks of RST"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/start: refine "Quirks of RST" 49610/head
Zac Dover [Mon, 2 Jan 2023 04:23:22 +0000 (14:23 +1000)]
doc/start: refine "Quirks of RST"

Refine the language that was added yesterday, language that explains how
certain aspects of RST work.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit cdc7b6035414ea46b1e583d21a3a821f041c5417)

2 years agoMerge pull request #49608 from zdover23/wip-doc-2023-01-01-backport-49606-to-quincy
zdover23 [Sun, 1 Jan 2023 13:00:43 +0000 (23:00 +1000)]
Merge pull request #49608 from zdover23/wip-doc-2023-01-01-backport-49606-to-quincy

quincy: doc/start: add link-related metadocumentation

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/start: add link-related metadocumentation 49608/head
Zac Dover [Sun, 1 Jan 2023 12:06:54 +0000 (22:06 +1000)]
doc/start: add link-related metadocumentation

Add two kinds of link-related metadocumentation (documentation about how
to write documentation) to the "Documenting Ceph" section of the "Intro
to Ceph" document: 1. metadocumentation about external links, and 2.
metadocumentation about internal links.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 7517404f72819907700036cd1a287174bad38f10)

2 years agoMerge pull request #49603 from zdover23/wip-doc-2022-12-31-backport-49602-to-quincy
colemitchell [Sat, 31 Dec 2022 05:20:39 +0000 (00:20 -0500)]
Merge pull request #49603 from zdover23/wip-doc-2022-12-31-backport-49602-to-quincy

quincy: doc/glossary: capitalize "DAS" correctly

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/glossary: capitalize "DAS" correctly 49603/head
Zac Dover [Sat, 31 Dec 2022 04:22:26 +0000 (14:22 +1000)]
doc/glossary: capitalize "DAS" correctly

Correctly capitalize "Direct-Attached Storage" in the glossary. (And
test the "Quincy" branch, which seems lately not to have picked up any
docs backports.)

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 7c70a66414325edf44db6183fd35a007d3e44fd9)

2 years agoMerge pull request #49600 from zdover23/wip-doc-2022-12-30-backport-49599-to-quincy
colemitchell [Fri, 30 Dec 2022 03:32:52 +0000 (22:32 -0500)]
Merge pull request #49600 from zdover23/wip-doc-2022-12-30-backport-49599-to-quincy

quincy: doc/glossary: collate "releases" entries

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/glossary: collate "releases" entries 49600/head
Zac Dover [Fri, 30 Dec 2022 01:32:31 +0000 (11:32 +1000)]
doc/glossary: collate "releases" entries

Collect the "Releases"-related entries together under the "Releases"
headword, in order to give readers a sense at a glance of how the
different kinds of releases relate to one another.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 39377f7db114b344727249792de2f5d98b72c1d7)

2 years agoMerge pull request #49595 from zdover23/wip-doc-2022-12-30-backport-49593-to-quincy
zdover23 [Fri, 30 Dec 2022 00:20:44 +0000 (10:20 +1000)]
Merge pull request #49595 from zdover23/wip-doc-2022-12-30-backport-49593-to-quincy

quincy: doc/glossary: s/an/each/ where it's needed

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #49597 from zdover23/wip-doc-2022-12-30-backport-49488-to-quincy
zdover23 [Fri, 30 Dec 2022 00:15:38 +0000 (10:15 +1000)]
Merge pull request #49597 from zdover23/wip-doc-2022-12-30-backport-49488-to-quincy

quincy: doc/rbd: refine rbd-exclusive-locks.rst

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agodoc/rbd: refine rbd-exclusive-locks.rst 49597/head
Zac Dover [Sat, 17 Dec 2022 23:12:01 +0000 (09:12 +1000)]
doc/rbd: refine rbd-exclusive-locks.rst

Refine grammar (mostly semantics) in rbd-exclusive-locks.rst.

Co-authored-by: Ilya Dryomov <idryomov@redhat.com>
Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 62b00127513c60a1a99b149ab4878ee11763f4fd)

2 years agodoc/glossary: s/an/each/ where it's needed 49595/head
Zac Dover [Thu, 29 Dec 2022 04:42:25 +0000 (14:42 +1000)]
doc/glossary: s/an/each/ where it's needed

s/an/each/ in accordance with the suggestion made by Anthony D'Atri
here: https://github.com/ceph/ceph/pull/49590/files#r1058390357

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 40a9f1594cf6a5d3660b53981c5c398c9b294758)

2 years agoMerge pull request #49589 from zdover23/wip-doc-2022-12-28-backport-49584-to-quincy
zdover23 [Thu, 29 Dec 2022 04:14:23 +0000 (14:14 +1000)]
Merge pull request #49589 from zdover23/wip-doc-2022-12-28-backport-49584-to-quincy

quincy: doc/glossary: clean OSD id-related entries

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #49591 from zdover23/wip-doc-2022-12-28-backport-49587-to-quincy
zdover23 [Wed, 28 Dec 2022 13:44:27 +0000 (23:44 +1000)]
Merge pull request #49591 from zdover23/wip-doc-2022-12-28-backport-49587-to-quincy

quincy: doc/rbd: s/wuold/would/ in rados-rbd-cmds.rst

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agodoc/rbd: s/wuold/would/ in rados-rbd-cmds.rst 49591/head
Zac Dover [Tue, 27 Dec 2022 12:28:49 +0000 (22:28 +1000)]
doc/rbd: s/wuold/would/ in rados-rbd-cmds.rst

s/wuold/would/ in rados-rbd-cmds.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 39c18021d6cc998b44050de9d67b22d3a4fae893)

2 years agodoc/glossary: clean OSD id-related entries 49589/head
Zac Dover [Tue, 27 Dec 2022 05:28:31 +0000 (15:28 +1000)]
doc/glossary: clean OSD id-related entries

Tidy up the sentences under the headwords "OSD fsid", "OSD id", and "OSD
uuid".

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit e16fe735305e1d61b1635455175dd41557e13819)

2 years agoMerge pull request #49574 from zdover23/wip-doc-2022-12-26-backport-49573-to-quincy
zdover23 [Mon, 26 Dec 2022 06:42:43 +0000 (16:42 +1000)]
Merge pull request #49574 from zdover23/wip-doc-2022-12-26-backport-49573-to-quincy

quincy: doc/glossary: disambiguate clauses

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/glossary: disambiguate clauses 49574/head
Zac Dover [Mon, 26 Dec 2022 06:05:32 +0000 (16:05 +1000)]
doc/glossary: disambiguate clauses

Disambiguate various clauses, most of which contain forms of the verb
"to require".

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 643f430a0f82b4018b0076883a249e4556bc956a)

2 years agoMerge pull request #49570 from zdover23/wip-doc-2022-12-26-backport-49569-to-quincy
zdover23 [Mon, 26 Dec 2022 06:00:01 +0000 (16:00 +1000)]
Merge pull request #49570 from zdover23/wip-doc-2022-12-26-backport-49569-to-quincy

quincy: doc/start: update documenting-ceph.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/start: update documenting-ceph.rst 49570/head
Zac Dover [Sun, 25 Dec 2022 21:11:30 +0000 (07:11 +1000)]
doc/start: update documenting-ceph.rst

Add an article to documenting-ceph.rst in order to troubleshoot a
backporting problem.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 1a7a5bc1f2a5c1bd39628e52d86c5ac546a6585e)

2 years agoMerge pull request #49565 from zdover23/wip-doc-2022-12-25-backport-49564-to-quincy 49565/head
colemitchell [Sun, 25 Dec 2022 03:03:28 +0000 (22:03 -0500)]
Merge pull request #49565 from zdover23/wip-doc-2022-12-25-backport-49564-to-quincy

quincy: doc/start: improve documenting-ceph.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/start: improve documenting-ceph.rst
Zac Dover [Sun, 25 Dec 2022 02:08:25 +0000 (12:08 +1000)]
doc/start: improve documenting-ceph.rst

Improve the grammar and the pragmatics of the "TOC and Hyperlinks"
section of start/documenting-ceph.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 21bca67daa36847412113a94a2b96c864a35e9ec)

2 years agoMerge pull request #49561 from zdover23/wip-doc-2022-12-24-backport-49558-to-quincy
colemitchell [Sat, 24 Dec 2022 07:07:53 +0000 (02:07 -0500)]
Merge pull request #49561 from zdover23/wip-doc-2022-12-24-backport-49558-to-quincy

quincy: doc/rados: remove prompt from php.ini line

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: remove prompt from php.ini line 49561/head
Zac Dover [Sat, 24 Dec 2022 06:11:20 +0000 (16:11 +1000)]
doc/rados: remove prompt from php.ini line

Remove an unselectable prompt from the beginning of a line meant to be
included in the "php.ini" file.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit dbe2762ea30d7cf721bf1aa04bb0ac57e5326eac)

2 years agoMerge pull request #49559 from zdover23/wip-doc-2022-12-24-backport-49557-to-quincy
zdover23 [Sat, 24 Dec 2022 06:41:21 +0000 (16:41 +1000)]
Merge pull request #49559 from zdover23/wip-doc-2022-12-24-backport-49557-to-quincy

quincy: doc/rados: correct typo in python.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: correct typo in python.rst 49559/head
Zac Dover [Sat, 24 Dec 2022 05:51:10 +0000 (15:51 +1000)]
doc/rados: correct typo in python.rst

s/you Ceph configuration file/your Ceph configuration file/

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 306b8f7e28fa4313c878cebeece7795b660672dc)

2 years agoMerge pull request #49544 from idryomov/wip-rbd-qemu-xfstests-patchup-quincy
Ilya Dryomov [Fri, 23 Dec 2022 11:52:34 +0000 (12:52 +0100)]
Merge pull request #49544 from idryomov/wip-rbd-qemu-xfstests-patchup-quincy

quincy: qa: switch back to git protocol for qemu-xfstests

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2 years agoqa: switch to curl for qemu-xfstests 49544/head
Ilya Dryomov [Thu, 22 Dec 2022 15:32:44 +0000 (16:32 +0100)]
qa: switch to curl for qemu-xfstests

This is a follow-up for commit 631899ffeb84 ("qa: switch back to git
protocol for qemu-xfstests"), needed for the same "ancient execution
environment" reason.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 270bf4bd6c5c770c8de6f7cd07528c11edaf1516)

2 years agoMerge pull request #49551 from zdover23/wip-doc-2022-12-23-backport-49550-to-quincy
colemitchell [Fri, 23 Dec 2022 01:05:26 +0000 (20:05 -0500)]
Merge pull request #49551 from zdover23/wip-doc-2022-12-23-backport-49550-to-quincy

quincy: doc/rados: add prompts to librados-intro.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to librados-intro.rst 49551/head
Zac Dover [Fri, 23 Dec 2022 00:47:27 +0000 (10:47 +1000)]
doc/rados: add prompts to librados-intro.rst

Add unselectable prompts to doc/rados/api/librados-intro.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit a3ec661721bbf98abfdd9c3a8ef9cadde42aeca7)

2 years agoMerge pull request #49311 from kamoltat/wip-ksirivad-backport-quincy-bz-2121452
Kamoltat Sirivadhna [Thu, 22 Dec 2022 16:02:01 +0000 (11:02 -0500)]
Merge pull request #49311 from kamoltat/wip-ksirivad-backport-quincy-bz-2121452

quincy: mon/Elector: Change how we handle removed_ranks and notify_rank_removed()
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
2 years agoqa: switch back to git protocol for qemu-xfstests
Ilya Dryomov [Mon, 19 Dec 2022 17:54:08 +0000 (18:54 +0100)]
qa: switch back to git protocol for qemu-xfstests

As noted in commit 89177d65988c ("qa: switch to https protocol for
repos' server"), git.ceph.com mirror doesn't make git:// available
anymore.  However, run_xfstests-obsolete.sh has "obsolete" in its
name for a reason -- due to an ancient execution environment, git://
is the only viable option:

  $ git clone https://git.ceph.com/xfstests-dev.git
  Cloning into 'xfstests-dev'...
  error: gnutls_handshake() failed: A TLS fatal alert has been received. while accessing https://git.ceph.com/xfstests-dev.git/info/refs
  fatal: HTTP request failed

Ditch git.ceph.com mirror for now.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 631899ffeb84686e5d6b9a271ec72b92a85417ea)

Conflicts:
qa/run_xfstests-obsolete.sh [ commit 89177d65988c ("qa: switch
  to https protocol for repos' server") not in quincy ]

2 years agoMerge pull request #49508 from Matan-B/wip-matanb-quincy-tox-fixes
Matan [Thu, 22 Dec 2022 08:35:48 +0000 (10:35 +0200)]
Merge pull request #49508 from Matan-B/wip-matanb-quincy-tox-fixes

quincy: pybind/mgr: tox and test fixes

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49535 from zdover23/wip-doc-2022-12-22-backport-49529-to-quincy
Anthony D'Atri [Wed, 21 Dec 2022 22:14:11 +0000 (17:14 -0500)]
Merge pull request #49535 from zdover23/wip-doc-2022-12-22-backport-49529-to-quincy

quincy: doc/rados: add prompts to bluestore-config-ref.rst

2 years agodoc/rados: add prompts to bluestore-config-ref.rst 49535/head
Zac Dover [Wed, 21 Dec 2022 07:41:04 +0000 (17:41 +1000)]
doc/rados: add prompts to bluestore-config-ref.rst

Add unselectable prompts to
doc/rados/configuration/bluestore-config-ref.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 88087f7f663d85f343c8440e1942994a6679f571)

2 years agomon/Monitor.cc: notify_new_monmap() skips removal of non-exist rank 49311/head
Kamoltat [Wed, 14 Dec 2022 19:54:00 +0000 (19:54 +0000)]
mon/Monitor.cc: notify_new_monmap() skips removal of non-exist rank

Problem:
In RHCS the user can choose to manually remove a monitor rank
before shutting the monitor down. Causing inconsistency in monmap.
for example we remove mon.a from the monmap, there is a short period
where mon.a is still operational and will try to remove itself from
monmap but we will run into an assertion in
ConnectionTracker::notify_ranks_removed().

Solution:
In Monitor::notify_new_monmap() we prevent the func
from going into removing our own rank, or
ranks that doesn't exists in monmap.

FYI: this is an RHCS problem only, in ODF,
we never remove a monitor from monmap
before shutting it down.

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 924e7ec92bbaa6efd0ef816c1cb101ff7972616c)

2 years agoqa/standalone/mon: remove --mon-inital-members setting
Kamoltat [Wed, 30 Nov 2022 22:51:02 +0000 (22:51 +0000)]
qa/standalone/mon: remove --mon-inital-members setting

Problem:

--mon-initial-members does nothing but causes monmap
to populate ``removed_ranks`` because the way we start
monitors in standalone tests uses ``run_mon $dir $id ..``
on each mon. Regardless of --mon-initial-members=a,b,c, if
we set --mon-host=$MONA,$MONB,$MONC (which we do every single tests),
everytime we run a monitor (e.g.,run mon.b) it will pre-build
our monmap with

```
noname-a=mon.noname-a addrs v2:127.0.0.1:7127/0,
b=mon.b addrs v2:127.0.0.1:7128/0,
noname-c=mon.noname-c addrs v2:127.0.0.1:7129/0,
```

Now, with --mon-initial-members=a,b,c we are letting
monmap know that we should have initial members name:
a,b,c, which we only have `b` as a match. So what
``MonMap::set_initial_members`` do is that it will
remove noname-a and noname-c which will
populate `removed_ranks`.

Solution:

remove all instances of --mon-initial-members
in the standalone test as it has no impact on
the nature of the tests themselves.

Fixes: https://tracker.ceph.com/issues/58132
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit e1c095dcf0a019bff01d2d8c819e5f95604c8da5)

2 years agomon: clear connection score during update & add sanity check live/dead connection...
Kamoltat [Fri, 11 Nov 2022 22:56:46 +0000 (22:56 +0000)]
mon: clear connection score during update & add sanity check live/dead connection report

When upgrading the monitors (include booting up),
we check if `peer_tracker` is dirty or not. If
so, we clear it. Added some functions in `Elector` and
`ConnectionTracker` class to
check for clean `peer_tracker`.

Moreover, there could be some cases where due
to startup weirdness or abnormal circumstances,
we might get a report from our own rank. Therefore,
it doesn't hurt to add a sanity check in
`ConnectionTracker::report_live_connection` and
`ConnectionTracker::report_dead_connection`.

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 25ce77c7984587f457eba9bd06e416ef06f4e1c7)

2 years agomon/Elector & ConnectionTracker: reset peer_tracker.rank
Kamoltat [Fri, 4 Nov 2022 02:02:49 +0000 (02:02 +0000)]
mon/Elector & ConnectionTracker: reset peer_tracker.rank

In `notify_clear_peer_state()` we another
mechanism in reseting our `peer_tracker.rank`
to match our own monitor.rank.

This is added so there is a way for us
to recover from a scenrio where `peer_tracker.rank`
is messed up from adjusting the ranks or removing
ranks.

`notifiy_clear_peer_state()` can be triggered
by using the command:

`ceph connection scores reset`

Also in `clear_peer_reports`, besides
reassigning my_reports to an empty object,
we also have to make `my_reports` = `rank`
from `peer_tracker`, such that we don't get
-1 as a rank in my_reports.

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 55cf717a3070d10b6b02af33a66d6ad0acbba0f6)

2 years agomon: change how we handle removed_ranks
Kamoltat [Wed, 2 Nov 2022 01:59:52 +0000 (01:59 +0000)]
mon: change how we handle removed_ranks

when a new monitor joins, there is a chance that
it will recive a monmap that recently removed
a monitor and ``removed_rank`` will have some
content in it. A new monitor that joins
should never remove rank in peer_tracker but
rather call ``notify_clear_peer_state()``
to reset the `peer_report`.

In the case when it is a monitor that
has joined quorum before and is only 1
epoch behind the newest monmap provided
by the probe_replied monitor. We can
actually remove and adjust ranks in `peer_report`
since we are sure that if there is any content in
removed_ranks, then it has to be because in the
next epoch we are removing a rank, since every
update of an epoch we always clear the removed_ranks.

There is no point in keeping the content
of ``removed_ranks`` after monmap gets updated
to the epoch.

Therefore, clear ``removed_ranks`` every update.

When there is discontinuity between
monmaps for more 1 epoch or the new monitor never joined quorum before,
we always reset `peer_tracker`.

Moreover, beneficial for monitor log to also log
which rank has been removed at the current time
of the monmap. So add removed_ranks to `print_summary`
and `dump` in MonMap.cc.

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 04402576fecf1cb97f515b5dc42261a77837e400)

Conflicts:
src/mon/Monitor.cc - trivial fix

2 years agomon/ConnectionTracker.cc: Improve notify_rank_removed()
Kamoltat [Wed, 2 Nov 2022 01:46:14 +0000 (01:46 +0000)]
mon/ConnectionTracker.cc: Improve notify_rank_removed()

PROBLEM:

In `ConnectionTracker::receive_peer_report`
we loop through ranks which is bad when
there is `notify_rank_removed` before this and
the ranks are not adjusted yet. When we rely
on the rank in certain scenarios, we end up
with extra peer_report copy which we don't
want.

SOLUTION:

In `ConnectionTracker::receive_peer_report`
instead of passing `report.rank` in the function
`ConnectionTracker::reports`, we pass `i.first`
instead so that trim old ranks properly.

We also added a assert in notify_rank_removed(),
comparing expected rank provided by the monmap
against the rank that we adjust ourself to as
a sanity check.

We edited test/mon/test_election.cc
to reflect the changes made in notify_rank_removed().

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 7c52ccec76bc7e7f9678cc9d78d106e17f9ad8f7)

Conflicts:
src/mon/Elector.cc - trivial fix
src/mon/Elector.h - trivial fix

2 years agomon: Init Loggings for ConnectionTracker.cc & Added more loggings to ElectionLogic...
Kamoltat [Thu, 13 Oct 2022 13:24:14 +0000 (13:24 +0000)]
mon: Init Loggings for ConnectionTracker.cc & Added more loggings to ElectionLogic & Elector

Problem:

Currently there are not ConnectionTracker logs,
therefore it is really hard to debug

Solution:

Enable loggings for most functions in ConnectionTracker.cc
Most of the logs are in debug_mon = 30.

Also Added some logs in Elector and ElectionLogic
so that debugging will be easier in the future.

Fixes: https://tracker.ceph.com/issues/58049
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 58f2bd47623b2ac08ae3bdb9931e68128978a88e)

2 years agoMerge pull request #49433 from kamoltat/wip-ksirivad-backport-quincy-49259
Kamoltat Sirivadhna [Wed, 21 Dec 2022 21:43:46 +0000 (16:43 -0500)]
Merge pull request #49433 from kamoltat/wip-ksirivad-backport-quincy-49259

quincy: mon/Elector.cc: Compress peer >= rank_size sanity check into send_peer_ping
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
2 years agoMerge pull request #49515 from zdover23/wip-doc-2022-12-20-backport-49513-to-quincy
colemitchell [Wed, 21 Dec 2022 07:04:53 +0000 (02:04 -0500)]
Merge pull request #49515 from zdover23/wip-doc-2022-12-20-backport-49513-to-quincy

quincy: doc/rados: add prompts to auth-config-ref.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49518 from rhcs-dashboard/wip-58317-quincy
Pedro Gonzalez Gomez [Tue, 20 Dec 2022 12:59:29 +0000 (13:59 +0100)]
Merge pull request #49518 from rhcs-dashboard/wip-58317-quincy

quincy: mgr/dashboard: display real health in rbd mirroring pools

Reviewed-by: Pegonzal <pegonzal@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2 years agoMerge pull request #49519 from rhcs-dashboard/wip-58318-quincy
Pedro Gonzalez Gomez [Tue, 20 Dec 2022 12:58:40 +0000 (13:58 +0100)]
Merge pull request #49519 from rhcs-dashboard/wip-58318-quincy

quincy: mgr/prometheus: expose daemon health metrics

Reviewed-by: Pegonzal <pegonzal@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2 years agomgr/prometheus: expose daemon health metrics 49519/head
Pere Diaz Bou [Fri, 11 Nov 2022 09:43:01 +0000 (10:43 +0100)]
mgr/prometheus: expose daemon health metrics

Until now daemon health metrics were stored without being used. One of
the most helpful metrics there is SLOW_OPS with respect to OSDs and MONs
which this commit tries to expose to bring fine grained metrics to find
troublesome OSDs instead of having a lone healthcheck of slow ops in the
whole cluster.

Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
(cherry picked from commit 5a2b7c25b68f2c955356640041e4c7ed72416d4e)

2 years agomgr/dashboard: display real health in rbd mirroring pools 49518/head
Pere Diaz Bou [Tue, 26 Jul 2022 09:56:57 +0000 (11:56 +0200)]
mgr/dashboard: display real health in rbd mirroring pools

Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
(cherry picked from commit 273286d1a661eda0020bffb2c2a384b4e8dcd36c)

2 years agoMerge pull request #49501 from aaSharma14/wip-58309-quincy
Aashish Sharma [Tue, 20 Dec 2022 10:44:09 +0000 (16:14 +0530)]
Merge pull request #49501 from aaSharma14/wip-58309-quincy

quincy: mgr/dashboard: Add metric relative to osd blocklist

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2 years agoMerge pull request #49499 from aaSharma14/wip-58307-quincy
Aashish Sharma [Tue, 20 Dec 2022 08:10:02 +0000 (13:40 +0530)]
Merge pull request #49499 from aaSharma14/wip-58307-quincy

quincy:mgr/dashboard: rbd-mirror improvements

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2 years agodoc/rados: add prompts to auth-config-ref.rst 49515/head
Zac Dover [Mon, 19 Dec 2022 18:00:59 +0000 (04:00 +1000)]
doc/rados: add prompts to auth-config-ref.rst

Add unselectable prompts to doc/rados/configuration/auth-config-ref.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 208bc2323bb311d9e2419182fb469498ca7739a4)

2 years agoMerge pull request #49511 from zdover23/wip-doc-2022-12-20-backport-49510-to-quincy
colemitchell [Mon, 19 Dec 2022 17:57:46 +0000 (12:57 -0500)]
Merge pull request #49511 from zdover23/wip-doc-2022-12-20-backport-49510-to-quincy

quincy: doc/rados: add prompts to msgr2.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to msgr2.rst 49511/head
Zac Dover [Mon, 19 Dec 2022 17:41:22 +0000 (03:41 +1000)]
doc/rados: add prompts to msgr2.rst

Add unselectable prompts to doc/rados/configuration/msgr2.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 239e7c0e6891c774d93dc9cc65f33a2750b0f8d0)

2 years agomgr/dashboard: Add metric relative to osd blocklist 49501/head
Aashish Sharma [Fri, 25 Nov 2022 06:07:54 +0000 (11:37 +0530)]
mgr/dashboard: Add metric relative to osd blocklist

It would be good to have a metric with number of clients "blocklisted" of command: "ceph osd blocklist ls". The reason to have this is metric is have an alert when this number raise up.

Fixes: https://tracker.ceph.com/issues/58083
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 7c910eb0411bd1681ad76ca728390f8e2b168032)

2 years agopybind/mgr: s/setup(self)/setup_method(self)/ 49508/head
Kefu Chai [Sun, 18 Dec 2022 12:16:02 +0000 (20:16 +0800)]
pybind/mgr: s/setup(self)/setup_method(self)/

avoid pytest warnings like:

4: pg_autoscaler/tests/test_cal_final_pg_target.py::TestPgAutoscaler::test_even_pools_one_meta_three_bulk
4:   /home/kefu/dev/ceph/src/pybind/mgr/.tox/py3/lib/python3.10/site-packages/_pytest/fixtures.py:900: PytestRemovedIn8Warning: Support for nose tests is deprecated and will be removed in a future release.
4:   pg_autoscaler/tests/test_cal_final_pg_target.py::TestPgAutoscaler::test_even_pools_one_meta_three_bulk is using nose-specific method: `setup(self)`
4:   To remove this warning, rename it to `setup_method(self)`
4:   See docs: https://docs.pytest.org/en/stable/deprecations.html#support-for-tests-written-for-nose
4:     fixture_result = next(generator)

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agopybind/mgr/prometheus: avoid using distutils
Kefu Chai [Sun, 18 Dec 2022 12:15:06 +0000 (20:15 +0800)]
pybind/mgr/prometheus: avoid using distutils

to silence warnings like:

4: prometheus/module.py:35
4:   /var/ssd/ceph/src/pybind/mgr/prometheus/module.py:35: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
4:     v = StrictVersion(cherrypy.__version__)

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agomgr/dashboard: Rbd Mirroring improvements 49499/head
Aashish Sharma [Wed, 7 Dec 2022 05:25:24 +0000 (10:55 +0530)]
mgr/dashboard: Rbd Mirroring improvements

1.RBD images in dashboard shows default mirroring as journal
2.snapshot based mirroring schedule Interval got disabled to edit
3.unable to create snapshot of an image using dashboard
4.provide snapshot schedule info in a new column
5.dashboard doesn't allow importing peer bootstrap key to be imported for subsequent pools

Fixes: https://tracker.ceph.com/issues/58297
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 1a37c5e001e0bbc2720e6dfabf6ba04442acabb7)
(cherry picked from commit a85ed9412faa3b3389cf2bdca7d11142bd571ddf)

 Conflicts:
src/pybind/mgr/dashboard/services/rbd.py

2 years agoMerge pull request #49505 from rhcs-dashboard/fix-tox-flake8-check
Pere Diaz Bou [Mon, 19 Dec 2022 14:14:19 +0000 (15:14 +0100)]
Merge pull request #49505 from rhcs-dashboard/fix-tox-flake8-check

pybind/mgr: fix tox autopep8 args flake8

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agopybind/mgr: fix tox autopep8 args flake8 49505/head
Aashish Sharma [Mon, 19 Dec 2022 12:21:33 +0000 (17:51 +0530)]
pybind/mgr: fix tox autopep8 args flake8

Similar to mypy, we now need a backslash to signal
a newline doesn't mean to start a new command

Follow up of: https://github.com/ceph/ceph/pull/49361

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2 years agoMerge pull request #49475 from aaSharma14/wip-58298-quincy
Aashish Sharma [Mon, 19 Dec 2022 08:18:04 +0000 (13:48 +0530)]
Merge pull request #49475 from aaSharma14/wip-58298-quincy

quincy: mgr/dashboard: Fix CephPoolGrowthWarning alert

2 years agoMerge pull request #49150 from rhcs-dashboard/wip-58122-quincy
Nizamudeen A [Mon, 19 Dec 2022 07:40:41 +0000 (13:10 +0530)]
Merge pull request #49150 from rhcs-dashboard/wip-58122-quincy

quincy: mgr/dashboard: allow cross origin when the url is set

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #49476 from aaSharma14/wip-58300-quincy
Aashish Sharma [Mon, 19 Dec 2022 06:24:59 +0000 (11:54 +0530)]
Merge pull request #49476 from aaSharma14/wip-58300-quincy

quincy: mgr/dashboard: fix CephPGImbalance alert

2 years agoMerge pull request #49481 from aaSharma14/wip-58302-quincy
Aashish Sharma [Mon, 19 Dec 2022 05:37:20 +0000 (11:07 +0530)]
Merge pull request #49481 from aaSharma14/wip-58302-quincy

quincy: mgr/dashboard: fix server side encryption config error

2 years agoMerge pull request #49492 from zdover23/wip-doc-2022-12-19-backport-49491-to-quincy
colemitchell [Sun, 18 Dec 2022 18:31:04 +0000 (13:31 -0500)]
Merge pull request #49492 from zdover23/wip-doc-2022-12-19-backport-49491-to-quincy

quincy: doc/rados: add prompts to ceph-conf.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to ceph-conf.rst 49492/head
Zac Dover [Sun, 18 Dec 2022 15:29:33 +0000 (01:29 +1000)]
doc/rados: add prompts to ceph-conf.rst

Add unselectable prompts to doc/rados/ceph-conf.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 874152535c5f8ca4a447b68040d62d1c34c3c24e)

2 years agoMerge pull request #49484 from zdover23/wip-doc-2022-12-17-backport-49394-to-quincy
zdover23 [Fri, 16 Dec 2022 16:24:06 +0000 (02:24 +1000)]
Merge pull request #49484 from zdover23/wip-doc-2022-12-17-backport-49394-to-quincy

quincy: doc/rbd: refine rbd-snapshot.rst

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agodoc/rbd: refine rbd-snapshot.rst 49484/head
Zac Dover [Fri, 9 Dec 2022 17:42:14 +0000 (03:42 +1000)]
doc/rbd: refine rbd-snapshot.rst

Refine the text in rbd-snapshot.rst

https://tracker.ceph.com/issues/57001

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 292c826acd2d617fa93f4a4a0398110be1620d1c)

2 years agomgr/dashboard: fix server side encryption config error 49481/head
Aashish Sharma [Thu, 1 Dec 2022 10:32:14 +0000 (16:02 +0530)]
mgr/dashboard: fix server side encryption config error

Fixes: https://tracker.ceph.com/issues/58296
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 7d2b83c57f6a73247ee1c3a33b3f6a491736afd3)

2 years agomgr/dashboard: fix CephPGImbalance alert 49476/head
Aashish Sharma [Thu, 15 Sep 2022 12:32:29 +0000 (18:02 +0530)]
mgr/dashboard: fix CephPGImbalance alert

Donot show the CephPgImbalance alert if the balancer shows no optimization required

Fixes: https://tracker.ceph.com/issues/55568
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit a75792d5c3c78feffc0cc564deb9bcac19584503)

2 years agomgr/dashboard: Fix CephPoolGrowthWarning alert 49475/head
Aashish Sharma [Tue, 18 Oct 2022 11:12:32 +0000 (16:42 +0530)]
mgr/dashboard: Fix CephPoolGrowthWarning alert

Prometheus reports an error - many-to-many matching not allowed: matching labels must be unique on one side for CephPoolGrowthWarning if we have same pool ids on two different instances.

Fixes: https://tracker.ceph.com/issues/58017
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 97189b66afd4623ae09bc4ba12e1af6f69821793)

2 years agoMerge pull request #49468 from zdover23/wip-doc-2022-12-16-backport-49467-to-quincy
colemitchell [Fri, 16 Dec 2022 01:45:11 +0000 (20:45 -0500)]
Merge pull request #49468 from zdover23/wip-doc-2022-12-16-backport-49467-to-quincy

quincy: doc/rados: clarify default EC pool from simplest

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: clarify default EC pool from simplest 49468/head
Zac Dover [Fri, 16 Dec 2022 01:07:51 +0000 (11:07 +1000)]
doc/rados: clarify default EC pool from simplest

Distinguish between the default erasure-coded pool (k=2 m=2) and the
simplest erasure-coded pool (k=2 m=1).

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 63c27ab8e746127b89120d4c47b427d13433758c)

2 years agoMerge pull request #49437 from sseshasa/wip-58273-quincy
Sridhar Seshasayee [Thu, 15 Dec 2022 05:48:48 +0000 (11:18 +0530)]
Merge pull request #49437 from sseshasa/wip-58273-quincy

quincy: osd: Reduce backfill/recovery default limits for mClock and other optimizations

Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #49450 from zdover23/wip-doc-2022-12-15-backport-49445-to-quincy
colemitchell [Thu, 15 Dec 2022 05:02:03 +0000 (00:02 -0500)]
Merge pull request #49450 from zdover23/wip-doc-2022-12-15-backport-49445-to-quincy

quincy: doc/cephfs: fix "e.g." in posix.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/cephfs: fix "e.g." in posix.rst 49450/head
Zac Dover [Thu, 15 Dec 2022 04:08:20 +0000 (14:08 +1000)]
doc/cephfs: fix "e.g." in posix.rst

Remove "e.g." and replace it with "for example".

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit ac20eb83fe0decb2ffa349622d92331dcf225932)

2 years agoMerge pull request #49448 from zdover23/wip-doc-2022-12-15-backport-49441-to-quincy
colemitchell [Thu, 15 Dec 2022 04:52:17 +0000 (23:52 -0500)]
Merge pull request #49448 from zdover23/wip-doc-2022-12-15-backport-49441-to-quincy

quincy: doc/cephfs - s/yet to here/yet to hear/ posix.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49446 from zdover23/wip-doc-2022-12-15-backport-49442-to-quincy
colemitchell [Thu, 15 Dec 2022 04:50:14 +0000 (23:50 -0500)]
Merge pull request #49446 from zdover23/wip-doc-2022-12-15-backport-49442-to-quincy

quincy: doc/cephfs: s/all of there are/all of these are/

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/cephfs - s/yet to here/yet to hear/ posix.rst 49448/head
Zac Dover [Wed, 14 Dec 2022 20:51:29 +0000 (06:51 +1000)]
doc/cephfs - s/yet to here/yet to hear/ posix.rst

Correct "yet to here" to "yet to hear" in posix.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit 03bfcb134b36ed1af484108f167f35271e09204c)

2 years agodoc/cephfs: s/all of there are/all of these are/ 49446/head
Zac Dover [Wed, 14 Dec 2022 21:07:44 +0000 (07:07 +1000)]
doc/cephfs: s/all of there are/all of these are/

s/all of there are/all of these are/ in posix.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit e1c5bcd73ba666f618947473a0e4da35e52dbaaa)

2 years agoqa: Allow tests to override recovery configs with mClock scheduler enabled 49437/head
Sridhar Seshasayee [Mon, 12 Dec 2022 07:09:33 +0000 (12:39 +0530)]
qa: Allow tests to override recovery configs with mClock scheduler enabled

Set osd_mclock_override_recovery_settings option to true for tests that
modify recovery/backfill configuration options. This prevents logging of
the cluster warning when modifying recovery/backfill limits.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 5b2fee21e85ff46441701f2e3cdf43f13181db54)

2 years agoqa/standalone: Add/Modify tests to verify mclock recovery/backfill limits
Sridhar Seshasayee [Fri, 7 Oct 2022 11:44:47 +0000 (17:14 +0530)]
qa/standalone: Add/Modify tests to verify mclock recovery/backfill limits

- Consolidate all mclock standalone tests under
  qa/standalone/misc/mclock-config.sh.
- Revert existing tests in ceph-helpers.sh that verified the earlier hard
  override of recovery/backfill limits.
- Add new tests to verify the procedure to change the recovery/backfill
  limits with mclock scheduler.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 9c72116b1cdeaa5593932135c05e00cc5d701534)

2 years agodoc: Update mClock config reference doc to reflect new max recovery limits
Sridhar Seshasayee [Mon, 10 Oct 2022 13:18:13 +0000 (18:48 +0530)]
doc: Update mClock config reference doc to reflect new max recovery limits

Document the following:

- New max backfill/recovery defaults for mClock.
- Steps to modify the backfill/recovery defaults.
  - Modify defaults using new osd_mclock_override_recovery_settings option
- Steps to mitigate unrealistic OSD bench results to set OSD capacity.
  - New capacity threshold options for ssd/hdd

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit a4c2e28877daee0b5ad88c2ea9d359d567d473be)

2 years agocommon: Optimize the HDD mClock cost parameters.
Sridhar Seshasayee [Mon, 10 Oct 2022 05:47:54 +0000 (11:17 +0530)]
common: Optimize the HDD mClock cost parameters.

With the earlier cost per io and cost per byte parameters, the
client ops performance was good but the recovery ops were taking
much longer to complete. The new cost parameters optimizes this
further so that the recovery ops progress faster while
maintaining similar client throughput.

This optimization is tested on both a small cluster and a larger
cluster in a scaled environment.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 38655922870dd9dc36a23df6e01492da6ad44e1b)

2 years agoosd: Ignore osd bench results for mclock if it exceeds the set threshold
Sridhar Seshasayee [Fri, 23 Sep 2022 11:36:38 +0000 (17:06 +0530)]
osd: Ignore osd bench results for mclock if it exceeds the set threshold

The osd bench may in some cases show unrealistic results. The IOPS capacity
reported is used for QoS specific calculations in the mClock scheduler. If
the IOPS capacity is unrealistic, it could result is a performance impact
to the ops handled by mClock scheduler.

To avoid this, do not consider the results of the osd bench if it breaches
a threshold set for hdd and ssd media. The existing default setting will
be enforced as a safety measure. A cluster log warning is raised for the
osd.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 737a7f1cf6194d3b286657587a2123ee5b688a3e)

2 years agoosd: Reduce default max backfill/recoveries for mclock to realistic limits
Sridhar Seshasayee [Mon, 19 Sep 2022 08:48:33 +0000 (14:18 +0530)]
osd: Reduce default max backfill/recoveries for mclock to realistic limits

The earlier max number of backfill and recovery limits were overly
optimistic and caused recovery ops to overwhelm client ops regardless of
the mclock profile type.

Set the max backfill limit to 10. Set the max recovery limit to 10 for
osds having HDD backing device. For osds having SSD backing device, set
the recovery limit to 20.

Introduce and new config option, 'osd_mclock_override_recovery_settings',
that when set (false by default) allows the modification of the max
backfill and recovery options with mclock scheduler enabled.

It is important to note that with 'osd_mclock_override_recovery_settings'
disabled, the config subsystem will still allow the changes made to the
recovery and backfill settings when using the cli commands as the level at
which the change is made is always greater than CONF_DEFAULT. To counter this,
the osd will forcibly revert the recovery and backfill limits to the mClock
defaults by removing the existing setting from the config store and raises a
cluster log warning indicating the revert. This should force the user to set
the 'osd_mclock_override_recovery_settings' option first and then make changes
to the recovery and backfill limits.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 89e48395f8b1329066a1d7e05a4e9e083c88c1a6)

2 years agoMerge pull request #49333 from aclamk/wip-58103-quincy
Laura Flores [Wed, 14 Dec 2022 17:44:28 +0000 (11:44 -0600)]
Merge pull request #49333 from aclamk/wip-58103-quincy

quincy: [bluestore] Improve deferred write decision

2 years agomon/Elector.cc: Compress peer >= rank_size sanity check into send_peer_ping 49433/head
Kamoltat [Mon, 5 Dec 2022 18:46:11 +0000 (18:46 +0000)]
mon/Elector.cc: Compress peer >= rank_size sanity check into send_peer_ping

Problem:

Currently, https://github.com/ceph/ceph/pull/44993
failed to completely fix:

https://tracker.ceph.com/issues/50089

There are certain code paths such as

Elector::handle_ping → Elector::begin_peer_ping →
Elector::send_peer_ping.

that when a monitor is removed before shutdown in
Cephadm it can hit the assert failure.

Solution:

Therefore, we have to enforce sanity checks on
all code paths.

We do this by compressing the `peer >= rank_size`
sanity check into `send_peer_ping`. We also make
`send_peer_ping` return true/false

caller of `send_peer_ping` would drop itself if
recieves a `false`.

Fixes: https://tracker.ceph.com/issues/58155
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 27d499f8854fb5e73b103635ef227bbfdff3afb4)

Conflicts:
       src/mon/Elector.cc - change ssize() to size()