]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agocrimson/osd: specialize messages to use the external connection 51707/head
Yingxin Cheng [Mon, 3 Apr 2023 08:39:52 +0000 (16:39 +0800)]
crimson/osd: specialize messages to use the external connection

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit ebda4900736dfe4ee38163ae7adcc7d06d07e3a9)

2 years agocrimson/net: change ConnectionRef to be a local_shared_foreign_ptr
Yingxin Cheng [Mon, 3 Apr 2023 02:00:11 +0000 (10:00 +0800)]
crimson/net: change ConnectionRef to be a local_shared_foreign_ptr

Make it possible for connections and messages to be dispatched in
arbitrary core without asynchronous foreign copy.

The local_shared_foreign_ptr conn cannot be moved to another core
implicitly, maintain it outside Message independently.

Do asynchronous foreign copy to the new ConnectionRef only in
with_remote_shard_state_and_op().

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit b54153ecaddda890401d12d6c5ceadb0030df4f1)

2 years agocrimson/osd: drop unused methods in ClientRequest
Yingxin Cheng [Mon, 3 Apr 2023 01:54:49 +0000 (09:54 +0800)]
crimson/osd: drop unused methods in ClientRequest

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit 1f419b779e8610a19bfa4141d12403c7271686cf)

2 years agotest/crimson/test_messenger_thrash: free msgr after its connections
Yingxin Cheng [Mon, 3 Apr 2023 01:51:02 +0000 (09:51 +0800)]
test/crimson/test_messenger_thrash: free msgr after its connections

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit 3fde061a49ba31c3d64b4a0c2798fc4972100a19)

2 years agocrimson/common: improve local_shared_foreign_ptr
Yingxin Cheng [Mon, 3 Apr 2023 01:48:38 +0000 (09:48 +0800)]
crimson/common: improve local_shared_foreign_ptr

Make ptr nullable and add necessary operators.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit f96ae0b367825c0e4433a57a086e03f75b1eab2e)

2 years agoMerge pull request #51673 from Matan-B/wip-50546-reef-2
Matan [Tue, 23 May 2023 13:13:58 +0000 (15:13 +0200)]
Merge pull request #51673 from Matan-B/wip-50546-reef-2

reef: crimson/osd: Support librados::OPERATION_ORDERSNAP

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radosław Zarzyński <rzarzyns@redhat.com>
2 years agoMerge pull request #51649 from adk3798/reef-require-image-flag-inspect
Adam King [Tue, 23 May 2023 12:39:49 +0000 (08:39 -0400)]
Merge pull request #51649 from adk3798/reef-require-image-flag-inspect

reef: cephadm: require --image is passed to inspect-image

Reviewed-by: Guillaume Abrioux <gabrioux@ibm.com>
2 years agoMerge pull request #51650 from adk3798/reef-cephadm-byte-compile
Adam King [Tue, 23 May 2023 12:36:41 +0000 (08:36 -0400)]
Merge pull request #51650 from adk3798/reef-cephadm-byte-compile

reef: cephadm: call compile_dir to byte compile zipapp py files

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #51614 from adk3798/wip-59631-reef
Adam King [Tue, 23 May 2023 12:35:44 +0000 (08:35 -0400)]
Merge pull request #51614 from adk3798/wip-59631-reef

reef: mgr/cephadm: support for nfs backed by VIP

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #51613 from adk3798/wip-59550-reef
Adam King [Tue, 23 May 2023 12:34:46 +0000 (08:34 -0400)]
Merge pull request #51613 from adk3798/wip-59550-reef

reef: mgr/cephadm: asyncio based universal timeout for ssh/cephadm commands

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #51342 from k0ste/wip-59634-reef
Adam King [Tue, 23 May 2023 12:32:34 +0000 (08:32 -0400)]
Merge pull request #51342 from k0ste/wip-59634-reef

reef: pybind/mgr: improve error when inbuf is given to commands that don't use it

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #51693 from zdover23/wip-doc-2023-05-23-backport-51682-to-reef
Anthony D'Atri [Tue, 23 May 2023 12:10:34 +0000 (08:10 -0400)]
Merge pull request #51693 from zdover23/wip-doc-2023-05-23-backport-51682-to-reef

reef: doc/glossary: update bluestore entry

2 years agoMerge pull request #51672 from k0ste/wip-61342-reef
Pere Diaz Bou [Tue, 23 May 2023 11:16:44 +0000 (13:16 +0200)]
Merge pull request #51672 from k0ste/wip-61342-reef

