]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
18 months agolibrbd/object_map: potentially use in-memory object map in DiffRequest
Ilya Dryomov [Sat, 6 Jan 2024 16:05:39 +0000 (17:05 +0100)]
librbd/object_map: potentially use in-memory object map in DiffRequest

If the object map for the end version is around (already loaded in
memory, either due to the end version being a snapshot or due to
exclusive lock being held), use it to run diff-iterate against the
beginning of time.  Since it's the only object map needed in that
case, such calls would be satisfied locally.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0c4bb58c900efa2356ea8526d3432b2922787afa)

18 months agolibrbd/object_map: decouple object map processing in DiffRequest
Ilya Dryomov [Fri, 5 Jan 2024 12:15:54 +0000 (13:15 +0100)]
librbd/object_map: decouple object map processing in DiffRequest

In preparation for potentially using in-memory object map, decouple
object map processing from loading object maps and place the logic in
prepare_for_object_map() and process_object_map().

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

18 months agocommon/bit_vector: fix iterator vs reference constness confusion
Ilya Dryomov [Fri, 5 Jan 2024 11:23:24 +0000 (12:23 +0100)]
common/bit_vector: fix iterator vs reference constness confusion

T (ConstIterator or Iterator) is confused with const T here:
IteratorImpl dereference operator is wrongly overloaded on const
and returns Reference instead of ConstReference for ConstIterator.
This then fails inside bufferlist bowels because Reference is
incompatible with bufferlist::const_iterator.

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

18 months agolibrbd/object_map: make object map in handle_load_object_map() local
Ilya Dryomov [Thu, 4 Jan 2024 10:44:46 +0000 (11:44 +0100)]
librbd/object_map: make object map in handle_load_object_map() local

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

18 months agolibrbd/object_map: don't resize object map in handle_load_object_map()
Ilya Dryomov [Thu, 4 Jan 2024 10:39:20 +0000 (11:39 +0100)]
librbd/object_map: don't resize object map in handle_load_object_map()

Currently it's done in two cases:

- if the loaded object map is larger than expected based on byte size,
  it's truncated to expected number of objects
- in case of deep-copy, if the loaded object map is smaller than diff
  state, it's expanded to get "track the largest of all versions in the
  set" semantics

Both of these cases can be easily dealt with without modifying the
object map.  Being able to process a const object map is needed for
working on in-memory object map which is external to DiffRequest.

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

18 months agocommon/bit_vector: fix IteratorImpl post-increment operator
Ilya Dryomov [Sat, 6 Jan 2024 11:22:35 +0000 (12:22 +0100)]
common/bit_vector: fix IteratorImpl post-increment operator

It's totally broken: instead of returning the current position and
moving to the next position, it returns the next position and doesn't
move anywhere.  Luckily it hasn't been used until now.

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

18 months agolibrbd: drop DiffIterate::diff_object_map() declaration
Ilya Dryomov [Thu, 28 Dec 2023 09:52:11 +0000 (10:52 +0100)]
librbd: drop DiffIterate::diff_object_map() declaration

This is a leftover from commit 2b3a46801d39 ("librbd: switch
diff-iterate API to use new object-map diff helper").

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

18 months agolibrbd: propagate diff-iterate range to parent in fast-diff mode
Ilya Dryomov [Thu, 28 Dec 2023 09:14:18 +0000 (10:14 +0100)]
librbd: propagate diff-iterate range to parent in fast-diff mode

When getting parent diff, pass the overlap-reduced image extent instead
of the entire 0..overlap range to avoid a similar quadratic slowdown on
cloned images.

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

Conflicts:
src/librbd/api/DiffIterate.cc [ ImageArea support not in
  quincy ]

18 months agolibrbd/object_map: add support for ranged diff-iterate
Ilya Dryomov [Wed, 27 Dec 2023 17:07:05 +0000 (18:07 +0100)]
librbd/object_map: add support for ranged diff-iterate

Currently diff-iterate in fast-diff mode is performed on the entire
image no matter what image extent is passed to the API.  Then, unused
diff just gets discarded as DiffIterate ends up querying only objects
that the passed image extent maps to.  This hasn't been an issue for
internal consumers ("rbd du", "rbd diff", etc) because they work on the
entire image, but turns out to lead to quadratic slowdown in some QEMU
use cases.

0..UINT64_MAX range is carved out for deep-copy which is unranged by
definition.  To get effectively unranged diff-iterate, 0..UINT64_MAX-1
range can be used.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0b5ba5fedf704ada74a65108af129eae6baea5c5)

18 months agoinclude/intarith: introduce round_down_to()
Ilya Dryomov [Wed, 27 Dec 2023 15:18:50 +0000 (16:18 +0100)]
include/intarith: introduce round_down_to()

Same as with round_up_to(), d isn't required to be a power of two.

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

