]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 months agomds/quiesce-db: keep the db thread alive until shutdown 56202/head
Leonid Usov [Wed, 6 Mar 2024 16:06:50 +0000 (18:06 +0200)]
mds/quiesce-db: keep the db thread alive until shutdown

With the change we can now avoid having to join it during the membership update, preventing potential deadlocks

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 8b896a9e145796119f0451201dc4d53ddac97db0)

16 months agomds/quiesce-db: incorporate review comments
Leonid Usov [Sun, 3 Mar 2024 22:45:07 +0000 (00:45 +0200)]
mds/quiesce-db: incorporate review comments

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 3e012f7ba5b8871d1bcf74d402c58553e18835dd)

16 months agomds/quiesce: declare QuiesceDbPeerListing and QuiesceDbPeerAck
Leonid Usov [Thu, 29 Feb 2024 12:08:18 +0000 (14:08 +0200)]
mds/quiesce: declare QuiesceDbPeerListing and QuiesceDbPeerAck

With these dedicated structs we can fully defer to QuiesceDbEncoding
when encoding/decoding quiesce db messages

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 205fd3388ef0ed3011bb21384e79b34b6a6611ec)

16 months agomds/quiesce: resolve the quiesce cluster at the mds monitor
Leonid Usov [Wed, 28 Feb 2024 13:11:17 +0000 (15:11 +0200)]
mds/quiesce: resolve the quiesce cluster at the mds monitor

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 759925748e8be355a743f6edd106052d5a026dfd)

16 months agoinclude/types: add an I/O helper for std::unordered_map
Leonid Usov [Wed, 28 Feb 2024 12:41:13 +0000 (14:41 +0200)]
include/types: add an I/O helper for std::unordered_map

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 42a5fb3b7562dac09dbf4575558820297317965e)

16 months agomessages: avoid using mutable members in MMDSQuiesce*
Leonid Usov [Tue, 27 Feb 2024 21:25:20 +0000 (23:25 +0200)]
messages: avoid using mutable members in MMDSQuiesce*

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 2fbe40e72e8352a3bf47190d7bc8c80bb60eb7bd)

16 months agomds/quiesce-db: incorporate review comments
Leonid Usov [Tue, 27 Feb 2024 11:36:16 +0000 (13:36 +0200)]
mds/quiesce-db: incorporate review comments

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 9846d35a2ca0fc68c0464657616d259b19273b79)

16 months agodoc/cephfs/fs-volumes: doc fixes and updates
Leonid Usov [Mon, 26 Feb 2024 11:33:18 +0000 (13:33 +0200)]
doc/cephfs/fs-volumes: doc fixes and updates

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 629ffe1d317558a85d59d09e59f0ff117d71338e)

16 months agopybind/mgr: correct type hints for `get_quiesce_leader_info`
Leonid Usov [Thu, 15 Feb 2024 17:16:53 +0000 (19:16 +0200)]
pybind/mgr: correct type hints for `get_quiesce_leader_info`

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 12d687bd4447687f34a43f637f16af72131189da)

16 months agomds/quiesce: only use ACTIVE daemons for the quiesce cluster
Leonid Usov [Thu, 15 Feb 2024 13:15:09 +0000 (15:15 +0200)]
mds/quiesce: only use ACTIVE daemons for the quiesce cluster

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 7e42824478ea24f588dabfaa8e317a99a0cee8cc)

16 months agomds,messages: quiesce db inter-rank messaging
Leonid Usov [Thu, 8 Feb 2024 12:07:28 +0000 (14:07 +0200)]
mds,messages: quiesce db inter-rank messaging

Fixes: https://tracker.ceph.com/issues/63708
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 82f3dbc3ef7b577219f8e1cfaeae4009a809029e)

16 months agomds/quiesce: MDSRankQuiesce - integration of the quiesce db manager
Leonid Usov [Thu, 30 Nov 2023 14:42:22 +0000 (16:42 +0200)]
mds/quiesce: MDSRankQuiesce - integration of the quiesce db manager

* create an instance of the QuiesceDbManager in the rank
* update membership with a new mdsmap
* add an admin socket command for sending requests to the manager

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit edf4bce948477ebd57eaeb9eecdd4beae6a2c6a7)

16 months agodoc/cephfs/fs-volumes: Add info about the quiesce command
Leonid Usov [Mon, 8 Jan 2024 13:08:26 +0000 (15:08 +0200)]
doc/cephfs/fs-volumes: Add info about the quiesce command

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 09e08ac6a43005b09598d936b1faccd15be85067)

16 months agodoc: fixes for local dev builds
Leonid Usov [Mon, 8 Jan 2024 15:37:20 +0000 (17:37 +0200)]
doc: fixes for local dev builds

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 88fb668938f051b723c518a7faa6aa759bc39829)

16 months agomgr/volumes: support for `fs subvolume quiesce`
Leonid Usov [Thu, 4 Jan 2024 17:52:44 +0000 (19:52 +0200)]
mgr/volumes: support for `fs subvolume quiesce`

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit d151876d5bf34bbd7aff2cd8ce6dd2e1dffbc414)

16 months agomgr/volumes: use `volume_exception_to_retval` as a decorator
Leonid Usov [Thu, 4 Jan 2024 17:51:32 +0000 (19:51 +0200)]
mgr/volumes: use `volume_exception_to_retval` as a decorator