reef: mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #51636 from Matan-B/wip-50584-reef
Matan [Tue, 23 May 2023 11:11:07 +0000 (13:11 +0200)]
Merge pull request #51636 from Matan-B/wip-50584-reef

reef: qa/suites/crimson-rados/thrash: Enable supported tests and ops

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51625 from Matan-B/wip-47974-reef
Matan [Tue, 23 May 2023 11:08:56 +0000 (13:08 +0200)]
Merge pull request #51625 from Matan-B/wip-47974-reef

reef: crimson/os/seastore: evict cold data to slower devices

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 years agoMerge pull request #51588 from Svelar/reef-vstart-filestore-cleanup
Ilya Dryomov [Tue, 23 May 2023 10:52:50 +0000 (12:52 +0200)]
Merge pull request #51588 from Svelar/reef-vstart-filestore-cleanup

reef: vstart: remove filestore options and config snippets

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #51644 from Matan-B/wip-51167-reef
Matan [Tue, 23 May 2023 08:32:49 +0000 (10:32 +0200)]
Merge pull request #51644 from Matan-B/wip-51167-reef

reef: crimson/qa: make crimson run multicore in teuthology test

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51641 from Matan-B/wip-50457-reef
Matan [Tue, 23 May 2023 08:31:41 +0000 (10:31 +0200)]
Merge pull request #51641 from Matan-B/wip-50457-reef

reef: qa/suites/crimson-rados/rbd: Add new rbd image format api tests

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51675 from Matan-B/wip-47637-reef
Matan [Tue, 23 May 2023 08:30:50 +0000 (10:30 +0200)]
Merge pull request #51675 from Matan-B/wip-47637-reef

reef: crimson/osd: bring support for client blocklisting

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51674 from Matan-B/wip-51198-reef
Matan [Tue, 23 May 2023 08:29:50 +0000 (10:29 +0200)]
Merge pull request #51674 from Matan-B/wip-51198-reef

reef: crimson/osd/snaptrim_event: Handle missing clone obc case

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoqa/suites/crimson-rados/thrash: Enable supported thrashers 51636/head
Matan Breizman [Sun, 19 Mar 2023 11:56:03 +0000 (11:56 +0000)]
qa/suites/crimson-rados/thrash: Enable supported thrashers

Balanced/Localized reads are now supported.
snap_remove and rollback are supported as well.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit b888cfa3da956aad527d05c3dbe507efb368363f)

2 years agoqa/suites/crimson-rados/thrash: Add snap_remove/create weights
Matan Breizman [Sun, 19 Mar 2023 11:53:38 +0000 (11:53 +0000)]
qa/suites/crimson-rados/thrash: Add snap_remove/create weights

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 8839f829d60e0f0a3e6feca37b8eaa167bccdfd0)

2 years agoqa/suites/crimson-rados: Remove rados_api_test.yaml.disabled
Matan Breizman [Sun, 19 Mar 2023 11:49:03 +0000 (11:49 +0000)]
qa/suites/crimson-rados: Remove rados_api_test.yaml.disabled

This test is already included in:
crimson-rados/basic/tasks/rados_api_tests.yaml

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit bb23ddc5dc31ced752db0310d9857ba268005182)

2 years agoMerge pull request #51635 from Matan-B/wip-49980-reef
Matan [Tue, 23 May 2023 08:24:52 +0000 (10:24 +0200)]
Merge pull request #51635 from Matan-B/wip-49980-reef

reef: crimson/os/seastore/journal: generalize recordsubmitter

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51629 from Matan-B/wip-50491-reef
Matan [Tue, 23 May 2023 08:23:05 +0000 (10:23 +0200)]
Merge pull request #51629 from Matan-B/wip-50491-reef

reef: test/librados/snapshots*: Enable Crimson supported tests

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agodoc/glossary: update bluestore entry 51693/head
Zac Dover [Mon, 22 May 2023 21:41:09 +0000 (07:41 +1000)]
doc/glossary: update bluestore entry

Update the BlueStore entry in the glossary, explaining that as of Reef
BlueStore and only BlueStore (and not FileStore) is the storage backend
for Ceph.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit bcee264276128f622c35e3aab81fdecb2b8afc10)

2 years agotest/crimson/seasatore: add evction test 51625/head
Zhang Song [Fri, 17 Feb 2023 06:25:20 +0000 (14:25 +0800)]
test/crimson/seasatore: add evction test

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit c53446df687dd82860ba012f89ae783be8a4f51c)