18 months agotest/librbd: expand TestMockObjectMapDiffRequest edge case coverage
Ilya Dryomov [Sat, 23 Dec 2023 14:19:09 +0000 (15:19 +0100)]
test/librbd: expand TestMockObjectMapDiffRequest edge case coverage

For each covered edge case or error, run through the following
scenarios:

- where the edge case concerns snap_id_start
- where the edge case concerns snap_id_end
- where the edge case concerns intermediate snapshot and
  snap_id_start == 0 (diff against the beginning of time)
- where the edge case concerns intermediate snapshot and
  snap_id_start != 0 (diff from snapshot)

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

18 months agolibrbd/object_map: allow intermediate snaps to be skipped on diff-iterate
Ilya Dryomov [Sat, 23 Dec 2023 13:47:54 +0000 (14:47 +0100)]
librbd/object_map: allow intermediate snaps to be skipped on diff-iterate

In case of diff-iterate against the beginning of time, the result
depends only on the end version.  Loading and processing object maps
or intermediate snapshots is redundant and can be skipped.

This optimization is made possible by commit be507aaed15f ("librbd:
diff-iterate shouldn't ever report "new hole" against a hole") and, to
a lesser extent, the previous commit.

Getting FastDiffInvalid, LoadObjectMapError and ObjectMapTooSmall to
pass required tweaking not just expectations, but also start/end snap
ids and thus also the meaning of these tests.  This is addressed in the
next commit.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 23c675f04a4b4bb00794bbc59493d9591625a0a7)

18 months agolibrbd/object_map: resurrect diff-iterate behavior when image is shrunk
Ilya Dryomov [Fri, 22 Dec 2023 17:50:20 +0000 (18:50 +0100)]
librbd/object_map: resurrect diff-iterate behavior when image is shrunk

The new "track the largest of all versions in the set, diff state is
only ever grown" semantics introduced in commit 330f2a7bb94f ("librbd:
helper state machine for computing diffs between object-maps") don't
make sense for diff-iterate.  It's a waste because DiffIterate won't
query beyond the end version size -- this is baked into the API.

Limit this behavior to deep-copy and resurrect the original behavior
from 2015 for diff-iterate.

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

18 months agolibrbd/object_map: fix diff from snapshot when image is grown
Ilya Dryomov [Fri, 22 Dec 2023 15:10:12 +0000 (16:10 +0100)]
librbd/object_map: fix diff from snapshot when image is grown