When used as a decorator, it saves one indented try-catch block inside the decorated method.
This can be applied to most of the methods in the file, subject to a separate refactoring commit

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 78afc6136118e14e2cf6a5651bfe11777c9881a4)

16 months agopybind/mgr: add a `one-shot` parameter to send_command
Leonid Usov [Sun, 21 Jan 2024 17:37:52 +0000 (19:37 +0200)]
pybind/mgr: add a `one-shot` parameter to send_command

with the parameter set, the message won't be held on to when the remote end resets
or fails to reconnect.

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 9907efd0132197feed4b7cc4e7c17a7ec9104a47)

16 months agomds/quiesce: QuiesceAgent implementation and unit tests
Leonid Usov [Sun, 26 Nov 2023 11:29:11 +0000 (13:29 +0200)]
mds/quiesce: QuiesceAgent implementation and unit tests

QuiesceAgent is the layer that converts updates from the QuiesceDb
into calls to the QuiesceProtocol APIs, and then sends async acks
back to the db manager following the quiesce protocol events.

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 3de0882ad36d4f08f2f171b1ffd263da5a78f00f)

16 months agomds/quiesce: QuiesceDb.h and QuiesceDbManager with tests
Leonid Usov [Tue, 31 Oct 2023 12:46:55 +0000 (14:46 +0200)]
mds/quiesce: QuiesceDb.h and QuiesceDbManager with tests

Quiesce DB is one of the components of the "Consistent Snapshots" epic.
The solution is discussed in a slide deck available for viewing to @redhat users:
https://docs.google.com/presentation/d/1wE3-e9AAme7Q3qmeshUSthJoQGw7-fKTrtS9PsdAIVo/edit?usp=sharing

This commit is focusing on the replicated quiesce database maintained by the MDS rank cluster.
One of the major goals was to design the component in a way that can be easily tested
outside of the MDS infrastructure, which is why the communication layer
has been asbtracted out by introducing just two communication callbacks
that will need to be implemented by the infrastructure.

The most of the component code is delivered in a single coherent commit, along with the uint tests.
Other commits will be dedicated to integration with the MDS infrastructure and other changes
that can't be attributed to the core quiesce db code or its tests.

The quiesce db component is composed of the following major parts/actors:

* QuiesceDbManager is the main actor, implementing both the leader and the replica roles.
  Normally, there will be an instance of the manager per MDS rank, although given the
  decoupling of the infrastructure and the manager, one can run any number of instances
  on a single node, which is how test are working.
* The manager interfaces to the infrastructure via two main APIs with the infrastructure
  that provides communication and cluster configuration (actor 2) and the quiesce db
  client that is responsible for the quiescing of the roots (actor 3)
** ClusterMembership is how manager is configured to be part of a (virtual) cluster.
   This structure will deliver information about other peers, the leader and provide
   two communication APIs: send_listing_to for db replication from the leader to replicas
   and send_ack for reporting quiesce success from the agents.
** Client Interface consists of a QuisceMap notify callback and a dedicated manager
   method to submit asynchronous acks following the agent (rank) quiesce progress.

The API of the quiesce db is described in the slide deck mentioned above. The full scope
of capabilities are encapsulated in a single QuiesceDbRequest structure. This should
simplify the implementation of other components that will have to propagate the functionality
to the administrator user of the volumes plugin.

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 0e61c44238ef5ec1d2b0406600a4ce981b07f87a)

16 months agocommon/Timer.cc: improve debug messages from the timer_thread
Leonid Usov [Mon, 22 Jan 2024 12:37:44 +0000 (14:37 +0200)]
common/Timer.cc: improve debug messages from the timer_thread

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit c1c884212f45b387ba54215b6f12545572066ce2)

16 months agomds: MDSRank.cc: return status from `send_message_mds`
Leonid Usov [Thu, 8 Feb 2024 12:06:30 +0000 (14:06 +0200)]
mds: MDSRank.cc: return status from `send_message_mds`

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 60cd6d117163ffc635ebe9577bf4748d757efcee)

16 months agoencoding: add emplace variants for map dencoders
Leonid Usov [Thu, 8 Feb 2024 11:39:31 +0000 (13:39 +0200)]
encoding: add emplace variants for map dencoders

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 641279c4d0feb1fd18fe0544e40c86c4b0ada38a)

16 months agocommon/Cond: make C_SaferCond private members protected to facilitate inheritance
Leonid Usov [Sun, 3 Dec 2023 08:49:19 +0000 (10:49 +0200)]
common/Cond: make C_SaferCond private members protected to facilitate inheritance

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 71f12805055996d01599023f1caa09a2c95cedc8)

16 months agoqa/tasks/cephfs: give the tests more time to run heavy fs workloads
Leonid Usov [Tue, 24 Oct 2023 13:13:43 +0000 (16:13 +0300)]
qa/tasks/cephfs: give the tests more time to run heavy fs workloads

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit eff0a1d2aeab269e57b2bcf9e9bef48ffa6b5d07)

16 months agoMerge pull request #56116 from rhcs-dashboard/wip-64825-squid
Nizamudeen A [Wed, 13 Mar 2024 06:21:50 +0000 (11:51 +0530)]
Merge pull request #56116 from rhcs-dashboard/wip-64825-squid