2 years agocrimson/os/seastore/EPM: cleanup alloc_new_extent
Zhang Song [Fri, 17 Feb 2023 06:23:36 +0000 (14:23 +0800)]
crimson/os/seastore/EPM: cleanup alloc_new_extent

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 5bc650a0605ef9559ac32fe70930d446652c2d1d)

2 years agocrimson/os/seasotre/segment_manager_group: ensure the types of devices are same
Zhang Song [Wed, 1 Mar 2023 10:19:54 +0000 (18:19 +0800)]
crimson/os/seasotre/segment_manager_group: ensure the types of devices are same

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 61156355385aaa06cf9d15870a8830256874714d)

2 years agocrimson/os/seastore: add EPHEMERAL_COLD device type
Zhang Song [Tue, 14 Feb 2023 09:47:35 +0000 (17:47 +0800)]
crimson/os/seastore: add EPHEMERAL_COLD device type

rename SEGMENTED_EPHEMERAL to EPHEMERAL_MAIN

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit b40304092b6ce8b29e97437642928cc84afa1be5)

2 years agocrimson/os/seastore/EPM/BackgroundProcess: introduce more eviction policy
Zhang Song [Wed, 11 Jan 2023 10:17:41 +0000 (18:17 +0800)]
crimson/os/seastore/EPM/BackgroundProcess: introduce more eviction policy

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 45c53a26c662b2c23efdecaaa186b6ac8811c2ea)

2 years agocrimson/os/seastore/EPM/BackgroundProcess: reserve space on cold cleaner
Zhang Song [Tue, 10 Jan 2023 10:52:04 +0000 (18:52 +0800)]
crimson/os/seastore/EPM/BackgroundProcess: reserve space on cold cleaner

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 4aea0e266de43281a5d8c24fe91034bdaae45d98)

2 years agocrimson/os/seastore: get segment info from cold segment provider
Zhang Song [Tue, 10 Jan 2023 10:02:50 +0000 (18:02 +0800)]
crimson/os/seastore: get segment info from cold segment provider

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 7b0ccecbced037bbceca707d62d81fe2accc5a39)

2 years agocrimson/os/seastore: support mark_space_{free, used} on cold_cleaner
Zhang Song [Tue, 10 Jan 2023 10:01:25 +0000 (18:01 +0800)]
crimson/os/seastore: support mark_space_{free, used} on cold_cleaner

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 783c5e7662006c6efca7ade795e6e731b0b18332)

2 years agosrc/vstart.sh: support specify the type of secondary device
Zhang Song [Tue, 10 Jan 2023 09:59:21 +0000 (17:59 +0800)]
src/vstart.sh: support specify the type of secondary device

doc/crimson: add options and example about SeaStore

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit b40f6421f0d6f7966e13941ba13e70b5639bce93)

2 years agocrimson/os/seastore: change the category of COLL_BLOCK
Zhang Song [Tue, 10 Jan 2023 09:01:57 +0000 (17:01 +0800)]
crimson/os/seastore: change the category of COLL_BLOCK

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 9283b72e476f306a8926aa2f7ae191ca8705fcd4)

2 years agocrimson/os/seastore: specify the device type explicitly when constructing BlockSegmen...
Zhang Song [Mon, 6 Mar 2023 07:06:19 +0000 (15:06 +0800)]
crimson/os/seastore: specify the device type explicitly when constructing BlockSegmentManager

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 1e515e8561519ded43b1046942057d705441ee22)

2 years agocrimson/os/seastore: make segment_manager work with HDD
Zhang Song [Tue, 10 Jan 2023 09:01:30 +0000 (17:01 +0800)]
crimson/os/seastore: make segment_manager work with HDD

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 89939e7ad7c1dffaa1c842be601fa372d074a86a)

2 years agocrimson/os/seasotre: add CLEANER_COLD transaction type
Zhang Song [Tue, 10 Jan 2023 09:00:12 +0000 (17:00 +0800)]
crimson/os/seasotre: add CLEANER_COLD transaction type

rename CLEANER to CLEANER_MAIN

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 0d20f1595a0c839e780540b61ff68f52be29a99b)

2 years agocrimson/os/seastore: init cold segment cleaner
Zhang Song [Tue, 10 Jan 2023 08:59:31 +0000 (16:59 +0800)]
crimson/os/seastore: init cold segment cleaner

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 5876ef35b651ab5ac94f891382553d25f641f19e)

2 years agocrimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal
Zhang Song [Tue, 10 Jan 2023 08:58:58 +0000 (16:58 +0800)]
crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 483e36826802745e68855f0f0f2a89d199903011)