Commit 399a45e11332 ("librbd/object_map: rbd diff between two
snapshots lists entire image content") fixed most of the damage caused
by commit b81cd2460de7 ("librbd/object_map: diff state machine should
track object existence"), but the case of a "resize diff" when diffing
from snapshot was missed.  An area that was freshly allocated in image
resize is the same in principle as a freshly created image and objects
marked OBJECT_EXISTS_CLEAN are no exception.  Diff for such objects in
such an area should be set to DIFF_STATE_DATA_UPDATED, however
currently when diffing from snapshot, it's set to DIFF_STATE_DATA.

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

18 months agolibrbd/object_map: drop bogus if in handle_load_object_map()
Ilya Dryomov [Wed, 20 Dec 2023 11:22:17 +0000 (12:22 +0100)]
librbd/object_map: drop bogus if in handle_load_object_map()

It became redundant with commit b81cd2460de7 ("librbd/object_map: diff
state machine should track object existence") -- it != end_it condition
in the loop is sufficient.

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

18 months agotest/librbd: refactor TestMockObjectMapDiffRequest tests
Ilya Dryomov [Thu, 21 Dec 2023 15:50:31 +0000 (16:50 +0100)]
test/librbd: refactor TestMockObjectMapDiffRequest tests

In preparation for multiple similarly configured MockTestImageCtx
objects being used in a single test, centralize their creation and add
a couple of helpers for setting expectations from a callback.

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

18 months agotest/librbd: improve TestMockObjectMapDiffRequest.InvalidStartSnap
Ilya Dryomov [Thu, 21 Dec 2023 17:08:21 +0000 (18:08 +0100)]
test/librbd: improve TestMockObjectMapDiffRequest.InvalidStartSnap

Use a range where only snap_id_start is invalid.

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

18 months agoMerge pull request #55245 from zdover23/wip-doc-2024-01-19-backport-55168-to-quincy
Anthony D'Atri [Fri, 19 Jan 2024 14:29:00 +0000 (09:29 -0500)]
Merge pull request #55245 from zdover23/wip-doc-2024-01-19-backport-55168-to-quincy

quincy: doc/rados/operations: add EC overhead table to erasure-code.rst

18 months agoMerge pull request #55247 from zdover23/wip-doc-2024-01-19-backport-54915-to-quincy
Anthony D'Atri [Fri, 19 Jan 2024 14:26:23 +0000 (09:26 -0500)]
Merge pull request #55247 from zdover23/wip-doc-2024-01-19-backport-54915-to-quincy

quincy: doc/cephfs/client-auth.rst: correct ``fs authorize cephfs1 /dir1 clie…

18 months agoMerge pull request #54176 from rhcs-dashboard/wip-63309-quincy
Nizamudeen A [Fri, 19 Jan 2024 09:32:10 +0000 (15:02 +0530)]
Merge pull request #54176 from rhcs-dashboard/wip-63309-quincy

quincy: mgr/dashboard: fix rgw port manipulation error in dashboard

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: jliebl-git <NOT@FOUND>
18 months agoMerge pull request #53385 from rhcs-dashboard/wip-62716-quincy
Nizamudeen A [Fri, 19 Jan 2024 09:27:36 +0000 (14:57 +0530)]
Merge pull request #53385 from rhcs-dashboard/wip-62716-quincy

quincy: mgr/dashboard: remove green tick on old password field

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
18 months agodoc/cephfs/client-auth.rst: correct ``fs authorize cephfs1 /dir1 client.x rw`` 55247/head
叶海丰 [Fri, 15 Dec 2023 09:05:38 +0000 (17:05 +0800)]
doc/cephfs/client-auth.rst: correct ``fs authorize cephfs1 /dir1 client.x rw``

(cherry picked from commit 223848a08f58fc20ee4afc008fabbec2d448be68)

18 months agodoc/rados/operations: add EC overhead table to erasure-code.rst 55245/head
Anthony D'Atri [Sat, 13 Jan 2024 17:48:58 +0000 (12:48 -0500)]
doc/rados/operations: add EC overhead table to erasure-code.rst

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

18 months agoMerge pull request #55060 from cbodley/wip-63937-quincy
Casey Bodley [Thu, 18 Jan 2024 15:55:40 +0000 (15:55 +0000)]
Merge pull request #55060 from cbodley/wip-63937-quincy

quincy: test/pybind: replace nose with pytest

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
18 months agoMerge pull request #55232 from zdover23/wip-doc-2024-01-18-backport-55161-to-quincy
Anthony D'Atri [Thu, 18 Jan 2024 14:16:45 +0000 (09:16 -0500)]
Merge pull request #55232 from zdover23/wip-doc-2024-01-18-backport-55161-to-quincy

quincy: doc/rados/operations: Fix off-by-one errors in control.rst

18 months agodoc/rados/operations: Fix off-by-one errors in control.rst 55232/head
tobydarling [Fri, 12 Jan 2024 14:10:13 +0000 (14:10 +0000)]
doc/rados/operations: Fix off-by-one errors in control.rst

Description of examples was off by one

Signed-off-by: tobydarling <anothercoffee@gmail.com>
(cherry picked from commit c636e3ed2d459a063ae6ab0e2dc876db5c58c7e6)

18 months agoMerge pull request #55195 from zdover23/wip-doc-2024-01-16-backport-55169-to-quincy
zdover23 [Wed, 17 Jan 2024 10:47:37 +0000 (20:47 +1000)]
Merge pull request #55195 from zdover23/wip-doc-2024-01-16-backport-55169-to-quincy

quincy: docs/radosgw: edit admin.rst "enable/disable user rate limit"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
18 months agoMerge pull request #55204 from zdover23/wip-doc-2024-01-17-backport-55185-to-quincy
zdover23 [Wed, 17 Jan 2024 07:14:37 +0000 (17:14 +1000)]
Merge pull request #55204 from zdover23/wip-doc-2024-01-17-backport-55185-to-quincy

quincy: admin/doc-requirements: bump Sphinx to 5.0.2

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agoadmin/doc-requirements: bump Sphinx to 5.0.2 55204/head
Nizamudeen A [Tue, 16 Jan 2024 05:21:56 +0000 (10:51 +0530)]
admin/doc-requirements: bump Sphinx to 5.0.2

```
Running Sphinx v4.5.0

Sphinx version error:
The sphinxcontrib.applehelp extension used by this project needs at least Sphinx v5.0; it therefore cannot be built with this version.
```

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

18 months agoMerge pull request #54894 from mchangir/wip-62841-quincy
Milind Changire [Wed, 17 Jan 2024 04:38:02 +0000 (10:08 +0530)]
Merge pull request #54894 from mchangir/wip-62841-quincy

quincy: mgr/snap_schedule: add support for monthly snapshots

18 months agoMerge pull request #54717 from batrick/wip-63675-quincy
Milind Changire [Wed, 17 Jan 2024 03:20:41 +0000 (08:50 +0530)]
Merge pull request #54717 from batrick/wip-63675-quincy

quincy: mds: revert standby-replay trimming changes

18 months agoMerge pull request #53824 from rishabh-d-dave/wip-63097-quincy
Yuri Weinstein [Tue, 16 Jan 2024 19:23:29 +0000 (11:23 -0800)]
Merge pull request #53824 from rishabh-d-dave/wip-63097-quincy

quincy: qa/cephfs: fix ior project build failure

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #54892 from mchangir/wip-63417-quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:51:57 +0000 (07:51 -0800)]
Merge pull request #54892 from mchangir/wip-63417-quincy

quincy: mds: do not simplify fragset

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #55058 from vshankar/wip-63921-quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:50:56 +0000 (07:50 -0800)]
Merge pull request #55058 from vshankar/wip-63921-quincy

quincy: mds: change priority of mds rss perf counter to useful

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #55010 from leonid-s-usov/bp/renameat2/quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:50:20 +0000 (07:50 -0800)]
Merge pull request #55010 from leonid-s-usov/bp/renameat2/quincy

quincy: client/fuse: handle case of renameat2 with non-zero flags

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #54910 from lxbsz/wip-63808
Yuri Weinstein [Tue, 16 Jan 2024 15:49:33 +0000 (07:49 -0800)]
Merge pull request #54910 from lxbsz/wip-63808

quincy: mds: set the loner to true for LOCK_EXCL_XSYN

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #54494 from leonid-s-usov/bp/balance-after-stop/quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:48:10 +0000 (07:48 -0800)]
Merge pull request #54494 from leonid-s-usov/bp/balance-after-stop/quincy

quincy: mds/MDBalancer: ignore queued callbacks if MDS is not active

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #54038 from vshankar/wip-61830-quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:47:21 +0000 (07:47 -0800)]
Merge pull request #54038 from vshankar/wip-61830-quincy

quincy: qa: assign file system affinity for replaced MDS

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #53826 from rishabh-d-dave/wip-63095-quincy
Yuri Weinstein [Tue, 16 Jan 2024 15:46:44 +0000 (07:46 -0800)]
Merge pull request #53826 from rishabh-d-dave/wip-63095-quincy

quincy: qa/cephfs: fix build failure for mdtest project

Reviewed-by: Milind Changire <mchangir@redhat.com>
18 months agoMerge pull request #53857 from rhcs-dashboard/wip-63119-quincy
Pedro Gonzalez Gomez [Tue, 16 Jan 2024 14:46:55 +0000 (15:46 +0100)]
Merge pull request #53857 from rhcs-dashboard/wip-63119-quincy

quincy: qa/workunits: fix test_dashboard_e2e.sh: no spec files found

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
18 months agoMerge pull request #55123 from rhcs-dashboard/wip-59469-quincy
Nizamudeen A [Tue, 16 Jan 2024 14:39:49 +0000 (20:09 +0530)]
Merge pull request #55123 from rhcs-dashboard/wip-59469-quincy

quincy: mgr/dashboard: fix e2e failure related to landing page

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agodocs/radosgw: edit admin.rst "enable/disable user rate limit" 55195/head
Zac Dover [Sat, 13 Jan 2024 18:06:12 +0000 (04:06 +1000)]
docs/radosgw: edit admin.rst "enable/disable user rate limit"

Edit "Enable/Disable User Rate Limit" in doc/radosgw/admin.rst.

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

18 months agoMerge pull request #55164 from zdover23/wip-doc-2024-01-13-backport-54530-to-quincy
Anthony D'Atri [Sat, 13 Jan 2024 03:49:05 +0000 (22:49 -0500)]
Merge pull request #55164 from zdover23/wip-doc-2024-01-13-backport-54530-to-quincy

quincy: ceph-menv:fix typo in README

18 months agoceph-menv:fix typo in README 55164/head
yu.wang [Thu, 16 Nov 2023 17:38:58 +0000 (01:38 +0800)]
ceph-menv:fix typo in README

Signed-off-by: yu.wang <wangyu@wyu.space>
(cherry picked from commit 4efd9317b83eca48c1a92724e7ebe304650fbc04)

18 months agoMerge pull request #55098 from cbodley/wip-63840-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:21:10 +0000 (11:21 -0800)]
Merge pull request #55098 from cbodley/wip-63840-quincy

quincy: qa: remove vstart runner from radosgw_admin task

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #54851 from mkogan1/wip-63752-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:20:23 +0000 (11:20 -0800)]
Merge pull request #54851 from mkogan1/wip-63752-quincy

quincy: rgw: d3n: fix valgrind reported leak related to libaio worker threads

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #54842 from cbodley/wip-63772-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:19:47 +0000 (11:19 -0800)]
Merge pull request #54842 from cbodley/wip-63772-quincy

quincy: rgw/iam: admin/system users ignore iam policy parsing errors

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #54737 from yuvalif/wip-63702-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:19:15 +0000 (11:19 -0800)]
Merge pull request #54737 from yuvalif/wip-63702-quincy

quincy: rgw/kafka/amqp: fix race conditionn in async completion handlers

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #54675 from cbodley/wip-63627-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:18:41 +0000 (11:18 -0800)]
Merge pull request #54675 from cbodley/wip-63627-quincy

quincy: rgw: object lock avoids 32-bit truncation of RetainUntilDate

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #54445 from tobias-urdin/service-token-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:18:12 +0000 (11:18 -0800)]
Merge pull request #54445 from tobias-urdin/service-token-quincy

quincy: rgw/auth: Add service token support for Keystone auth

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #54166 from cbodley/wip-58237-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:17:26 +0000 (11:17 -0800)]
Merge pull request #54166 from cbodley/wip-58237-quincy

quincy: rgw: beast frontend checks for local_endpoint() errors

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #54165 from cbodley/wip-59132-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:16:58 +0000 (11:16 -0800)]
Merge pull request #54165 from cbodley/wip-59132-quincy

quincy: rgw/s3: DeleteObjects response uses correct delete_marker flag

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #54162 from cbodley/wip-61353-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:16:25 +0000 (11:16 -0800)]
Merge pull request #54162 from cbodley/wip-61353-quincy

quincy: rgw/s3: ListObjectsV2 returns correct object owners

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #53763 from cbodley/wip-63044-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:15:47 +0000 (11:15 -0800)]
Merge pull request #53763 from cbodley/wip-63044-quincy

quincy: rgw/keystone: EC2Engine uses reject() for ERR_SIGNATURE_NO_MATCH

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #53473 from k0ste/wip-55700-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:14:51 +0000 (11:14 -0800)]
Merge pull request #53473 from k0ste/wip-55700-quincy

quincy: radosgw-admin: don't crash on --placement-id without --storage-class

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #52795 from cbodley/wip-62310-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:14:13 +0000 (11:14 -0800)]
Merge pull request #52795 from cbodley/wip-62310-quincy

quincy: rgw/crypt: apply rgw_crypt_default_encryption_key by default

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
18 months agoMerge pull request #52049 from trociny/wip-59612-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:13:27 +0000 (11:13 -0800)]
Merge pull request #52049 from trociny/wip-59612-quincy

quincy: rgw/sts: AssumeRole no longer writes to user metadata

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #51976 from trociny/wip-59065-quincy
Yuri Weinstein [Fri, 12 Jan 2024 19:12:23 +0000 (11:12 -0800)]
Merge pull request #51976 from trociny/wip-59065-quincy

quincy: rgw: fix multipart upload object leaks due to re-upload

Reviewed-by: Casey Bodley <cbodley@redhat.com>
18 months agoMerge pull request #55158 from zdover23/wip-doc-2024-01-12-backport-55146-to-quincy
Anthony D'Atri [Fri, 12 Jan 2024 11:58:51 +0000 (06:58 -0500)]
Merge pull request #55158 from zdover23/wip-doc-2024-01-12-backport-55146-to-quincy

quincy: doc/radosgw: edit admin.rst "get user rate limit"

18 months agodoc/radosgw: edit admin.rst "get user rate limit" 55158/head
Zac Dover [Thu, 11 Jan 2024 13:40:25 +0000 (23:40 +1000)]
doc/radosgw: edit admin.rst "get user rate limit"

Edit "Get User Rate Limit" in doc/radosgw/admin.rst.

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

18 months agoMerge pull request #54594 from idryomov/wip-53593-quincy
Prashant [Fri, 12 Jan 2024 02:37:47 +0000 (18:37 -0800)]
Merge pull request #54594 from idryomov/wip-53593-quincy

quincy: osd: don't require RWEXCL lock for stat+write ops.

18 months agoMerge pull request #55151 from zdover23/wip-doc-2024-01-12-backport-55142-to-quincy
Anthony D'Atri [Thu, 11 Jan 2024 20:25:53 +0000 (15:25 -0500)]
Merge pull request #55151 from zdover23/wip-doc-2024-01-12-backport-55142-to-quincy

quincy: doc/radosgw - edit admin.rst "set user rate limit"

18 months agodoc/radosgw - edit admin.rst "set user rate limit" 55151/head
Zac Dover [Thu, 11 Jan 2024 08:32:09 +0000 (18:32 +1000)]
doc/radosgw - edit admin.rst "set user rate limit"

Edit "Set User Rate Limit" in doc/radosgw/admin.rst.

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

18 months agorgw: object lock uses 64-bit encoding for RetainUntilDate 54675/head
Casey Bodley [Wed, 15 Nov 2023 21:24:47 +0000 (16:24 -0500)]
rgw: object lock uses 64-bit encoding for RetainUntilDate

the default encoding of ceph::real_time truncates seconds to uint32_t,
so stores the wrong timestamp for object lock enforcement

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

18 months agoencoding: add round_trip_encode()/decode() for chrono types
Casey Bodley [Wed, 15 Nov 2023 20:29:35 +0000 (15:29 -0500)]
encoding: add round_trip_encode()/decode() for chrono types

the default encodings for chrono types were made to be
backward-compatible with utime_t, so truncated seconds to 32 bits

adds new functions that encode these chrono types using their underlying
representation, which for ceph::real_time and ceph::timespan is
'nanoseconds as uint64_t'

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

18 months agoqa/suites: install pytest for pybind tasks 55060/head
Casey Bodley [Wed, 21 Jun 2023 12:08:58 +0000 (08:08 -0400)]
qa/suites: install pytest for pybind tasks

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

Conflicts:
qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml
does not exist on quincy

18 months agotest/pybind/rgwfs: convert from nose to pytest
Casey Bodley [Tue, 20 Jun 2023 21:06:23 +0000 (17:06 -0400)]
test/pybind/rgwfs: convert from nose to pytest

* use a fixture for setup_test()
* replace nose assertions

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

18 months agotest/pybind/rados: convert from nose to pytest
Casey Bodley [Tue, 20 Jun 2023 20:29:37 +0000 (16:29 -0400)]
test/pybind/rados: convert from nose to pytest

* replace nose.Skiptest with pytest.skip()
* replace nose attrs with @pytest.mark
* replace nose assertions
* replace setUp/tearDown with setup/teardown_method

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

Conflicts:
qa/suites/crimson-rados/basic/tasks/rados_python.yaml
src/test/pybind/test_rados.py
no rollback or wait markers, added snap marker

18 months agotest/pybind/cephfs: convert from nose to pytest
Casey Bodley [Tue, 20 Jun 2023 20:12:14 +0000 (16:12 -0400)]
test/pybind/cephfs: convert from nose to pytest

* use a fixture for setup_test()
* invoke test_cephfs.py with pytest

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

Conflicts:
src/test/pybind/test_cephfs.py
missing https://github.com/ceph/ceph/pull/43546
missing https://github.com/ceph/ceph/pull/46905

18 months agotest/pybind/rbd: convert from nose to pytest
Casey Bodley [Tue, 20 Jun 2023 18:46:40 +0000 (14:46 -0400)]
test/pybind/rbd: convert from nose to pytest

* use fixtures for temporary images and groups
* use pytest.skip instead of nose.SkipTest
* replace setUp/tearDown with setup/teardown_method
* add @pytest.mark.skip_if_crimson
* replace nose assertions

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

Conflicts:
qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests.yaml
does not exist on quincy
qa/suites/crimson-rados/rbd/tasks/rbd_python_api_tests_old_format.yaml
qa/workunits/rbd/test_librbd_python.sh
src/test/pybind/test_rbd.py
skip_if_crimson filter not present on quincy

18 months agoMerge pull request #55129 from zdover23/wip-doc-2024-01-10-backport-55106-to-quincy
Anthony D'Atri [Wed, 10 Jan 2024 15:27:34 +0000 (10:27 -0500)]
Merge pull request #55129 from zdover23/wip-doc-2024-01-10-backport-55106-to-quincy

quincy: doc/rgw: edit admin.rst - rate limit management

18 months agodoc/rgw: edit admin.rst - rate limit management 55129/head
Zac Dover [Tue, 9 Jan 2024 13:42:34 +0000 (23:42 +1000)]
doc/rgw: edit admin.rst - rate limit management

Edit the "Rate Limit Management" section in doc/radosgw/admin.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 47fabe757cff630aaf23a85d268b7406057244e2)

18 months agomgr/dashboard: fix e2e failure related to landing page 55123/head
Pedro Gonzalez Gomez [Tue, 19 Dec 2023 15:48:32 +0000 (16:48 +0100)]
mgr/dashboard: fix e2e failure related to landing page

Fixes: https://tracker.ceph.com/issues/59142
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
(cherry picked from commit 6ec48eeb261bc8aceb1bfa3ee3732acfb0974478)

18 months agoMerge pull request #55092 from cbodley/wip-63965-quincy
Casey Bodley [Tue, 9 Jan 2024 18:07:40 +0000 (18:07 +0000)]
Merge pull request #55092 from cbodley/wip-63965-quincy

quincy: make-dist: don't use --continue option for wget

Reviewed-by: Laura Flores <lflores@redhat.com>
18 months agoMerge pull request #55085 from petrutlucian94/wip-63956-quincy
Casey Bodley [Tue, 9 Jan 2024 14:55:22 +0000 (14:55 +0000)]
Merge pull request #55085 from petrutlucian94/wip-63956-quincy

quincy: win32_deps_build.sh: change Boost URL

Reviewed-by: Guillaume Abrioux <gabrioux@ibm.com>
18 months agoMerge pull request #55025 from idryomov/wip-63607-quincy
Radoslaw Zarzynski [Mon, 8 Jan 2024 21:24:55 +0000 (22:24 +0100)]
Merge pull request #55025 from idryomov/wip-63607-quincy

quincy: librados: make querying pools for selfmanaged snaps reliable

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
18 months agoMerge pull request #54123 from batrick/wip-63276-quincy
Yuri Weinstein [Mon, 8 Jan 2024 20:41:58 +0000 (12:41 -0800)]
Merge pull request #54123 from batrick/wip-63276-quincy

quincy: cmake: use or turn off liburing for rocksdb

Reviewed-by: Laura Flores <lflores@redhat.com>
18 months agoqa: remove vstart runner from radosgw_admin task 55098/head
Ali Maredia [Wed, 22 Nov 2023 15:57:41 +0000 (10:57 -0500)]
qa: remove vstart runner from radosgw_admin task

Fixes: https://tracker.ceph.com/issues/63583
Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit a44fd94b9681441a3251d0988d1ddd159f3733f8)

18 months agoMerge pull request #52461 from batrick/wip-62023-quincy
Yuri Weinstein [Mon, 8 Jan 2024 20:11:54 +0000 (12:11 -0800)]
Merge pull request #52461 from batrick/wip-62023-quincy

quincy: pybind/mgr: reopen database handle on blocklist

Reviewed-by: Laura Flores <lflores@redhat.com>
18 months agoMerge pull request #53973 from Matan-B/wip-63181-quincy
Yuri Weinstein [Mon, 8 Jan 2024 20:08:58 +0000 (12:08 -0800)]
Merge pull request #53973 from Matan-B/wip-63181-quincy

quincy: osd/OSD: introduce reset_purged_snaps_last

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
18 months agoMerge pull request #53718 from leonid-s-usov/bp/msg-wait/quincy
Yuri Weinstein [Mon, 8 Jan 2024 20:08:12 +0000 (12:08 -0800)]
Merge pull request #53718 from leonid-s-usov/bp/msg-wait/quincy

quincy: msg/AsyncMessenger: re-evaluate the stop condition when woken up in 'wait()'

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
18 months agoMerge pull request #52458 from kamoltat/wip-ksirivad-backport-quincy-48209
Yuri Weinstein [Mon, 8 Jan 2024 20:06:50 +0000 (12:06 -0800)]
Merge pull request #52458 from kamoltat/wip-ksirivad-backport-quincy-48209

quincy: osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode

Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
18 months agoMerge pull request #54534 from pdvian/wip-63367-quincy
Radoslaw Zarzynski [Mon, 8 Jan 2024 19:47:23 +0000 (20:47 +0100)]
Merge pull request #54534 from pdvian/wip-63367-quincy

quincy: mgr: remove out&down osd from mgr daemons

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
18 months agoMerge pull request #53886 from sseshasa/wip-63129-quincy
Radoslaw Zarzynski [Mon, 8 Jan 2024 19:39:45 +0000 (20:39 +0100)]
Merge pull request #53886 from sseshasa/wip-63129-quincy

quincy: mon/ConfigMonitor: Show localized name in "config dump --format json" output

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
18 months agomake-dist: don't use --continue option for wget 55092/head
Casey Bodley [Mon, 8 Jan 2024 16:24:18 +0000 (08:24 -0800)]
make-dist: don't use --continue option for wget

the boost jfrog mirror is broken and returns an HTML error page instead
of the archive. the file size of this page is 11534 bytes

when download_from() retries the download from download.ceph.com, the -c
option tells it to resume the download of the existing file. the
resulting boost_1_82_0.tar.bz2 ends up with the correct total file size
of 121325129 bytes, but the first 11534 bytes still correspond to the
HTML from jfrog. that causes the sha256sum mismatch

remove the -c option so that wget fetches the archive in its entirety

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

18 months agoMerge pull request #55083 from zdover23/wip-doc-2024-01-08-backport-55075-to-quincy
Anthony D'Atri [Mon, 8 Jan 2024 13:53:19 +0000 (08:53 -0500)]
Merge pull request #55083 from zdover23/wip-doc-2024-01-08-backport-55075-to-quincy

quincy: doc/radosgw: edit admin.rst - quota

18 months agowin32_deps_build.sh: change Boost URL 55085/head
Lucian Petrut [Mon, 8 Jan 2024 08:44:51 +0000 (08:44 +0000)]
win32_deps_build.sh: change Boost URL

The Boost download URL is broken again [1], we'll switch to a
working mirror.

[1] https://github.com/boostorg/boost/issues/842

Fixes: https://tracker.ceph.com/issues/63952
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 594d1e5e83e3d4c318ab1dd79660670a0852f7e6)