squid: mgr/dashboard: fix snap schedule list toggle cols

Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agoMerge pull request #56043 from cbodley/wip-64795-squid
Casey Bodley [Wed, 13 Mar 2024 01:49:22 +0000 (01:49 +0000)]
Merge pull request #56043 from cbodley/wip-64795-squid

squid: rgw: compatibility issues on BucketPublicAccessBlock

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
16 months agoMerge pull request #56036 from cbodley/wip-64768-squid
Casey Bodley [Tue, 12 Mar 2024 17:29:00 +0000 (17:29 +0000)]
Merge pull request #56036 from cbodley/wip-64768-squid

squid: rgw_sigv4: handle '0;' as trailer-chunk boundary

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
16 months agoMerge pull request #56037 from cbodley/wip-64764-squid
Casey Bodley [Tue, 12 Mar 2024 15:41:23 +0000 (15:41 +0000)]
Merge pull request #56037 from cbodley/wip-64764-squid

squid: rgw/beast: Enable SSL session-id reuse speedup mechanism

Reviewed-by: Mark Kogan <mkogan@redhat.com>
16 months agoMerge pull request #55871 from cbodley/wip-64661-squid
Casey Bodley [Tue, 12 Mar 2024 14:14:06 +0000 (14:14 +0000)]
Merge pull request #55871 from cbodley/wip-64661-squid

squid: rgw/auth: do_aws4_auth_completion() catches exceptions

Reviewed-by: Ali Maredia <amaredia@redhat.com>
16 months agoMerge pull request #55876 from cbodley/wip-64664-squid
Casey Bodley [Tue, 12 Mar 2024 14:13:55 +0000 (14:13 +0000)]
Merge pull request #55876 from cbodley/wip-64664-squid

squid: src/rgw: fix for the multipart interface in the WORM function

Reviewed-by: Ali Maredia <amaredia@redhat.com>
16 months agoMerge pull request #56048 from cbodley/wip-qa-rgw-squid-tests
Casey Bodley [Tue, 12 Mar 2024 14:13:43 +0000 (14:13 +0000)]
Merge pull request #56048 from cbodley/wip-qa-rgw-squid-tests

squid: qa/rgw: point rgw test repos at ceph-squid release branch

Reviewed-by: Ali Maredia <amaredia@redhat.com>
16 months agoMerge pull request #55653 from cbodley/wip-64493-squid
Casey Bodley [Tue, 12 Mar 2024 14:13:28 +0000 (14:13 +0000)]
Merge pull request #55653 from cbodley/wip-64493-squid

squid: rgw/user: add 'active' flag to RGWAccessKey

Reviewed-by: Ali Maredia <amaredia@redhat.com>
16 months agoMerge pull request #56009 from ivancich/wip-64773-squid
Casey Bodley [Tue, 12 Mar 2024 12:37:08 +0000 (12:37 +0000)]
Merge pull request #56009 from ivancich/wip-64773-squid

squid: rgw: make rgw-restore-bucket-index more robust

Reviewed-by: Casey Bodley <cbodley@redhat.com>
16 months agoMerge pull request #55816 from rhcs-dashboard/wip-64625-squid
afreen23 [Tue, 12 Mar 2024 10:58:43 +0000 (16:28 +0530)]
Merge pull request #55816 from rhcs-dashboard/wip-64625-squid

squid: mgr/dashboard: fix snap schedule date format

Reviewed-by: Afreen <afreen23.git@gmail.com>
16 months agoMerge pull request #55785 from rhcs-dashboard/wip-64594-squid
Pedro Gonzalez Gomez [Tue, 12 Mar 2024 07:07:41 +0000 (08:07 +0100)]
Merge pull request #55785 from rhcs-dashboard/wip-64594-squid

squid: mgr/dashboard: fix volume creation with multiple hosts

Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agoMerge pull request #56126 from adk3798/wip-64838-squid
Nizamudeen A [Tue, 12 Mar 2024 06:09:14 +0000 (11:39 +0530)]
Merge pull request #56126 from adk3798/wip-64838-squid

squid: mgr/dashboard: debugging make check failure

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agoMerge pull request #56129 from zdover23/wip-doc-2024-03-12-backport-56113-to-squid
Anthony D'Atri [Mon, 11 Mar 2024 23:01:33 +0000 (19:01 -0400)]
Merge pull request #56129 from zdover23/wip-doc-2024-03-12-backport-56113-to-squid

squid: doc/cephadm: Improve multiple files

16 months agoMerge pull request #55941 from galsalomon66/wip-64694-squid
Casey Bodley [Mon, 11 Mar 2024 17:33:09 +0000 (17:33 +0000)]
Merge pull request #55941 from galsalomon66/wip-64694-squid

squid: rgw/s3select: Wip 64694 squid

Reviewed-by: Casey Bodley <cbodley@redhat.com>
16 months agoMerge pull request #55842 from ivancich/wip-squid-manifest
Casey Bodley [Mon, 11 Mar 2024 17:31:03 +0000 (17:31 +0000)]
Merge pull request #55842 from ivancich/wip-squid-manifest

squid: rgw: add new `object manifest` sub-command

Reviewed-by: Casey Bodley <cbodley@redhat.com>
16 months agodoc/cephadm: Improve multiple files 56129/head
Anthony D'Atri [Mon, 11 Mar 2024 07:04:47 +0000 (03:04 -0400)]
doc/cephadm: Improve multiple files

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