2 years agocrimson/os/seastore/EPM/BackgroundProcess: add cold_cleaner
Zhang Song [Tue, 10 Jan 2023 08:58:16 +0000 (16:58 +0800)]
crimson/os/seastore/EPM/BackgroundProcess: add cold_cleaner

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 343f579748d9856a7f8fde49025db91cdce1367d)

2 years agocrimson/os/seastore: move ool segment seq allocator to EPM
Zhang Song [Tue, 10 Jan 2023 08:49:22 +0000 (16:49 +0800)]
crimson/os/seastore: move ool segment seq allocator to EPM

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 944c1253bf52fb6f7d773b4bfeb5f7cc8f0ffebc)

2 years agocrimson/os/seastore/EPM: refactor reserve process
Zhang Song [Tue, 10 Jan 2023 08:47:43 +0000 (16:47 +0800)]
crimson/os/seastore/EPM: refactor reserve process

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 86e2f4b24bff98b775a76289aa3fd382333d42ad)

2 years agocrimson/os/seastore/EPM/BackgroundProcess: rename cleaner to main_cleaner
Zhang Song [Tue, 10 Jan 2023 08:19:38 +0000 (16:19 +0800)]
crimson/os/seastore/EPM/BackgroundProcess: rename cleaner to main_cleaner

Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 3adb17bf04252d9c1afd9050ed1e876bd6c654b9)

2 years agoMerge pull request #51623 from Matan-B/wip-50317-reef
Matan [Tue, 23 May 2023 08:00:32 +0000 (10:00 +0200)]
Merge pull request #51623 from Matan-B/wip-50317-reef

reef: crimson/os/seastore/epm: also do prepare_write for rbm

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agovstart: modify FreeBSD objectstore to memstore. 51588/head
Rongqi Sun [Tue, 16 May 2023 07:23:52 +0000 (15:23 +0800)]
vstart: modify FreeBSD objectstore to memstore.

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
(cherry picked from commit 27e66f506f10dca7018c10e3e1804f0b3c217b8e)

2 years agovstart.sh:drop filestore support
Rongqi Sun [Fri, 5 May 2023 06:50:18 +0000 (14:50 +0800)]
vstart.sh:drop filestore support

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
(cherry picked from commit 41f2af4f5e70accd3da1a5761f73bda8786b7f4f)

2 years agoMerge pull request #51677 from zdover23/wip-doc-2023-05-23-backport-51646-to-reef
Anthony D'Atri [Mon, 22 May 2023 21:21:38 +0000 (17:21 -0400)]
Merge pull request #51677 from zdover23/wip-doc-2023-05-23-backport-51646-to-reef

reef: doc/dev/crimson: Improve crimson.rst

2 years agoMerge pull request #51678 from zdover23/wip-doc-2023-05-23-backport-51651-to-reef
Anthony D'Atri [Mon, 22 May 2023 21:21:30 +0000 (17:21 -0400)]
Merge pull request #51678 from zdover23/wip-doc-2023-05-23-backport-51651-to-reef

reef: doc: note deprecation of Cache Tiering in Reef

2 years agomgr/cephadm: asyncio based universal timeout for ssh/cephadm commands 51613/head
Adam King [Mon, 20 Mar 2023 19:31:12 +0000 (15:31 -0400)]
mgr/cephadm: asyncio based universal timeout for ssh/cephadm commands

Since we already have make use of asyncio for our ssh commands,
we can use asyncio's timeout on waiting for concurrent futures to complete
as a way to have universal timeouts on our cephadm commands.
This change also creates a contextmanager that will catch any asyncio.TimeoutError.
Using the contextmanager along with calls to the wait_async function
will catch any timeout exception raised and convert it into an appropriate
OrchetratorError including information about what and where for the timeout
if it was provided (host where run, what command). This allows us to guarantee a
background ssh command eventually returns and inform users of any
timeouts by raising a health warning or logging the error instead
of sitting idle indefinitely

Fixes: https://tracker.ceph.com/issues/54024
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit adf13c82ebb75a132709aa0b0bbc1d4fef7643a7)

2 years agomgr/cephadm: pass --timeout to cephadm binary commands
Adam King [Thu, 16 Mar 2023 18:20:48 +0000 (14:20 -0400)]
mgr/cephadm: pass --timeout to cephadm binary commands

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 00d4203ec60ed42840b1b318af49e4e697bd04f2)

2 years agoMerge pull request #51612 from adk3798/wip-59548-reef
Adam King [Mon, 22 May 2023 20:38:12 +0000 (16:38 -0400)]
Merge pull request #51612 from adk3798/wip-59548-reef