18 months agodoc/radosgw: edit admin.rst - quota 55083/head
Zac Dover [Sun, 7 Jan 2024 12:10:59 +0000 (22:10 +1000)]
doc/radosgw: edit admin.rst - quota

Edit the "Quota Management" section (all of it) in
doc/radosgw/admin.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 22fce3c7a55591f6755355751157bc7231776137)

18 months agoMerge pull request #55072 from zdover23/wip-doc-2024-01-06-backport-55069-to-quincy
zdover23 [Sun, 7 Jan 2024 12:16:07 +0000 (22:16 +1000)]
Merge pull request #55072 from zdover23/wip-doc-2024-01-06-backport-55069-to-quincy

quincy: doc: update rgw admin api req params for get user info

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
18 months agoMerge pull request #55074 from zdover23/wip-doc-2024-10-06-backport-55065-to-quincy
Anthony D'Atri [Fri, 5 Jan 2024 23:37:48 +0000 (18:37 -0500)]
Merge pull request #55074 from zdover23/wip-doc-2024-10-06-backport-55065-to-quincy

quincy: doc/radosrgw: edit admin.rst

18 months agodoc/radosrgw: edit admin.rst 55074/head
Zac Dover [Fri, 5 Jan 2024 11:11:59 +0000 (21:11 +1000)]
doc/radosrgw: edit admin.rst