16 months agomgr/dashboard: debugging make check failure 56126/head
Nizamudeen A [Mon, 4 Mar 2024 12:52:48 +0000 (18:22 +0530)]
mgr/dashboard: debugging make check failure

Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 958c60d8a74e3c38abe043e7f2cfbe4224cfb411)

16 months agoMerge pull request #56060 from rhcs-dashboard/wip-64808-squid
Pedro Gonzalez Gomez [Mon, 11 Mar 2024 13:10:34 +0000 (14:10 +0100)]
Merge pull request #56060 from rhcs-dashboard/wip-64808-squid

squid: mgr/dashboard: add snap schedule M, Y frequencies

Reviewed-by: afreen23 <NOT@FOUND>
16 months agomgr/dashboard: fix snap schedule list toggle cols 56116/head
Ivo Almeida [Fri, 8 Mar 2024 11:40:41 +0000 (11:40 +0000)]
mgr/dashboard: fix snap schedule list toggle cols

Added isInvisible property to CdColumnTable interface to hide column
from 'toggle columns' drop down checkboxes.

Fixes: https://tracker.ceph.com/issues/64813
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit 1b77baea8dd0781fa897ec6c1f1e06c57a265ed7)

16 months agoMerge pull request #56110 from zdover23/wip-doc-2024-03-11-backport-56091-to-squid
Anthony D'Atri [Mon, 11 Mar 2024 07:06:00 +0000 (03:06 -0400)]
Merge pull request #56110 from zdover23/wip-doc-2024-03-11-backport-56091-to-squid

squid: doc/cephadm: improve host-management.rst

16 months agodoc/cephadm: improve host-management.rst 56110/head
Anthony D'Atri [Sun, 10 Mar 2024 19:49:35 +0000 (15:49 -0400)]
doc/cephadm: improve host-management.rst

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

16 months agoMerge pull request #56072 from zdover23/wip-doc-2024-03-09-backport-56068-to-squid
zdover23 [Sat, 9 Mar 2024 13:38:53 +0000 (23:38 +1000)]
Merge pull request #56072 from zdover23/wip-doc-2024-03-09-backport-56068-to-squid

squid: doc/glossary: add "Crimson" entry

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
16 months agodoc/glossary: add "Crimson" entry 56072/head
Zac Dover [Fri, 8 Mar 2024 17:17:59 +0000 (03:17 +1000)]
doc/glossary: add "Crimson" entry

Add a "Crimson" entry to the glossary.

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

16 months agoMerge pull request #56039 from zdover23/wip-doc-2024-03-08-backport-56010-to-squid
zdover23 [Sat, 9 Mar 2024 07:20:51 +0000 (17:20 +1000)]
Merge pull request #56039 from zdover23/wip-doc-2024-03-08-backport-56010-to-squid

squid: doc/start: add Slack invite link

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
16 months agoMerge pull request #55998 from guits/wip-64749-squid
Adam King [Fri, 8 Mar 2024 19:59:45 +0000 (14:59 -0500)]
Merge pull request #55998 from guits/wip-64749-squid

squid: mgr/node-proxy: handle 'None' statuses returned by RedFish

Reviewed-by: Adam King <adking@redhat.com>
16 months agoMerge pull request #56056 from zdover23/wip-doc-2024-03-08-backport-56045-to-squid
Anthony D'Atri [Fri, 8 Mar 2024 15:59:42 +0000 (10:59 -0500)]
Merge pull request #56056 from zdover23/wip-doc-2024-03-08-backport-56045-to-squid

squid: doc/rados: restore PGcalc tool

16 months agomgr/dashboard: add snap schedule M, Y frequencies 56060/head
Ivo Almeida [Mon, 26 Feb 2024 11:56:18 +0000 (11:56 +0000)]
mgr/dashboard: add snap schedule M, Y frequencies

Added M and Y (month and year) repeat frequencies to snap schedule
create form.

Fixes: https://tracker.ceph.com/issues/64614
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit be3bb09cca7ff8d10a36a59702bb16fd10aba84e)

16 months agodoc/rados: restore PGcalc tool 56056/head
Zac Dover [Thu, 7 Mar 2024 17:29:50 +0000 (03:29 +1000)]
doc/rados: restore PGcalc tool

Restore the PGcalc tool to the documentation suite.

Co-authored-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit eaaf72253123de1a66f163f651046817faa97a1a)

16 months agoqa/rgw: point rgw test repos at ceph-squid release branch 56048/head
Casey Bodley [Thu, 7 Mar 2024 21:08:05 +0000 (16:08 -0500)]
qa/rgw: point rgw test repos at ceph-squid release branch

Signed-off-by: Casey Bodley <cbodley@redhat.com>
16 months agorgw: return 204 on bucket public access block deletion 56043/head
Seena Fallah [Tue, 20 Feb 2024 14:54:06 +0000 (15:54 +0100)]
rgw: return 204 on bucket public access block deletion

According to AWS doc (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html#API_DeletePublicAccessBlock_ResponseSyntax) 204 shall be returned on delete request.

Fixes: https://tracker.ceph.com/issues/64492
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 48a454971c9979dfd9a95cc9619ca864aeda26a5)

16 months agorgw: return 404 on no bucket public access block
Seena Fallah [Mon, 19 Feb 2024 17:23:07 +0000 (18:23 +0100)]
rgw: return 404 on no bucket public access block

Return 404 when there is no public access block on the bucket.