reef: mgr/cephadm: allow setting mon crush locations through mon service spec

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #51611 from adk3798/wip-59546-reef
Adam King [Mon, 22 May 2023 20:36:58 +0000 (16:36 -0400)]
Merge pull request #51611 from adk3798/wip-59546-reef

reef: cephadm: reschedule haproxy from an offline host

Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agoMerge pull request #51208 from guits/wip-59255-reef
Adam King [Mon, 22 May 2023 20:36:04 +0000 (16:36 -0400)]
Merge pull request #51208 from guits/wip-59255-reef

reef: ceph-volume: fix drive-group issue that expects the batch_args to be a string

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51205 from guits/wip-59516-reef
Adam King [Mon, 22 May 2023 20:35:10 +0000 (16:35 -0400)]
Merge pull request #51205 from guits/wip-59516-reef

reef: ceph-volume: fix batch refactor issue

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51194 from guits/wip-59523-reef
Adam King [Mon, 22 May 2023 20:34:22 +0000 (16:34 -0400)]
Merge pull request #51194 from guits/wip-59523-reef

reef: ceph-volume: quick fix in zap.py

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51191 from guits/wip-59519-reef
Adam King [Mon, 22 May 2023 20:33:30 +0000 (16:33 -0400)]
Merge pull request #51191 from guits/wip-59519-reef

reef: orchestrator: add `--no-destroy` arg to `ceph orch osd rm`

Reviewed-by: Adam King <adking@redhat.com>
2 years agodoc: note deprecation of Cache Tiering in Reef 51678/head
Zac Dover [Mon, 22 May 2023 01:35:26 +0000 (11:35 +1000)]
doc: note deprecation of Cache Tiering in Reef

Add a note to the documentation that cache tiering is deprecated in
Reef.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 7f9eaf7a8ef95d611df81463424cfd06472db356)

2 years agodoc/dev/crimson: Improve crimson.rst 51677/head
Anthony D'Atri [Sun, 21 May 2023 12:39:56 +0000 (08:39 -0400)]
doc/dev/crimson: Improve crimson.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 524901d3cfbf73cc86284a2623ada493836c13ec)

2 years agoMerge pull request #51593 from cbodley/wip-61219-reef
Yuri Weinstein [Mon, 22 May 2023 19:57:29 +0000 (15:57 -0400)]
Merge pull request #51593 from cbodley/wip-61219-reef

reef: rgw: use string_view to parse Accept header

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #51592 from cbodley/wip-61298-reef
Yuri Weinstein [Mon, 22 May 2023 19:56:52 +0000 (15:56 -0400)]
Merge pull request #51592 from cbodley/wip-61298-reef

reef: qa/rgw: add POOL_APP_NOT_ENABLED to log-ignorelist

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #51569 from amathuria/wip-61232-reef
Yuri Weinstein [Mon, 22 May 2023 19:40:41 +0000 (15:40 -0400)]
Merge pull request #51569 from amathuria/wip-61232-reef

reef: qa/tasks: Changing default mClock profile to high_recovery_ops

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agoMerge pull request #51409 from kamoltat/wip-ksirivad-reef-backport-50857
Yuri Weinstein [Mon, 22 May 2023 19:39:38 +0000 (15:39 -0400)]
Merge pull request #51409 from kamoltat/wip-ksirivad-reef-backport-50857

reef:mon/Monitor.cc: exit function if !osdmon()->is_writeable()

Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #50977 from yaarith/wip-59390-reef
Laura Flores [Mon, 22 May 2023 19:38:54 +0000 (14:38 -0500)]
Merge pull request #50977 from yaarith/wip-59390-reef

reef: mgr/telemetry: add leaderboard description and documentation

2 years agoMerge pull request #51357 from rhcs-dashboard/wip-59633-reef
Adam King [Mon, 22 May 2023 18:33:25 +0000 (14:33 -0400)]
Merge pull request #51357 from rhcs-dashboard/wip-59633-reef

reef: mgr/cephadm: update monitoring stack versions

Reviewed-by: Adam King <adking@redhat.com>
2 years agocrimson/osd: drop the OSDMap caching from PG 51675/head
Radoslaw Zarzynski [Mon, 29 Aug 2022 10:52:05 +0000 (10:52 +0000)]
crimson/osd: drop the OSDMap caching from PG

`PG` directly aggregates both `OSDMap` and `PeeringState` which
maintains its own `OSDMap` instance. This duplication leads to
issues as the `PG::osdmap` never gets updated.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit d8655c08ab51e2c5b1437c7a46498d5450a1bac0)