Edit "Add / Remove Admin Capabilities" in doc/radosgw/admin.rst.

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

18 months agodoc: update rgw admin api req params for get user info 55072/head
Ali Maredia [Fri, 5 Jan 2024 20:13:41 +0000 (20:13 +0000)]
doc: update rgw admin api req params for get user info

Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit e6c58dcd614f71efa4de2f781b8425c480af285e)

18 months agoMerge pull request #54950 from idryomov/wip-53897-quincy
Yuri Weinstein [Fri, 5 Jan 2024 15:35:48 +0000 (07:35 -0800)]
Merge pull request #54950 from idryomov/wip-53897-quincy

quincy: librbd: don't report HOLE_UPDATED when diffing against a hole

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
18 months agoMerge pull request #54090 from mchangir/wip-63241-quincy
Milind Changire [Fri, 5 Jan 2024 05:13:34 +0000 (10:43 +0530)]
Merge pull request #54090 from mchangir/wip-63241-quincy

quincy: mgr/snap_schedule: make fs argument mandatory if more than one filesystem exists

18 months agoqa: use correct imports to resolve fuse_mount and kernel_mount 54090/head
Milind Changire [Mon, 13 Nov 2023 07:26:50 +0000 (12:56 +0530)]
qa: use correct imports to resolve fuse_mount and kernel_mount