Fixes: https://tracker.ceph.com/issues/64492
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 146d4d98698d48dcbc0f036de0793e0a5f9bb8a6)

16 months agorgw: fix the op in GetBucketPublicAccessBlock verify_permission
Seena Fallah [Mon, 19 Feb 2024 17:20:44 +0000 (18:20 +0100)]
rgw: fix the op in GetBucketPublicAccessBlock verify_permission

s3GetBucketPublicAccessBlock needs to be checked for RGWGetBucketPublicAccessBlock operation.

Fixes: https://tracker.ceph.com/issues/64492
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 54bc5eba002cff04e5c4e25168aeb2408ba100b2)

16 months agorgw: fix root element for GetPublicAccessBlock
Seena Fallah [Mon, 19 Feb 2024 17:17:52 +0000 (18:17 +0100)]
rgw: fix root element for GetPublicAccessBlock

From the AWS doc (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) it needs to be PublicAccessBlockConfiguration.

Fixes: https://tracker.ceph.com/issues/64492
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit db74c10e008caeb7092eb4c1268cbd6f044afa19)

16 months agodoc/start: add Slack invite link 56039/head
Zac Dover [Thu, 7 Mar 2024 03:01:47 +0000 (13:01 +1000)]
doc/start: add Slack invite link

Add a link to the ceph-storage Slack invitation page. Previously the
link went to a plain old "this is the ceph-storage Slack" page that did
not direct the reader to sign up.

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

16 months agoMerge pull request #56011 from zdover23/wip-doc-2024-03-07-backport-55995-to-squid
Anthony D'Atri [Thu, 7 Mar 2024 15:34:54 +0000 (10:34 -0500)]
Merge pull request #56011 from zdover23/wip-doc-2024-03-07-backport-55995-to-squid

squid: doc/architecture: correct typo

16 months agorgw/beast: enablment of SSL session-id reuse speedup mechanism 56037/head
Mark Kogan [Tue, 5 Mar 2024 14:48:56 +0000 (16:48 +0200)]
rgw/beast: enablment of SSL session-id reuse speedup mechanism

Enable the OpenSSL session-id reuse acceleration mechanism that is described in:

https://www.openssl.org/docs/man1.0.2/man3/SSL_CTX_set_session_id_context.html
SSL_CTX_set_session_id_context, SSL_set_session_id_context - set context
within which session can be reused (server side only)

Fixes: https://tracker.ceph.com/issues/64719
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit 6fb4c5d0c0694c9cfdbf0ed729d9f95886a0673f)

16 months agoMerge pull request #55926 from idryomov/wip-pr-55897-squid
Ilya Dryomov [Thu, 7 Mar 2024 14:00:39 +0000 (15:00 +0100)]
Merge pull request #55926 from idryomov/wip-pr-55897-squid

squid: src/seastar: update seastar submodule to fix FTBFS

Reviewed-by: Kefu Chai <kefu.chai@scylladb.com>
16 months agorgw_sigv4: handle '0;' as trailer-chunk boundary 56036/head
matt benjamin [Sat, 2 Mar 2024 18:49:52 +0000 (13:49 -0500)]
rgw_sigv4: handle '0;' as trailer-chunk boundary

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

Signed-off-by: matt benjamin <mbenjamin@redhat.com>
(cherry picked from commit ef1111a17084f6672fd40e366f92f8168a09d0a0)

16 months agoMerge pull request #55992 from rhcs-dashboard/wip-64731-squid
Nizamudeen A [Thu, 7 Mar 2024 04:31:27 +0000 (10:01 +0530)]
Merge pull request #55992 from rhcs-dashboard/wip-64731-squid

squid: mgr/dashboard: fixed cephfs mount command

Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agodoc/architecture: correct typo 56011/head
Zac Dover [Wed, 6 Mar 2024 11:40:10 +0000 (21:40 +1000)]
doc/architecture: correct typo

s/client/clients/ where necessary, and add a link to the glossary.

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

16 months agorgw: make rgw-restore-bucket-index more robust 56009/head
J. Eric Ivancich [Fri, 1 Mar 2024 23:54:12 +0000 (18:54 -0500)]
rgw: make rgw-restore-bucket-index more robust

This experimental tool write a series of temporary files, the combined
size of which is roughly proportional to some combination of the
number of objects in the bucket and their respective sizes. Previously
the script stored all temporary files in /tmp, which may not be
sufficiently large in many cases.

There are now two enhancements. First, using the "-t" command-line
argument, the directory for temporary files can be specified. Second,
if the script consumes all available space on the file system
containing the temporary directory, an error message to that effect is
displayed, so the user understands what corrective action to take.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit a8cf37b6e8e33c53d9be4cc1998d3b2f80700fbd)

16 months agoMerge pull request #56001 from zdover23/wip-doc-2024-03-07-backport-55982-to-squid
Anthony D'Atri [Wed, 6 Mar 2024 22:22:29 +0000 (17:22 -0500)]
Merge pull request #56001 from zdover23/wip-doc-2024-03-07-backport-55982-to-squid

squid: doc/dev: edit teuthology workflow

16 months agodoc/dev: edit teuthology workflow 56001/head
Zac Dover [Wed, 6 Mar 2024 07:15:20 +0000 (17:15 +1000)]
doc/dev: edit teuthology workflow

Improve a couple of sentences in
doc/dev/developer_guide_testing_integration_tests/tests-integration-testing-teutology-workflow.rst.

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