2 years agocrimson/osd: implement watcher blocklisting
Radoslaw Zarzynski [Tue, 16 Aug 2022 14:34:23 +0000 (14:34 +0000)]
crimson/osd: implement watcher blocklisting

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 24098bf9bbf66c64f48cb56187143102ffe13230)

2 years agocrimson/osd: check for blocklisted clients
Radoslaw Zarzynski [Tue, 16 Aug 2022 12:23:58 +0000 (12:23 +0000)]
crimson/osd: check for blocklisted clients

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 03b6c21b5366ea5d837de3059e70146209dcb335)

2 years agocrimson/osd/pg: PG::on_active_actmap() clear PG_STATE_SNAPTRIM_ERROR 51674/head
Matan Breizman [Mon, 24 Apr 2023 12:56:18 +0000 (12:56 +0000)]
crimson/osd/pg: PG::on_active_actmap() clear PG_STATE_SNAPTRIM_ERROR

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit ad129f39e75ed9a128c5bc2bc52d575a01f1b0ea)

2 years agocrimson/osd/pg: PG::on_active_actmap() fix SnapTrimEvent stop condition
Matan Breizman [Mon, 24 Apr 2023 12:55:45 +0000 (12:55 +0000)]
crimson/osd/pg: PG::on_active_actmap() fix SnapTrimEvent stop condition

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 03ff8f206ab681eb1518e7e73d737bce40ab7a15)

2 years agocrimson/osd/osd_operations/snaptrim_event: Handle missing clone obc
Matan Breizman [Mon, 24 Apr 2023 12:55:08 +0000 (12:55 +0000)]
crimson/osd/osd_operations/snaptrim_event: Handle missing clone obc

The case where resolve_oid is not able to return the clone oid (in order
to load the clone obc) should result in an SNAPTRIM_ERROR and stop the loop
iteration. Without taking this case into account an infinite loop of snap
trim events will be created.
The ENOENT error is delegated upwards to be handled by PG::on_active_actmap().

Fixes: https://tracker.ceph.com/issues/59231
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 5f1f3625908331e164274621f2e0b092efda0452)

2 years agocrimson/osd/osd_operations/snaptrim_event: Add log lines and formatting
Matan Breizman [Mon, 24 Apr 2023 12:53:40 +0000 (12:53 +0000)]
crimson/osd/osd_operations/snaptrim_event: Add log lines and formatting

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 51c70dc95dd6a0ce2d9044a0907e7fa46fc02619)

2 years agotest/librados/snapshots_cxx: Enable OrderSnap for Crimson 51673/head
Matan Breizman [Wed, 15 Mar 2023 16:04:42 +0000 (16:04 +0000)]
test/librados/snapshots_cxx: Enable OrderSnap for Crimson

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit ee4cebedfe61e5181c38d6be153b68cf56b74c61)

2 years agocrimson/osd/osd_operations/client_request: Support librados::OPERATION_ORDERSNAP
Matan Breizman [Wed, 15 Mar 2023 15:52:16 +0000 (15:52 +0000)]
crimson/osd/osd_operations/client_request: Support librados::OPERATION_ORDERSNAP

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 749e0ec558b1fc0415fcc14afee88180d6f3e106)

2 years agocrimson/osd/client_request: Move writer SnapContext initialization
Matan Breizman [Wed, 15 Mar 2023 15:45:27 +0000 (15:45 +0000)]
crimson/osd/client_request: Move writer SnapContext initialization

Move the initialization from PG::do_osd_ops() to ClientRequest::do_process()
in order to allow for ORDERSNAP error checking before do_osd_ops. (See next commit)

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit b5ef10628179d164736cf406c5d5ed9abeb6e945)

2 years agomgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format 51672/head
banuchka [Sat, 15 Apr 2023 20:56:05 +0000 (21:56 +0100)]
mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format

mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format

- fix "error reading metrics for http://****:***/metrics: reading text format failed: text format parsing error in line 2010: second HELP line for metric name "ceph_pool_objects_repaired" error

- rename label name "poolid" to "pool_id" like all other metrics
- change type for the "daemon_health_metrics" to gauge

Fixes: https://tracker.ceph.com/issues/59505
Signed-off-by: banuchka <tyrchenok@gmail.com>
(cherry picked from commit 95d5303e11d6cba5ec4e71716af8931bcc2b9767)

2 years agoMerge pull request #51645 from Matan-B/wip-51448-reef
Matan [Mon, 22 May 2023 15:36:06 +0000 (17:36 +0200)]
Merge pull request #51645 from Matan-B/wip-51448-reef