Fixes: https://tracker.ceph.com/issues/62706
Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit 994ae0d633843e61eae91f409ec3b0336db71dc3)

18 months agoPendingReleaseNotes: note about mandatory fs argument
Milind Changire [Wed, 16 Aug 2023 10:56:37 +0000 (16:26 +0530)]
PendingReleaseNotes: note about mandatory fs argument

Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit 71c6356f0a7551f3798dc0d5e58d9781736692d6)

18 months agodoc/cephfs: add note about mandatory --fs argument to snap-schedule
Milind Changire [Wed, 2 Aug 2023 08:41:26 +0000 (14:11 +0530)]
doc/cephfs: add note about mandatory --fs argument to snap-schedule

Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit 8c29772fbe60b7b7657fa53d84e24bf74c993dca)

18 months agoqa: add test for mandatory fs argument to snap-schedule commands
Milind Changire [Fri, 18 Aug 2023 17:40:37 +0000 (23:10 +0530)]
qa: add test for mandatory fs argument to snap-schedule commands

Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit 484336e1c3dccd42d594234614936ab1f4b0d35a)

18 months agomgr/snap-schedule: tweaks to keep mypy happy
Milind Changire [Sat, 19 Aug 2023 13:06:59 +0000 (18:36 +0530)]
mgr/snap-schedule: tweaks to keep mypy happy

Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit c208ce9f3ced89755b1180178812ef82aa1a5346)

18 months agomgr/snap_schedule: validate fs before execution
Milind Changire [Wed, 9 Aug 2023 11:20:40 +0000 (16:50 +0530)]
mgr/snap_schedule: validate fs before execution

Stop command execution if there are more than one filesystem and --fs
argument is missing in command-line, i.e. do not use the first fs in the
fsmap if there are more than one filesystem.
This is to ensure that user doesn't mistakenly run the command against
the first fs by missing to specify the desired fs.

Fixes: https://tracker.ceph.com/issues/62218
Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit c612ce06300fa99f750ce99ef68dbd49ced16c34)