16 months agomgr/node-proxy: handle 'None' statuses returned by RedFish 55998/head
Guillaume Abrioux [Tue, 5 Mar 2024 10:05:18 +0000 (10:05 +0000)]
mgr/node-proxy: handle 'None' statuses returned by RedFish

Looks like RedFish might return 'None' values for some attributes.

for instance:

```
[root@ceph-node-01 ~]# curl -s -k -X GET https://169.254.1.1/redfish/v1/Systems/System.Embedded.1/Storage/AHCI.SL.6-1/Drives/Disk.Direct.0-0:AHCI.SL.6-1 -H "X-Auth-Token: 3264251c28191fa5e7c9ebec49ef90fc"  | jq .Status
{
  "Health": "OK",
  "HealthRollup": "OK",
  "State": "Enabled"
}
[root@ceph-node-01 ~]# curl -s -k -X GET https://169.254.1.1/redfish/v1/Systems/System.Embedded.1/Storage/NonRAID.Slot.2-1/Drives/Disk.Bay.0:Enclosure.Internal.0-1:NonRAID.Slot.2-1 -H "X-Auth-Token: 3264251c28191fa5e7c9ebec49ef90fc" | jq .Status
{
  "Health": null,
  "HealthRollup": null,
  "State": "Enabled"
}
[root@ceph-node-01 ~]#
```

Although this seems to be a bug from RedFish, we need to handle
the case when it happens otherwise it makes the mgr orchestrator module
throw an error.

The idea here is to create a new status "unknown" when we can't fetch the
real status of a component.

Fixes: https://tracker.ceph.com/issues/64712
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit cc279a3dd23d9219e508b80512f363a4ae577392)

16 months agomgr/dashboard: fixed cephfs mount command 55992/head
Ivo Almeida [Tue, 5 Mar 2024 12:37:21 +0000 (12:37 +0000)]
mgr/dashboard: fixed cephfs mount command

Fixes: https://tracker.ceph.com/issues/64716
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit eeb09b19581d353fb68f86bb4c2871f026a35c29)

16 months agousing the it.length() for segment processing. 55941/head
Gal Salomon [Sun, 3 Mar 2024 12:44:49 +0000 (14:44 +0200)]
using the it.length() for segment processing.
s3select submodule

Signed-off-by: Gal Salomon <gal.salomon@gmail.com>
(cherry picked from commit 8fedb30c1bd6cd393becf88f8d2fe07ea9c6040c)

16 months agoadd a fix related to RGW crash upon compression (assert is replaced by exception)
Gal Salomon [Fri, 1 Mar 2024 12:48:13 +0000 (14:48 +0200)]
add a fix related to RGW crash upon compression (assert is replaced by exception)

Signed-off-by: Gal Salomon <gal.salomon@gmail.com>
(cherry picked from commit 9d8f5d7132741c996a3f66d62a8ec9e9a34fa0c0)

16 months agoadding recent update: json-output and more
Gal Salomon [Tue, 13 Feb 2024 15:47:26 +0000 (17:47 +0200)]
adding recent update: json-output and more

Signed-off-by: Gal Salomon <gal.salomon@gmail.com>
(cherry picked from commit f50385ef71a3d0ac175018cb070dbf2e767e6ed3)

16 months agoMerge pull request #55935 from zdover23/wip-doc-2024-03-05-backport-55918-to-squid
Anthony D'Atri [Tue, 5 Mar 2024 00:53:54 +0000 (19:53 -0500)]
Merge pull request #55935 from zdover23/wip-doc-2024-03-05-backport-55918-to-squid

squid: doc/rados: link to pg setting commands

16 months agoMerge pull request #55932 from zdover23/wip-doc-2024-03-05-backport-55924-to-squid
Anthony D'Atri [Tue, 5 Mar 2024 00:52:44 +0000 (19:52 -0500)]
Merge pull request #55932 from zdover23/wip-doc-2024-03-05-backport-55924-to-squid

squid: doc/architecture: remove pleonasm

16 months agodoc/rados: link to pg setting commands 55935/head
Zac Dover [Mon, 4 Mar 2024 10:41:16 +0000 (20:41 +1000)]
doc/rados: link to pg setting commands