reef: crimson/osd/scheduler/mclock_scheduler: Fix OSD unable to start

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51643 from Matan-B/wip-50411-reef
Matan [Mon, 22 May 2023 15:35:21 +0000 (17:35 +0200)]
Merge pull request #51643 from Matan-B/wip-50411-reef

reef: crimson/osd: start operations asynchrously

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51642 from Matan-B/wip-51333-reef
Matan [Mon, 22 May 2023 15:34:23 +0000 (17:34 +0200)]
Merge pull request #51642 from Matan-B/wip-51333-reef

reef: crimson/osd/objclass: Fix compilation warning

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51640 from Matan-B/wip-50227-reef
Matan [Mon, 22 May 2023 15:33:08 +0000 (17:33 +0200)]
Merge pull request #51640 from Matan-B/wip-50227-reef

reef: crimson/osd/heartbeat: share osdmap to peers when necessary

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51639 from Matan-B/wip-51202-reef
Matan [Mon, 22 May 2023 15:31:38 +0000 (17:31 +0200)]
Merge pull request #51639 from Matan-B/wip-51202-reef

reef: crimson/osd/pg: make clone object's version consistent with pglog

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51638 from Matan-B/wip-51180-reef
Matan [Mon, 22 May 2023 15:30:39 +0000 (17:30 +0200)]
Merge pull request #51638 from Matan-B/wip-51180-reef

reef: crimson/osd/snaptrim_event: get SnapSetContext from head obc

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51637 from Matan-B/wip-50530-reef
Matan [Mon, 22 May 2023 15:29:23 +0000 (17:29 +0200)]
Merge pull request #51637 from Matan-B/wip-50530-reef

reef: crimson/osd: Handle rollback to head obejct

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51634 from Matan-B/wip-50840-reef
Matan [Mon, 22 May 2023 15:25:34 +0000 (17:25 +0200)]
Merge pull request #51634 from Matan-B/wip-50840-reef

reef: crimson/os/seastore: avoid segment nonce collision

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51633 from Matan-B/wip-50839-reef
Matan [Mon, 22 May 2023 15:24:56 +0000 (17:24 +0200)]
Merge pull request #51633 from Matan-B/wip-50839-reef

reef: crimson/os/seastore: ensure transaction commit order

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51632 from Matan-B/wip-50653-reef
Matan [Mon, 22 May 2023 15:23:53 +0000 (17:23 +0200)]
Merge pull request #51632 from Matan-B/wip-50653-reef

reef: crimson/os/seastore/cache: consider EXIST_CLEAN extents as pending ones

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51631 from Matan-B/wip-50555-reef
Matan [Mon, 22 May 2023 15:18:22 +0000 (17:18 +0200)]
Merge pull request #51631 from Matan-B/wip-50555-reef

reef: crimson/os/seastore: implement get_stat() for RBM

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51630 from Matan-B/wip-50492-reef
Matan [Mon, 22 May 2023 15:17:19 +0000 (17:17 +0200)]
Merge pull request #51630 from Matan-B/wip-50492-reef

reef: crimson/common/log: Fix debug logging macros

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51627 from Matan-B/wip-50602-reef
Matan [Mon, 22 May 2023 15:15:37 +0000 (17:15 +0200)]
Merge pull request #51627 from Matan-B/wip-50602-reef

reef: crimson/os/seastore: don't set INVALID extents to CLEAN when reading extents

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51626 from Matan-B/wip-50556-reef
Matan [Mon, 22 May 2023 15:14:04 +0000 (17:14 +0200)]
Merge pull request #51626 from Matan-B/wip-50556-reef

reef: crimson: fix build error

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #51624 from Matan-B/wip-49116-reef
Matan [Mon, 22 May 2023 15:11:02 +0000 (17:11 +0200)]
Merge pull request #51624 from Matan-B/wip-49116-reef

reef: crimson/osd: Support balance reads

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #51652 from zdover23/wip-doc-2023-05-22-backport-51319-to-reef
Anthony D'Atri [Mon, 22 May 2023 08:55:31 +0000 (04:55 -0400)]
Merge pull request #51652 from zdover23/wip-doc-2023-05-22-backport-51319-to-reef

reef: doc: deprecate the cache tiering

2 years agodoc: deprecate the cache tiering 51652/head
Radosław Zarzyński [Tue, 2 May 2023 15:52:23 +0000 (17:52 +0200)]
doc: deprecate the cache tiering

This topic has been discussed many times; recently at the Dev
Summit of Cephalocon 2023.