Link to the instructions for manually setting the number of PGs per
pool, from the mention of placement groups. These instructions are
included here in response to a request from Ronen Friedman on the
occasion of the removal of links to the PGcalc (see
https://github.com/ceph/ceph/pull/55899#pullrequestreview-1912940118).

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

16 months agodoc/architecture: remove pleonasm 55932/head
Zac Dover [Mon, 4 Mar 2024 13:41:20 +0000 (23:41 +1000)]
doc/architecture: remove pleonasm

Remove the word "detailed" in a sentence immediately following a
sentence containing the word "detail".

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

16 months agoMerge pull request #55893 from petrutlucian94/wip-64675-squid
Ilya Dryomov [Mon, 4 Mar 2024 18:29:38 +0000 (19:29 +0100)]
Merge pull request #55893 from petrutlucian94/wip-64675-squid

squid: rbd-wnbd: use a single daemon process per host

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
16 months agosrc/seastar: update seastar submodule to fix FTBFS 55926/head
Matan Breizman [Sun, 3 Mar 2024 09:45:56 +0000 (09:45 +0000)]
src/seastar: update seastar submodule to fix FTBFS

See: https://github.com/ceph/seastar/commit/d382f247629a7349afc0cea495a1cd0502dc0b22

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

16 months agoMerge pull request #55873 from cbodley/wip-64663-squid
Casey Bodley [Mon, 4 Mar 2024 17:25:45 +0000 (17:25 +0000)]
Merge pull request #55873 from cbodley/wip-64663-squid

squid: unittest-seastar-socket: tolerate connection_reset in test_unexpected_down

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
16 months agoMerge pull request #55907 from idryomov/wip-64589-squid
Ilya Dryomov [Mon, 4 Mar 2024 17:04:00 +0000 (18:04 +0100)]
Merge pull request #55907 from idryomov/wip-64589-squid

squid: crimson: update seastar submodule to fix prometheus build error

Reviewed-by: Samuel Just <sjust@redhat.com>
16 months agocrimson/.../interruptible_future: remove SEASTAR_CONCEPT guard 55907/head
Samuel Just [Fri, 1 Mar 2024 20:00:32 +0000 (20:00 +0000)]
crimson/.../interruptible_future: remove SEASTAR_CONCEPT guard

Seastar commit 8dc3398a removed this macro, no longer necessary.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 2806cdb15109c391c828b3419e9d141991d4003d)

16 months agosrc/seastar: update seastar submodule to fix prometheus build failure
Samuel Just [Fri, 1 Mar 2024 19:10:00 +0000 (19:10 +0000)]
src/seastar: update seastar submodule to fix prometheus build failure

Fixes: https://tracker.ceph.com/issues/64589
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 7f42b1d0b7295c2b62d204d14ebe38b6654ba0ac)

16 months agoMerge pull request #55900 from zdover23/wip-doc-2024-03-03-backport-55899-to-squid
Anthony D'Atri [Sun, 3 Mar 2024 13:07:35 +0000 (08:07 -0500)]
Merge pull request #55900 from zdover23/wip-doc-2024-03-03-backport-55899-to-squid

squid: doc/rados: remove PGcalc from docs

16 months agodoc/rados: remove PGcalc from docs 55900/head
Zac Dover [Sun, 3 Mar 2024 10:28:00 +0000 (20:28 +1000)]
doc/rados: remove PGcalc from docs

Remove mention of the "PG calc" tool from the documentation. I have
removed all mention of this in one fell swoop to help posterity restore
mention of this tool if we decide we need to do so.

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

16 months agorbd-wnbd: use the right AdminSocket instance 55893/head
Lucian Petrut [Tue, 26 Sep 2023 11:52:31 +0000 (11:52 +0000)]
rbd-wnbd: use the right AdminSocket instance

The rbd-wnbd daemon currently caches one rados context per cluster.
However, it's registering hooks against the global context
admin socket, which won't be available. For this reason,
the "rbd-wnbd stats" command no longer works.

To address this issue, we'll ensure that rbd-wnbd sets command hooks
against the right admin socket instance, leveraging the image
context.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit a14003c492ad26ed4eef13e3d73e42212dd2bd93)

16 months agorbd-wnbd: adjust admin socket hook to accept image path
Lucian Petrut [Tue, 26 Sep 2023 08:00:19 +0000 (08:00 +0000)]
rbd-wnbd: adjust admin socket hook to accept image path

For each rbd-wnbd mapping we set an admin socket hook that can
be used to retrieve IO stats.

Now that the same daemon is reused for multiple mappings, we need
to distinguish the images when receiving a "stats" request.

For this reason, we'll add the image identifier to "wnbd stats"
admin socket commands.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 83d58ab307063b4a37f3a297af2b0e6ba27e84dc)

16 months agoqa: update rbd-wnbd test, retrying image rm operations
Lucian Petrut [Wed, 2 Aug 2023 09:50:37 +0000 (09:50 +0000)]
qa: update rbd-wnbd test, retrying image rm operations

The "rbd-wnbd unmap" command is currently telling the WNBD driver
to remove the mapping without contacting the rbd-wnbd daemon
and waiting for it to perform its cleanup.

For this reason, attempting to delete the image immediately after
unmapping it can fail due to existing watchers.

As a temporary solution, we'll retry the image remove operation.
At a later time, we'll update the "rbd-wnbd unmap" command to go
through the rbd-wnbd daemon, ensuring that all the necessary
cleanup is performed before returning.

While at it, we're dropping a redundant LOG.error call so that we
won't print expected exceptions.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 0d73d31b6f92d45c602d704b39d11d11536b0a93)

16 months agorbd-wnbd: update registry settings handling
Lucian Petrut [Wed, 19 Jul 2023 12:32:40 +0000 (12:32 +0000)]
rbd-wnbd: update registry settings handling

This commit will store the mapping config in the Windows registry
only after initializing the mapping. This ensures that we aren't
replacing the registry settings for already mapped images.

We'll also check if the registry setting was added by us before
cleaning it up.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 5f9c69d53c522f3b939c91c974cedb9fdd085a60)

16 months agorbd-wnbd: use one daemon process per host
Lucian Petrut [Mon, 12 Jun 2023 13:16:39 +0000 (13:16 +0000)]
rbd-wnbd: use one daemon process per host

We're currently using one rbd-wnbd process per image mapping.
Since OSD connections aren't shared across those processes,
we end up with an excessive amount of TCP sessions, potentially
exceeding Windows limits:
https://ask.cloudbase.it/question/3598/ceph-for-windows-tcp-session-count/