This commit is the minial version of the work, contained entirely
within the `doc`. However, likely it will be expanded as there
were ideas like e.g. adding cache tiering back experimental feature
list (Sam) to warn users when deploying a new cluster.

Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
(cherry picked from commit 535b8db33ea03fbab7ef0c4df5251658f956b0c5)

2 years agocephadm: call compile_dir to byte compile zipapp py files 51650/head
John Mulligan [Thu, 11 May 2023 18:20:41 +0000 (14:20 -0400)]
cephadm: call compile_dir to byte compile zipapp py files

Python provides the compileall module to explicitly create pyc files
from py files. If we byte-compile the content of the cephadm zipapp
we get a small speed boost when running the application.

In a not-very-scientific benchmark I found that running with pyc files
almost halved the time to run the help command 50 times.

```
$ time for _ in {0..50}; do  /tmp/cephadm-nobc -h >/dev/null; done

real    0m9.486s
user    0m8.547s
sys     0m0.893s

$ time for _ in {0..50}; do  /tmp/cephadm-bc -h >/dev/null; done

real    0m4.634s
user    0m3.992s
sys     0m0.618s
```

I ran the above a few times on my laptop and the numbers are pretty
consistent.

One thing to note is that zipapp doesn't seem to understand the current
`__pycache__` approach to storing the bytecode files so we have to set
the `legacy` argument for compileall.compile_dir to true. Since
__pycache__ dirs mostly exist to allow multiple bytecode files for
different python versions to coexist, and a zipapp is read-only this
should not be a major issue. Tangentially related, we lose out on the
speedup if you run the zipapp with a version of python other than the
one the zipapp was built with but it continues to function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 06bed38931846749dba71ecbada5e3fe64b0dae2)

2 years agomgr/cephadm: verify mon spec exists before trying to grab from spec store 51612/head
Adam King [Tue, 2 May 2023 22:59:18 +0000 (18:59 -0400)]
mgr/cephadm: verify mon spec exists before trying to grab from spec store

In a normal deployment, we generally shouldn't have
to worry about this. This is more for teuthology
which does deployments in a weird way that can cause
there to be no mon spec in the cluster. Fixes an issue
seen when backporting the mon crush location work
to quincy where an upgrade test would fail with

```
[WRN] UPGRADE_REDEPLOY_DAEMON: Upgrading daemon mon.b on host smithi047 failed.
    Upgrade daemon: mon.b: Service mon not found.
```

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 8aab7beefbb52f47573ad7fce932552ad5c0b2fa)

2 years agomgr/cephadm: lower log level when logging about related services 51614/head
Adam King [Mon, 8 May 2023 14:11:24 +0000 (10:11 -0400)]
mgr/cephadm: lower log level when logging about related services

This was recently added in https://github.com/ceph/ceph/commit/088d2c4205c599a7d4f2ce4de8e2af8e129adac8
and seems to work fine, but logging these things at info
level spams the log as every single service every serve
loop iteration is reporting on whether it has related
daemons. This changes it to only log when it finds
related daemons or when it prefers a host due to those
related daemons, and do both of those at only debug level.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 3693544e56b2480547c21575ab70ec2e67977b94)

2 years agocephadm: require --image is passed to inspect-image 51649/head
Adam King [Fri, 21 Apr 2023 14:07:09 +0000 (10:07 -0400)]
cephadm: require --image is passed to inspect-image

The selection of an image by default was likely unused and
has always been a bit of a flaky thing, especially if multiple
clusters are making use of the host where this is run. It seems
preferable to just require this argument. Additionally, the
command without the image specified is currently untested
and prone to being broken. All uses of inspect-image done
through the cephadm mgr module specify the image.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 110fcb04adf31881f2f41bd0c27f7ce25438f3b9)

2 years agocrimson/osd/scheduler/mclock_scheduler: Fix OSD unable to start 51645/head
Matan Breizman [Thu, 11 May 2023 14:18:46 +0000 (14:18 +0000)]
crimson/osd/scheduler/mclock_scheduler: Fix OSD unable to start

https://github.com/ceph/ceph/pull/49975 Introduced changes to
mclock conf value types which caused the osd to stall while booting.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 5cb12bb4af1f1c9cd3051429d8f6c0c01535ab04)

2 years agocrimson/qa: enable multicore for crimson in teuthology test 51644/head
chunmei [Thu, 20 Apr 2023 22:09:34 +0000 (22:09 +0000)]
crimson/qa: enable multicore for crimson in teuthology test

Signed-off-by: chunmei <chunmei.liu@intel.com>
(cherry picked from commit 179a3e01c5a70596bdecc58e28ef23dbe68b9871)