In order to improve rbd-wnbd's scalability, we're going to use
a single process per host (unless "-f" is passed when mapping the
image, in which case the daemon will run as part of the same
process). This allows OSD sessions to be shared across image
mappings.

Another advantage is that the "ceph-rbd" service starts faster,
especially when having a large number of image mappings.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 661c55002db8bc91037d8150278dacb9a1cfe46b)

16 months agorbd-wnbd: introduce RbdMapping class
Lucian Petrut [Mon, 12 Jun 2023 08:00:40 +0000 (08:00 +0000)]
rbd-wnbd: introduce RbdMapping class

We're moving most of the WNBD mapping handling to a separate
class called RbdMapping. This simplifies cleanup and makes it
easier to reuse.

The WnbdHandler class covers WNBD specific operations and IO
callbacks while the RbdMapping wrapper will take care of RBD
operations.

A subsequent change will make use of it while switching from
one process per mapping to a single process per host.

While at it, we're also moving the rbd-wnbd config helpers
to separate files.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 96e8850ff3b6661c86eb361051282c8d66ca2031)

16 months agoMerge pull request #55879 from zdover23/wip-doc-2024-03-02-backport-55869-to-squid
Anthony D'Atri [Fri, 1 Mar 2024 23:59:06 +0000 (18:59 -0500)]
Merge pull request #55879 from zdover23/wip-doc-2024-03-02-backport-55869-to-squid

squid: doc/install: add manual RADOSGW install procedure

16 months agodoc/install: add manual RADOSGW install procedure 55879/head
Zac Dover [Fri, 1 Mar 2024 12:11:14 +0000 (22:11 +1000)]
doc/install: add manual RADOSGW install procedure

Add a manual RADOSGW installation procedure to
doc/install/manual-deployment.rst. This procedure was developed by Janne
Johansson and reported to the ceph-users mailing list on 29 Jan 2024
here: https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/message/LB3YRIKAPOHXYCW7MKLVUJPYWYRQVARU/

Co-authored-by: Janne Johansson <icepic.dz@gmail.com>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 565bc9503838906995fa48f59debcd2843775b18)

16 months agorgw: remove unused object lock stuff from CompleteMultipart 55876/head
Casey Bodley [Fri, 1 Mar 2024 15:15:27 +0000 (10:15 -0500)]
rgw: remove unused object lock stuff from CompleteMultipart

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 1576c1f5b98ecc838b47a916199e3cae8c925acb)

16 months agorgw: don't overwrite target attrs checking mpu info
Matt Benjamin [Wed, 13 Dec 2023 18:53:46 +0000 (13:53 -0500)]
rgw: don't overwrite target attrs checking mpu info

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 97445bb6ea24275de5eb050b55207cad237c81f8)

16 months agosrc/rgw: fix for the multipart interface in the WORM function
daijufang [Mon, 4 Dec 2023 07:46:29 +0000 (07:46 +0000)]
src/rgw: fix for the multipart interface in the WORM function

1. Save the WORM configuration information in the initialization chunk information for use when merging chunks.
2. Support x-amz-bypass-governance-retention when merging chunks.

Fixes: https://tracker.ceph.com/issues/63724
Signed-off-by: daijufang <daijufang_yewu@cmss.chinamobile.com>
(cherry picked from commit 3a65a0ad14fb3c4d836441a417d594826fb6e711)

16 months agounittest-seastar-socket: tolerate connection_reset in test_unexpected_down 55873/head
Samuel Just [Fri, 16 Feb 2024 21:40:17 +0000 (21:40 +0000)]
unittest-seastar-socket: tolerate connection_reset in test_unexpected_down

Fixes: https://tracker.ceph.com/issues/64457
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit e84518e63806ca5beef57d995923dcd3698276e9)

16 months agounittest-seastar-socket: debug to error on unexpected return from dispatch_rw_bounded
Samuel Just [Fri, 16 Feb 2024 00:04:05 +0000 (00:04 +0000)]
unittest-seastar-socket: debug to error on unexpected return from dispatch_rw_bounded

Related: https://tracker.ceph.com/issues/64457
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 66969c07dc0cd5e0f01685ec19de26dae09279f5)

16 months agorgw/auth: do_aws4_auth_completion() catches exceptions 55871/head
Casey Bodley [Fri, 23 Feb 2024 14:02:29 +0000 (09:02 -0500)]
rgw/auth: do_aws4_auth_completion() catches exceptions

AWSv4ComplMulti::complete() throws exceptions on errors, but nothing
catches these

Fixes: https://tracker.ceph.com/issues/64549
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit f953c419d6992c8124f3e123ae8030d6a45ffd1a)

16 months agoMerge pull request #55826 from afreen23/wip-64639-squid
Nizamudeen A [Fri, 1 Mar 2024 05:14:14 +0000 (10:44 +0530)]
Merge pull request #55826 from afreen23/wip-64639-squid

squid: mgr/dashboard: fix roles page for roles without policies

Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agoMerge pull request #55851 from zdover23/wip-doc-2024-03-01-backport-55834-to-squid
Anthony D'Atri [Fri, 1 Mar 2024 01:35:08 +0000 (20:35 -0500)]
Merge pull request #55851 from zdover23/wip-doc-2024-03-01-backport-55834-to-squid

squid: doc/dev: edit internals.rst